data.complex.moduleMathlib.Data.Complex.Module

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2020 Alexander Bentkamp, Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 -/
-import Algebra.Order.Smul
+import Algebra.Order.Module.OrderedSMul
 import Data.Complex.Basic
 import Data.Fin.VecNotation
 import FieldTheory.Tower
Diff
@@ -237,11 +237,11 @@ instance (priority := 900) Module.complexToReal (E : Type _) [AddCommGroup E] [M
 #align module.complex_to_real Module.complexToReal
 -/
 
-#print Module.real_complex_tower /-
-instance Module.real_complex_tower (E : Type _) [AddCommGroup E] [Module ℂ E] :
+#print IsScalarTower.complexToReal /-
+instance IsScalarTower.complexToReal (E : Type _) [AddCommGroup E] [Module ℂ E] :
     IsScalarTower ℝ ℂ E :=
   RestrictScalars.isScalarTower ℝ ℂ E
-#align module.real_complex_tower Module.real_complex_tower
+#align module.real_complex_tower IsScalarTower.complexToReal
 -/
 
 #print Complex.coe_smul /-
Diff
@@ -3,11 +3,11 @@ Copyright (c) 2020 Alexander Bentkamp, Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 -/
-import Mathbin.Algebra.Order.Smul
-import Mathbin.Data.Complex.Basic
-import Mathbin.Data.Fin.VecNotation
-import Mathbin.FieldTheory.Tower
-import Mathbin.Algebra.CharP.Invertible
+import Algebra.Order.Smul
+import Data.Complex.Basic
+import Data.Fin.VecNotation
+import FieldTheory.Tower
+import Algebra.CharP.Invertible
 
 #align_import data.complex.module from "leanprover-community/mathlib"@"fe8d0ff42c3c24d789f491dc2622b6cac3d61564"
 
Diff
@@ -92,7 +92,7 @@ instance [SMul R ℝ] [SMul Rᵐᵒᵖ ℝ] [IsCentralScalar R ℝ] : IsCentralS
 instance [Monoid R] [MulAction R ℝ] : MulAction R ℂ
     where
   one_smul x := by ext <;> simp [smul_re, smul_im, one_smul]
-  mul_smul r s x := by ext <;> simp [smul_re, smul_im, mul_smul]
+  hMul_smul r s x := by ext <;> simp [smul_re, smul_im, mul_smul]
 
 instance [DistribSMul R ℝ] : DistribSMul R ℂ
     where
Diff
@@ -152,11 +152,9 @@ section
 
 open scoped ComplexOrder
 
-#print Complex.orderedSMul /-
 protected theorem orderedSMul : OrderedSMul ℝ ℂ :=
   OrderedSMul.mk' fun a b r hab hr => ⟨by simp [hr, hab.1.le], by simp [hab.2]⟩
 #align complex.ordered_smul Complex.orderedSMul
--/
 
 scoped[ComplexOrder] attribute [instance] Complex.orderedSMul
 
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2020 Alexander Bentkamp, Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
-
-! This file was ported from Lean 3 source module data.complex.module
-! leanprover-community/mathlib commit fe8d0ff42c3c24d789f491dc2622b6cac3d61564
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Order.Smul
 import Mathbin.Data.Complex.Basic
@@ -14,6 +9,8 @@ import Mathbin.Data.Fin.VecNotation
 import Mathbin.FieldTheory.Tower
 import Mathbin.Algebra.CharP.Invertible
 
+#align_import data.complex.module from "leanprover-community/mathlib"@"fe8d0ff42c3c24d789f491dc2622b6cac3d61564"
+
 /-!
 # Complex number as a vector space over `ℝ`
 
Diff
@@ -369,7 +369,7 @@ theorem conjAe_coe : ⇑conjAe = conj :=
 theorem toMatrix_conjAe :
     LinearMap.toMatrix basisOneI basisOneI conjAe.toLinearMap = !![1, 0; 0, -1] :=
   by
-  ext (i j)
+  ext i j
   simp [LinearMap.toMatrix_apply]
   fin_cases i <;> fin_cases j <;> simp
 #align complex.to_matrix_conj_ae Complex.toMatrix_conjAe
Diff
@@ -64,16 +64,22 @@ variable [SMul R ℝ]
 `restrict_scalars.module ℝ ℂ ℂ = complex.module` definitionally. -/
 instance : SMul R ℂ where smul r x := ⟨r • x.re - 0 * x.im, r • x.im + 0 * x.re⟩
 
+#print Complex.smul_re /-
 theorem smul_re (r : R) (z : ℂ) : (r • z).re = r • z.re := by simp [(· • ·)]
 #align complex.smul_re Complex.smul_re
+-/
 
+#print Complex.smul_im /-
 theorem smul_im (r : R) (z : ℂ) : (r • z).im = r • z.im := by simp [(· • ·)]
 #align complex.smul_im Complex.smul_im
+-/
 
+#print Complex.real_smul /-
 @[simp]
 theorem real_smul {x : ℝ} {z : ℂ} : x • z = x * z :=
   rfl
 #align complex.real_smul Complex.real_smul
+-/
 
 end
 
@@ -113,22 +119,27 @@ instance [CommSemiring R] [Algebra R ℝ] : Algebra R ℂ :=
 instance : StarModule ℝ ℂ :=
   ⟨fun r x => by simp only [star_def, star_trivial, real_smul, map_mul, conj_of_real]⟩
 
+#print Complex.coe_algebraMap /-
 @[simp]
 theorem coe_algebraMap : (algebraMap ℝ ℂ : ℝ → ℂ) = coe :=
   rfl
 #align complex.coe_algebra_map Complex.coe_algebraMap
+-/
 
 section
 
 variable {A : Type _} [Semiring A] [Algebra ℝ A]
 
+#print AlgHom.map_coe_real_complex /-
 /-- We need this lemma since `complex.coe_algebra_map` diverts the simp-normal form away from
 `alg_hom.commutes`. -/
 @[simp]
 theorem AlgHom.map_coe_real_complex (f : ℂ →ₐ[ℝ] A) (x : ℝ) : f x = algebraMap ℝ A x :=
   f.commutes x
 #align alg_hom.map_coe_real_complex AlgHom.map_coe_real_complex
+-/
 
+#print Complex.algHom_ext /-
 /-- Two `ℝ`-algebra homomorphisms from ℂ are equal if they agree on `complex.I`. -/
 @[ext]
 theorem algHom_ext ⦃f g : ℂ →ₐ[ℝ] A⦄ (h : f I = g I) : f = g :=
@@ -136,6 +147,7 @@ theorem algHom_ext ⦃f g : ℂ →ₐ[ℝ] A⦄ (h : f I = g I) : f = g :=
   ext ⟨x, y⟩
   simp only [mk_eq_add_mul_I, AlgHom.map_add, AlgHom.map_coe_real_complex, AlgHom.map_mul, h]
 #align complex.alg_hom_ext Complex.algHom_ext
+-/
 
 end
 
@@ -143,9 +155,11 @@ section
 
 open scoped ComplexOrder
 
+#print Complex.orderedSMul /-
 protected theorem orderedSMul : OrderedSMul ℝ ℂ :=
   OrderedSMul.mk' fun a b r hab hr => ⟨by simp [hr, hab.1.le], by simp [hab.2]⟩
 #align complex.ordered_smul Complex.orderedSMul
+-/
 
 scoped[ComplexOrder] attribute [instance] Complex.orderedSMul
 
@@ -153,6 +167,7 @@ end
 
 open Submodule FiniteDimensional
 
+#print Complex.basisOneI /-
 /-- `ℂ` has a basis over `ℝ` given by `1` and `I`. -/
 noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
   Basis.ofEquivFun
@@ -164,12 +179,16 @@ noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
       -- why does `simp` not know how to apply `smul_cons`, which is a `@[simp]` lemma, here?
       map_smul' := fun c z => by simp [Matrix.smul_cons c z.re, Matrix.smul_cons c z.im] }
 #align complex.basis_one_I Complex.basisOneI
+-/
 
+#print Complex.coe_basisOneI_repr /-
 @[simp]
 theorem coe_basisOneI_repr (z : ℂ) : ⇑(basisOneI.repr z) = ![z.re, z.im] :=
   rfl
 #align complex.coe_basis_one_I_repr Complex.coe_basisOneI_repr
+-/
 
+#print Complex.coe_basisOneI /-
 @[simp]
 theorem coe_basisOneI : ⇑basisOneI = ![1, I] :=
   funext fun i =>
@@ -180,28 +199,37 @@ theorem coe_basisOneI : ⇑basisOneI = ![1, I] :=
             Matrix.cons_val_one, Matrix.head_cons, Fin.one_eq_zero_iff, Ne.def, not_false_iff, I_re,
             Nat.succ_succ_ne_one, one_im, I_im, one_re, Finsupp.single_eq_same, Fin.zero_eq_one_iff]
 #align complex.coe_basis_one_I Complex.coe_basisOneI
+-/
 
 instance : FiniteDimensional ℝ ℂ :=
   of_fintype_basis basisOneI
 
+#print Complex.finrank_real_complex /-
 @[simp]
 theorem finrank_real_complex : FiniteDimensional.finrank ℝ ℂ = 2 := by
   rw [finrank_eq_card_basis basis_one_I, Fintype.card_fin]
 #align complex.finrank_real_complex Complex.finrank_real_complex
+-/
 
+#print Complex.rank_real_complex /-
 @[simp]
 theorem rank_real_complex : Module.rank ℝ ℂ = 2 := by simp [← finrank_eq_rank, finrank_real_complex]
 #align complex.rank_real_complex Complex.rank_real_complex
+-/
 
+#print Complex.rank_real_complex' /-
 theorem rank_real_complex'.{u} : Cardinal.lift.{u} (Module.rank ℝ ℂ) = 2 := by
   simp [← finrank_eq_rank, finrank_real_complex, bit0]
 #align complex.rank_real_complex' Complex.rank_real_complex'
+-/
 
+#print Complex.finrank_real_complex_fact /-
 /-- `fact` version of the dimension of `ℂ` over `ℝ`, locally useful in the definition of the
 circle. -/
 theorem finrank_real_complex_fact : Fact (finrank ℝ ℂ = 2) :=
   ⟨finrank_real_complex⟩
 #align complex.finrank_real_complex_fact Complex.finrank_real_complex_fact
+-/
 
 end Complex
 
@@ -214,16 +242,20 @@ instance (priority := 900) Module.complexToReal (E : Type _) [AddCommGroup E] [M
 #align module.complex_to_real Module.complexToReal
 -/
 
+#print Module.real_complex_tower /-
 instance Module.real_complex_tower (E : Type _) [AddCommGroup E] [Module ℂ E] :
     IsScalarTower ℝ ℂ E :=
   RestrictScalars.isScalarTower ℝ ℂ E
 #align module.real_complex_tower Module.real_complex_tower
+-/
 
+#print Complex.coe_smul /-
 @[simp, norm_cast]
 theorem Complex.coe_smul {E : Type _} [AddCommGroup E] [Module ℂ E] (x : ℝ) (y : E) :
     (x : ℂ) • y = x • y :=
   rfl
 #align complex.coe_smul Complex.coe_smul
+-/
 
 #print SMulCommClass.complexToReal /-
 /-- The scalar action of `ℝ` on a `ℂ`-module `E` induced by `module.complex_to_real` commutes with
@@ -234,16 +266,20 @@ instance (priority := 900) SMulCommClass.complexToReal {M E : Type _} [AddCommGr
 #align smul_comm_class.complex_to_real SMulCommClass.complexToReal
 -/
 
+#print FiniteDimensional.complexToReal /-
 instance (priority := 100) FiniteDimensional.complexToReal (E : Type _) [AddCommGroup E]
     [Module ℂ E] [FiniteDimensional ℂ E] : FiniteDimensional ℝ E :=
   FiniteDimensional.trans ℝ ℂ E
 #align finite_dimensional.complex_to_real FiniteDimensional.complexToReal
+-/
 
+#print rank_real_of_complex /-
 theorem rank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
     Module.rank ℝ E = 2 * Module.rank ℂ E :=
   Cardinal.lift_inj.1 <| by rw [← lift_rank_mul_lift_rank ℝ ℂ E, Complex.rank_real_complex];
     simp [bit0]
 #align rank_real_of_complex rank_real_of_complex
+-/
 
 #print finrank_real_of_complex /-
 theorem finrank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
@@ -252,49 +288,64 @@ theorem finrank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
 #align finrank_real_of_complex finrank_real_of_complex
 -/
 
+#print StarModule.complexToReal /-
 instance (priority := 900) StarModule.complexToReal {E : Type _} [AddCommGroup E] [Star E]
     [Module ℂ E] [StarModule ℂ E] : StarModule ℝ E :=
   ⟨fun r a => by rw [← smul_one_smul ℂ r a, star_smul, star_smul, star_one, smul_one_smul]⟩
 #align star_module.complex_to_real StarModule.complexToReal
+-/
 
 namespace Complex
 
 open scoped ComplexConjugate
 
+#print Complex.reLm /-
 /-- Linear map version of the real part function, from `ℂ` to `ℝ`. -/
 def reLm : ℂ →ₗ[ℝ] ℝ where
   toFun x := x.re
   map_add' := add_re
   map_smul' := by simp
 #align complex.re_lm Complex.reLm
+-/
 
+#print Complex.reLm_coe /-
 @[simp]
 theorem reLm_coe : ⇑reLm = re :=
   rfl
 #align complex.re_lm_coe Complex.reLm_coe
+-/
 
+#print Complex.imLm /-
 /-- Linear map version of the imaginary part function, from `ℂ` to `ℝ`. -/
 def imLm : ℂ →ₗ[ℝ] ℝ where
   toFun x := x.im
   map_add' := add_im
   map_smul' := by simp
 #align complex.im_lm Complex.imLm
+-/
 
+#print Complex.imLm_coe /-
 @[simp]
 theorem imLm_coe : ⇑imLm = im :=
   rfl
 #align complex.im_lm_coe Complex.imLm_coe
+-/
 
+#print Complex.ofRealAm /-
 /-- `ℝ`-algebra morphism version of the canonical embedding of `ℝ` in `ℂ`. -/
 def ofRealAm : ℝ →ₐ[ℝ] ℂ :=
   Algebra.ofId ℝ ℂ
 #align complex.of_real_am Complex.ofRealAm
+-/
 
+#print Complex.ofRealAm_coe /-
 @[simp]
 theorem ofRealAm_coe : ⇑ofRealAm = coe :=
   rfl
 #align complex.of_real_am_coe Complex.ofRealAm_coe
+-/
 
+#print Complex.conjAe /-
 /-- `ℝ`-algebra isomorphism version of the complex conjugation function from `ℂ` to `ℂ` -/
 def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
   { conj with
@@ -303,12 +354,16 @@ def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
     right_inv := star_star
     commutes' := conj_ofReal }
 #align complex.conj_ae Complex.conjAe
+-/
 
+#print Complex.conjAe_coe /-
 @[simp]
 theorem conjAe_coe : ⇑conjAe = conj :=
   rfl
 #align complex.conj_ae_coe Complex.conjAe_coe
+-/
 
+#print Complex.toMatrix_conjAe /-
 /-- The matrix representation of `conj_ae`. -/
 @[simp]
 theorem toMatrix_conjAe :
@@ -318,7 +373,9 @@ theorem toMatrix_conjAe :
   simp [LinearMap.toMatrix_apply]
   fin_cases i <;> fin_cases j <;> simp
 #align complex.to_matrix_conj_ae Complex.toMatrix_conjAe
+-/
 
+#print Complex.real_algHom_eq_id_or_conj /-
 /-- The identity and the complex conjugation are the only two `ℝ`-algebra homomorphisms of `ℂ`. -/
 theorem real_algHom_eq_id_or_conj (f : ℂ →ₐ[ℝ] ℂ) : f = AlgHom.id ℝ ℂ ∨ f = conjAe :=
   by
@@ -327,23 +384,29 @@ theorem real_algHom_eq_id_or_conj (f : ℂ →ₐ[ℝ] ℂ) : f = AlgHom.id ℝ
     refine' fun h => alg_hom_ext _
   exacts [h, conj_I.symm ▸ h]
 #align complex.real_alg_hom_eq_id_or_conj Complex.real_algHom_eq_id_or_conj
+-/
 
+#print Complex.equivRealProdAddHom /-
 /-- The natural `add_equiv` from `ℂ` to `ℝ × ℝ`. -/
 @[simps (config := { simpRhs := true }) apply symm_apply_re symm_apply_im]
 def equivRealProdAddHom : ℂ ≃+ ℝ × ℝ :=
   { equivRealProd with map_add' := by simp }
 #align complex.equiv_real_prod_add_hom Complex.equivRealProdAddHom
+-/
 
+#print Complex.equivRealProdLm /-
 /-- The natural `linear_equiv` from `ℂ` to `ℝ × ℝ`. -/
 @[simps (config := { simpRhs := true }) apply symm_apply_re symm_apply_im]
 def equivRealProdLm : ℂ ≃ₗ[ℝ] ℝ × ℝ :=
   { equivRealProdAddHom with map_smul' := by simp [equiv_real_prod_add_hom] }
 #align complex.equiv_real_prod_lm Complex.equivRealProdLm
+-/
 
 section lift
 
 variable {A : Type _} [Ring A] [Algebra ℝ A]
 
+#print Complex.liftAux /-
 /-- There is an alg_hom from `ℂ` to any `ℝ`-algebra with an element that squares to `-1`.
 
 See `complex.lift` for this as an equiv. -/
@@ -366,15 +429,21 @@ def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
         rw [Algebra.smul_def, Algebra.smul_def, Algebra.smul_def, ← Algebra.right_comm _ x₂, ←
           mul_assoc, ← add_mul, ← RingHom.map_mul, ← RingHom.map_mul, ← RingHom.map_add]
 #align complex.lift_aux Complex.liftAux
+-/
 
+#print Complex.liftAux_apply /-
 @[simp]
 theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap ℝ A z.re + z.im • I' :=
   rfl
 #align complex.lift_aux_apply Complex.liftAux_apply
+-/
 
+#print Complex.liftAux_apply_I /-
 theorem liftAux_apply_I (I' : A) (hI') : liftAux I' hI' I = I' := by simp
 #align complex.lift_aux_apply_I Complex.liftAux_apply_I
+-/
 
+#print Complex.lift /-
 /-- A universal property of the complex numbers, providing a unique `ℂ →ₐ[ℝ] A` for every element
 of `A` which squares to `-1`.
 
@@ -389,18 +458,23 @@ def lift : { I' : A // I' * I' = -1 } ≃ (ℂ →ₐ[ℝ] A)
   left_inv I' := Subtype.ext <| liftAux_apply_I I' I'.Prop
   right_inv F := algHom_ext <| liftAux_apply_I _ _
 #align complex.lift Complex.lift
+-/
 
+#print Complex.liftAux_I /-
 -- When applied to `complex.I` itself, `lift` is the identity.
 @[simp]
 theorem liftAux_I : liftAux I I_mul_I = AlgHom.id ℝ ℂ :=
   algHom_ext <| liftAux_apply_I _ _
 #align complex.lift_aux_I Complex.liftAux_I
+-/
 
+#print Complex.liftAux_neg_I /-
 -- When applied to `-complex.I`, `lift` is conjugation, `conj`.
 @[simp]
 theorem liftAux_neg_I : liftAux (-I) ((neg_mul_neg _ _).trans I_mul_I) = conjAe :=
   algHom_ext <| (liftAux_apply_I _ _).trans conj_I.symm
 #align complex.lift_aux_neg_I Complex.liftAux_neg_I
+-/
 
 end lift
 
@@ -412,6 +486,7 @@ open Complex
 
 variable {A : Type _} [AddCommGroup A] [Module ℂ A] [StarAddMonoid A] [StarModule ℂ A]
 
+#print skewAdjoint.negISMul /-
 /-- Create a `self_adjoint` element from a `skew_adjoint` element by multiplying by the scalar
 `-complex.I`. -/
 @[simps]
@@ -428,19 +503,25 @@ def skewAdjoint.negISMul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
       selfAdjoint.val_smul, smul_neg, neg_inj]
     rw [smul_comm]
 #align skew_adjoint.neg_I_smul skewAdjoint.negISMul
+-/
 
+#print skewAdjoint.I_smul_neg_I /-
 theorem skewAdjoint.I_smul_neg_I (a : skewAdjoint A) : I • (skewAdjoint.negISMul a : A) = a := by
   simp only [smul_smul, skewAdjoint.negISMul_apply_coe, neg_smul, smul_neg, I_mul_I, one_smul,
     neg_neg]
 #align skew_adjoint.I_smul_neg_I skewAdjoint.I_smul_neg_I
+-/
 
+#print realPart /-
 /-- The real part `ℜ a` of an element `a` of a star module over `ℂ`, as a linear map. This is just
 `self_adjoint_part ℝ`, but we provide it as a separate definition in order to link it with lemmas
 concerning the `imaginary_part`, which doesn't exist in star modules over other rings. -/
 noncomputable def realPart : A →ₗ[ℝ] selfAdjoint A :=
   selfAdjointPart ℝ
 #align real_part realPart
+-/
 
+#print imaginaryPart /-
 /-- The imaginary part `ℑ a` of an element `a` of a star module over `ℂ`, as a linear map into the
 self adjoint elements. In a general star module, we have a decomposition into the `self_adjoint`
 and `skew_adjoint` parts, but in a star module over `ℂ` we have
@@ -449,18 +530,20 @@ and `skew_adjoint` parts, but in a star module over `ℂ` we have
 noncomputable def imaginaryPart : A →ₗ[ℝ] selfAdjoint A :=
   skewAdjoint.negISMul.comp (skewAdjointPart ℝ)
 #align imaginary_part imaginaryPart
+-/
 
--- mathport name: exprℜ
 scoped[ComplexStarModule] notation "ℜ" => realPart
 
--- mathport name: exprℑ
 scoped[ComplexStarModule] notation "ℑ" => imaginaryPart
 
+#print realPart_apply_coe /-
 @[simp]
 theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) := by unfold realPart;
   simp only [selfAdjointPart_apply_coe, invOf_eq_inv]
 #align real_part_apply_coe realPart_apply_coe
+-/
 
+#print imaginaryPart_apply_coe /-
 @[simp]
 theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) :=
   by
@@ -468,7 +551,9 @@ theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ 
   simp only [LinearMap.coe_comp, skewAdjoint.negISMul_apply_coe, skewAdjointPart_apply_coe,
     invOf_eq_inv]
 #align imaginary_part_apply_coe imaginaryPart_apply_coe
+-/
 
+#print realPart_add_I_smul_imaginaryPart /-
 /-- The standard decomposition of `ℜ a + complex.I • ℑ a = a` of an element of a star module over
 `ℂ` into a linear combination of self adjoint elements. -/
 theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) = a := by
@@ -476,23 +561,32 @@ theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) =
     neg_sub, add_add_sub_cancel, smul_sub, smul_add, neg_sub_neg, invOf_eq_inv] using
     invOf_two_smul_add_invOf_two_smul ℝ a
 #align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPart
+-/
 
+#print realPart_I_smul /-
 @[simp]
 theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a := by ext;
   simp [smul_comm I, smul_sub, sub_eq_add_neg, add_comm]
 #align real_part_I_smul realPart_I_smul
+-/
 
+#print imaginaryPart_I_smul /-
 @[simp]
 theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a := by ext; simp [smul_comm I, smul_smul I]
 #align imaginary_part_I_smul imaginaryPart_I_smul
+-/
 
+#print realPart_smul /-
 theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a := by
   nth_rw 1 [← re_add_im z]; simp [-re_add_im, add_smul, ← smul_smul, sub_eq_add_neg]
 #align real_part_smul realPart_smul
+-/
 
+#print imaginaryPart_smul /-
 theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a := by
   nth_rw 1 [← re_add_im z]; simp [-re_add_im, add_smul, ← smul_smul]
 #align imaginary_part_smul imaginaryPart_smul
+-/
 
 end RealImaginaryPart
 
Diff
@@ -325,7 +325,7 @@ theorem real_algHom_eq_id_or_conj (f : ℂ →ₐ[ℝ] ℂ) : f = AlgHom.id ℝ
   refine'
       (eq_or_eq_neg_of_sq_eq_sq (f I) I <| by rw [← map_pow, I_sq, map_neg, map_one]).imp _ _ <;>
     refine' fun h => alg_hom_ext _
-  exacts[h, conj_I.symm ▸ h]
+  exacts [h, conj_I.symm ▸ h]
 #align complex.real_alg_hom_eq_id_or_conj Complex.real_algHom_eq_id_or_conj
 
 /-- The natural `add_equiv` from `ℂ` to `ℝ × ℝ`. -/
Diff
@@ -290,12 +290,10 @@ def ofRealAm : ℝ →ₐ[ℝ] ℂ :=
   Algebra.ofId ℝ ℂ
 #align complex.of_real_am Complex.ofRealAm
 
-#print Complex.ofRealAm_coe /-
 @[simp]
 theorem ofRealAm_coe : ⇑ofRealAm = coe :=
   rfl
 #align complex.of_real_am_coe Complex.ofRealAm_coe
--/
 
 /-- `ℝ`-algebra isomorphism version of the complex conjugation function from `ℂ` to `ℂ` -/
 def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
Diff
@@ -52,7 +52,7 @@ element of a `star_module` over `ℂ`.
 
 namespace Complex
 
-open ComplexConjugate
+open scoped ComplexConjugate
 
 variable {R : Type _} {S : Type _}
 
@@ -141,7 +141,7 @@ end
 
 section
 
-open ComplexOrder
+open scoped ComplexOrder
 
 protected theorem orderedSMul : OrderedSMul ℝ ℂ :=
   OrderedSMul.mk' fun a b r hab hr => ⟨by simp [hr, hab.1.le], by simp [hab.2]⟩
@@ -259,7 +259,7 @@ instance (priority := 900) StarModule.complexToReal {E : Type _} [AddCommGroup E
 
 namespace Complex
 
-open ComplexConjugate
+open scoped ComplexConjugate
 
 /-- Linear map version of the real part function, from `ℂ` to `ℝ`. -/
 def reLm : ℂ →ₗ[ℝ] ℝ where
Diff
@@ -64,30 +64,12 @@ variable [SMul R ℝ]
 `restrict_scalars.module ℝ ℂ ℂ = complex.module` definitionally. -/
 instance : SMul R ℂ where smul r x := ⟨r • x.re - 0 * x.im, r • x.im + 0 * x.re⟩
 
-/- warning: complex.smul_re -> Complex.smul_re is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : SMul.{u1, 0} R Real] (r : R) (z : Complex), Eq.{1} Real (Complex.re (SMul.smul.{u1, 0} R Complex (Complex.hasSmul.{u1} R _inst_1) r z)) (SMul.smul.{u1, 0} R Real _inst_1 r (Complex.re z))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : SMul.{u1, 0} R Real] (r : R) (z : Complex), Eq.{1} Real (Complex.re (HSMul.hSMul.{u1, 0, 0} R Complex Complex (instHSMul.{u1, 0} R Complex (Complex.instSMulComplex.{u1} R _inst_1)) r z)) (HSMul.hSMul.{u1, 0, 0} R Real Real (instHSMul.{u1, 0} R Real _inst_1) r (Complex.re z))
-Case conversion may be inaccurate. Consider using '#align complex.smul_re Complex.smul_reₓ'. -/
 theorem smul_re (r : R) (z : ℂ) : (r • z).re = r • z.re := by simp [(· • ·)]
 #align complex.smul_re Complex.smul_re
 
-/- warning: complex.smul_im -> Complex.smul_im is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : SMul.{u1, 0} R Real] (r : R) (z : Complex), Eq.{1} Real (Complex.im (SMul.smul.{u1, 0} R Complex (Complex.hasSmul.{u1} R _inst_1) r z)) (SMul.smul.{u1, 0} R Real _inst_1 r (Complex.im z))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : SMul.{u1, 0} R Real] (r : R) (z : Complex), Eq.{1} Real (Complex.im (HSMul.hSMul.{u1, 0, 0} R Complex Complex (instHSMul.{u1, 0} R Complex (Complex.instSMulComplex.{u1} R _inst_1)) r z)) (HSMul.hSMul.{u1, 0, 0} R Real Real (instHSMul.{u1, 0} R Real _inst_1) r (Complex.im z))
-Case conversion may be inaccurate. Consider using '#align complex.smul_im Complex.smul_imₓ'. -/
 theorem smul_im (r : R) (z : ℂ) : (r • z).im = r • z.im := by simp [(· • ·)]
 #align complex.smul_im Complex.smul_im
 
-/- warning: complex.real_smul -> Complex.real_smul is a dubious translation:
-lean 3 declaration is
-  forall {x : Real} {z : Complex}, Eq.{1} Complex (SMul.smul.{0, 0} Real Complex (Complex.hasSmul.{0} Real (Mul.toSMul.{0} Real Real.hasMul)) x z) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex Complex.hasMul) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))) x) z)
-but is expected to have type
-  forall {x : Real} {z : Complex}, Eq.{1} Complex (HSMul.hSMul.{0, 0, 0} Real Complex Complex (instHSMul.{0, 0} Real Complex (Complex.instSMulComplex.{0} Real (Algebra.toSMul.{0, 0} Real Real Real.instCommSemiringReal Real.semiring (Algebra.id.{0} Real Real.instCommSemiringReal)))) x z) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex Complex.instMulComplex) (Complex.ofReal' x) z)
-Case conversion may be inaccurate. Consider using '#align complex.real_smul Complex.real_smulₓ'. -/
 @[simp]
 theorem real_smul {x : ℝ} {z : ℂ} : x • z = x * z :=
   rfl
@@ -131,12 +113,6 @@ instance [CommSemiring R] [Algebra R ℝ] : Algebra R ℂ :=
 instance : StarModule ℝ ℂ :=
   ⟨fun r x => by simp only [star_def, star_trivial, real_smul, map_mul, conj_of_real]⟩
 
-/- warning: complex.coe_algebra_map -> Complex.coe_algebraMap is a dubious translation:
-lean 3 declaration is
-  Eq.{1} ((fun (_x : RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) => Real -> Complex) (algebraMap.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))) (coeFn.{1, 1} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) (fun (_x : RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) => Real -> Complex) (RingHom.hasCoeToFun.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) (algebraMap.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))))
-but is expected to have type
-  Eq.{1} (forall (a : Real), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => Complex) a) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex) (RingHom.instRingHomClassRingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (algebraMap.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.ofReal'
-Case conversion may be inaccurate. Consider using '#align complex.coe_algebra_map Complex.coe_algebraMapₓ'. -/
 @[simp]
 theorem coe_algebraMap : (algebraMap ℝ ℂ : ℝ → ℂ) = coe :=
   rfl
@@ -146,9 +122,6 @@ section
 
 variable {A : Type _} [Semiring A] [Algebra ℝ A]
 
-/- warning: alg_hom.map_coe_real_complex -> AlgHom.map_coe_real_complex is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align alg_hom.map_coe_real_complex AlgHom.map_coe_real_complexₓ'. -/
 /-- We need this lemma since `complex.coe_algebra_map` diverts the simp-normal form away from
 `alg_hom.commutes`. -/
 @[simp]
@@ -156,9 +129,6 @@ theorem AlgHom.map_coe_real_complex (f : ℂ →ₐ[ℝ] A) (x : ℝ) : f x = al
   f.commutes x
 #align alg_hom.map_coe_real_complex AlgHom.map_coe_real_complex
 
-/- warning: complex.alg_hom_ext -> Complex.algHom_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align complex.alg_hom_ext Complex.algHom_extₓ'. -/
 /-- Two `ℝ`-algebra homomorphisms from ℂ are equal if they agree on `complex.I`. -/
 @[ext]
 theorem algHom_ext ⦃f g : ℂ →ₐ[ℝ] A⦄ (h : f I = g I) : f = g :=
@@ -173,12 +143,6 @@ section
 
 open ComplexOrder
 
-/- warning: complex.ordered_smul -> Complex.orderedSMul is a dubious translation:
-lean 3 declaration is
-  OrderedSMul.{0, 0} Real Complex Real.orderedSemiring (OrderedSemiring.toOrderedAddCommMonoid.{0} Complex (StrictOrderedSemiring.toOrderedSemiring.{0} Complex (StrictOrderedRing.toStrictOrderedSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedRing.{0} Complex Complex.strictOrderedCommRing)))) (MulActionWithZero.toSMulWithZero.{0, 0} Real Complex Real.monoidWithZero (AddZeroClass.toHasZero.{0} Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (OrderedAddCommMonoid.toAddCommMonoid.{0} Complex (OrderedSemiring.toOrderedAddCommMonoid.{0} Complex (StrictOrderedSemiring.toOrderedSemiring.{0} Complex (StrictOrderedRing.toStrictOrderedSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedRing.{0} Complex Complex.strictOrderedCommRing)))))))) (Module.toMulActionWithZero.{0, 0} Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))
-but is expected to have type
-  OrderedSMul.{0, 0} Real Complex Real.orderedSemiring (OrderedSemiring.toOrderedAddCommMonoid.{0} Complex (OrderedCommSemiring.toOrderedSemiring.{0} Complex (StrictOrderedCommSemiring.toOrderedCommSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedCommSemiring.{0} Complex Complex.strictOrderedCommRing)))) (MulActionWithZero.toSMulWithZero.{0, 0} Real Complex Real.instMonoidWithZeroReal (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (OrderedAddCommMonoid.toAddCommMonoid.{0} Complex (OrderedSemiring.toOrderedAddCommMonoid.{0} Complex (OrderedCommSemiring.toOrderedSemiring.{0} Complex (StrictOrderedCommSemiring.toOrderedCommSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedCommSemiring.{0} Complex Complex.strictOrderedCommRing))))))) (Module.toMulActionWithZero.{0, 0} Real Complex Real.semiring (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} Complex (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Complex (StrictOrderedCommSemiring.toStrictOrderedSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedCommSemiring.{0} Complex Complex.strictOrderedCommRing)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))
-Case conversion may be inaccurate. Consider using '#align complex.ordered_smul Complex.orderedSMulₓ'. -/
 protected theorem orderedSMul : OrderedSMul ℝ ℂ :=
   OrderedSMul.mk' fun a b r hab hr => ⟨by simp [hr, hab.1.le], by simp [hab.2]⟩
 #align complex.ordered_smul Complex.orderedSMul
@@ -189,12 +153,6 @@ end
 
 open Submodule FiniteDimensional
 
-/- warning: complex.basis_one_I -> Complex.basisOneI is a dubious translation:
-lean 3 declaration is
-  Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))
-but is expected to have type
-  Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))
-Case conversion may be inaccurate. Consider using '#align complex.basis_one_I Complex.basisOneIₓ'. -/
 /-- `ℂ` has a basis over `ℝ` given by `1` and `I`. -/
 noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
   Basis.ofEquivFun
@@ -207,20 +165,11 @@ noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
       map_smul' := fun c z => by simp [Matrix.smul_cons c z.re, Matrix.smul_cons c z.im] }
 #align complex.basis_one_I Complex.basisOneI
 
-/- warning: complex.coe_basis_one_I_repr -> Complex.coe_basisOneI_repr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align complex.coe_basis_one_I_repr Complex.coe_basisOneI_reprₓ'. -/
 @[simp]
 theorem coe_basisOneI_repr (z : ℂ) : ⇑(basisOneI.repr z) = ![z.re, z.im] :=
   rfl
 #align complex.coe_basis_one_I_repr Complex.coe_basisOneI_repr
 
-/- warning: complex.coe_basis_one_I -> Complex.coe_basisOneI is a dubious translation:
-lean 3 declaration is
-  Eq.{1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Complex) (coeFn.{1, 1} (Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Complex) (FunLike.hasCoeToFun.{1, 1, 1} (Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) => Complex) (Basis.funLike.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) Complex.basisOneI) (Matrix.vecCons.{0} Complex (Nat.succ (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (OfNat.ofNat.{0} Complex 1 (OfNat.mk.{0} Complex 1 (One.one.{0} Complex Complex.hasOne))) (Matrix.vecCons.{0} Complex (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) Complex.I (Matrix.vecEmpty.{0} Complex)))
-but is expected to have type
-  Eq.{1} (forall (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Complex) a) (FunLike.coe.{1, 1, 1} (Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Complex) _x) (Basis.funLike.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) Complex.basisOneI) (Matrix.vecCons.{0} Complex (Nat.succ (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (OfNat.ofNat.{0} Complex 1 (One.toOfNat1.{0} Complex Complex.instOneComplex)) (Matrix.vecCons.{0} Complex (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) Complex.I (Matrix.vecEmpty.{0} Complex)))
-Case conversion may be inaccurate. Consider using '#align complex.coe_basis_one_I Complex.coe_basisOneIₓ'. -/
 @[simp]
 theorem coe_basisOneI : ⇑basisOneI = ![1, I] :=
   funext fun i =>
@@ -235,43 +184,19 @@ theorem coe_basisOneI : ⇑basisOneI = ![1, I] :=
 instance : FiniteDimensional ℝ ℂ :=
   of_fintype_basis basisOneI
 
-/- warning: complex.finrank_real_complex -> Complex.finrank_real_complex is a dubious translation:
-lean 3 declaration is
-  Eq.{1} Nat (FiniteDimensional.finrank.{0, 0} Real Complex Real.semiring Complex.addCommGroup (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))
-but is expected to have type
-  Eq.{1} Nat (FiniteDimensional.finrank.{0, 0} Real Complex Real.semiring Complex.addCommGroup (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))
-Case conversion may be inaccurate. Consider using '#align complex.finrank_real_complex Complex.finrank_real_complexₓ'. -/
 @[simp]
 theorem finrank_real_complex : FiniteDimensional.finrank ℝ ℂ = 2 := by
   rw [finrank_eq_card_basis basis_one_I, Fintype.card_fin]
 #align complex.finrank_real_complex Complex.finrank_real_complex
 
-/- warning: complex.rank_real_complex -> Complex.rank_real_complex is a dubious translation:
-lean 3 declaration is
-  Eq.{2} Cardinal.{0} (Module.rank.{0, 0} Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{1} Cardinal.{0} 2 (OfNat.mk.{1} Cardinal.{0} 2 (bit0.{1} Cardinal.{0} Cardinal.hasAdd.{0} (One.one.{1} Cardinal.{0} Cardinal.hasOne.{0}))))
-but is expected to have type
-  Eq.{2} Cardinal.{0} (Module.rank.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{1} Cardinal.{0} 2 (instOfNat.{1} Cardinal.{0} 2 Cardinal.instNatCastCardinal.{0} (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))
-Case conversion may be inaccurate. Consider using '#align complex.rank_real_complex Complex.rank_real_complexₓ'. -/
 @[simp]
 theorem rank_real_complex : Module.rank ℝ ℂ = 2 := by simp [← finrank_eq_rank, finrank_real_complex]
 #align complex.rank_real_complex Complex.rank_real_complex
 
-/- warning: complex.rank_real_complex' -> Complex.rank_real_complex' is a dubious translation:
-lean 3 declaration is
-  Eq.{succ (succ u1)} Cardinal.{u1} (Cardinal.lift.{u1, 0} (Module.rank.{0, 0} Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (OfNat.ofNat.{succ u1} Cardinal.{u1} 2 (OfNat.mk.{succ u1} Cardinal.{u1} 2 (bit0.{succ u1} Cardinal.{u1} Cardinal.hasAdd.{u1} (One.one.{succ u1} Cardinal.{u1} Cardinal.hasOne.{u1}))))
-but is expected to have type
-  Eq.{succ (succ u1)} Cardinal.{u1} (Cardinal.lift.{u1, 0} (Module.rank.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (OfNat.ofNat.{succ u1} Cardinal.{u1} 2 (instOfNat.{succ u1} Cardinal.{u1} 2 Cardinal.instNatCastCardinal.{u1} (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))
-Case conversion may be inaccurate. Consider using '#align complex.rank_real_complex' Complex.rank_real_complex'ₓ'. -/
 theorem rank_real_complex'.{u} : Cardinal.lift.{u} (Module.rank ℝ ℂ) = 2 := by
   simp [← finrank_eq_rank, finrank_real_complex, bit0]
 #align complex.rank_real_complex' Complex.rank_real_complex'
 
-/- warning: complex.finrank_real_complex_fact -> Complex.finrank_real_complex_fact is a dubious translation:
-lean 3 declaration is
-  Fact (Eq.{1} Nat (FiniteDimensional.finrank.{0, 0} Real Complex Real.semiring Complex.addCommGroup (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))
-but is expected to have type
-  Fact (Eq.{1} Nat (FiniteDimensional.finrank.{0, 0} Real Complex Real.semiring Complex.addCommGroup (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))
-Case conversion may be inaccurate. Consider using '#align complex.finrank_real_complex_fact Complex.finrank_real_complex_factₓ'. -/
 /-- `fact` version of the dimension of `ℂ` over `ℝ`, locally useful in the definition of the
 circle. -/
 theorem finrank_real_complex_fact : Fact (finrank ℝ ℂ = 2) :=
@@ -289,23 +214,11 @@ instance (priority := 900) Module.complexToReal (E : Type _) [AddCommGroup E] [M
 #align module.complex_to_real Module.complexToReal
 -/
 
-/- warning: module.real_complex_tower -> Module.real_complex_tower is a dubious translation:
-lean 3 declaration is
-  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)], IsScalarTower.{0, 0, u1} Real Complex E (Complex.hasSmul.{0} Real (Mul.toSMul.{0} Real Real.hasMul)) (SMulZeroClass.toHasSmul.{0, u1} Complex E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex E (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)))))
-but is expected to have type
-  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)], IsScalarTower.{0, 0, u1} Real Complex E (Complex.instSMulComplex.{0} Real (Algebra.toSMul.{0, 0} Real Real Real.instCommSemiringReal Real.semiring (Algebra.id.{0} Real Real.instCommSemiringReal))) (SMulZeroClass.toSMul.{0, u1} Complex E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex E Complex.instZeroComplex (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align module.real_complex_tower Module.real_complex_towerₓ'. -/
 instance Module.real_complex_tower (E : Type _) [AddCommGroup E] [Module ℂ E] :
     IsScalarTower ℝ ℂ E :=
   RestrictScalars.isScalarTower ℝ ℂ E
 #align module.real_complex_tower Module.real_complex_tower
 
-/- warning: complex.coe_smul -> Complex.coe_smul is a dubious translation:
-lean 3 declaration is
-  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] (x : Real) (y : E), Eq.{succ u1} E (SMul.smul.{0, u1} Complex E (SMulZeroClass.toHasSmul.{0, u1} Complex E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex E (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))) x) y) (SMul.smul.{0, u1} Real E (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2))))) x y)
-but is expected to have type
-  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] (x : Real) (y : E), Eq.{succ u1} E (HSMul.hSMul.{0, u1, u1} Complex E E (instHSMul.{0, u1} Complex E (SMulZeroClass.toSMul.{0, u1} Complex E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex E Complex.instZeroComplex (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2))))) (Complex.ofReal' x) y) (HSMul.hSMul.{0, u1, u1} Real E E (instHSMul.{0, u1} Real E (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)))))) x y)
-Case conversion may be inaccurate. Consider using '#align complex.coe_smul Complex.coe_smulₓ'. -/
 @[simp, norm_cast]
 theorem Complex.coe_smul {E : Type _} [AddCommGroup E] [Module ℂ E] (x : ℝ) (y : E) :
     (x : ℂ) • y = x • y :=
@@ -321,23 +234,11 @@ instance (priority := 900) SMulCommClass.complexToReal {M E : Type _} [AddCommGr
 #align smul_comm_class.complex_to_real SMulCommClass.complexToReal
 -/
 
-/- warning: finite_dimensional.complex_to_real -> FiniteDimensional.complexToReal is a dubious translation:
-lean 3 declaration is
-  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_3 : FiniteDimensional.{0, u1} Complex E (Field.toDivisionRing.{0} Complex Complex.field) _inst_1 _inst_2], FiniteDimensional.{0, u1} Real E Real.divisionRing _inst_1 (Module.complexToReal.{u1} E _inst_1 _inst_2)
-but is expected to have type
-  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_3 : FiniteDimensional.{0, u1} Complex E (Field.toDivisionRing.{0} Complex Complex.instFieldComplex) _inst_1 _inst_2], FiniteDimensional.{0, u1} Real E Real.instDivisionRingReal _inst_1 (Module.complexToReal.{u1} E _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.complex_to_real FiniteDimensional.complexToRealₓ'. -/
 instance (priority := 100) FiniteDimensional.complexToReal (E : Type _) [AddCommGroup E]
     [Module ℂ E] [FiniteDimensional ℂ E] : FiniteDimensional ℝ E :=
   FiniteDimensional.trans ℝ ℂ E
 #align finite_dimensional.complex_to_real FiniteDimensional.complexToReal
 
-/- warning: rank_real_of_complex -> rank_real_of_complex is a dubious translation:
-lean 3 declaration is
-  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)], Eq.{succ (succ u1)} Cardinal.{u1} (Module.rank.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)) (HMul.hMul.{succ u1, succ u1, succ u1} Cardinal.{u1} Cardinal.{u1} Cardinal.{u1} (instHMul.{succ u1} Cardinal.{u1} Cardinal.hasMul.{u1}) (OfNat.ofNat.{succ u1} Cardinal.{u1} 2 (OfNat.mk.{succ u1} Cardinal.{u1} 2 (bit0.{succ u1} Cardinal.{u1} Cardinal.hasAdd.{u1} (One.one.{succ u1} Cardinal.{u1} Cardinal.hasOne.{u1})))) (Module.rank.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2))
-but is expected to have type
-  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)], Eq.{succ (succ u1)} Cardinal.{u1} (Module.rank.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)) (HMul.hMul.{succ u1, succ u1, succ u1} Cardinal.{u1} Cardinal.{u1} Cardinal.{u1} (instHMul.{succ u1} Cardinal.{u1} Cardinal.instMulCardinal.{u1}) (OfNat.ofNat.{succ u1} Cardinal.{u1} 2 (instOfNat.{succ u1} Cardinal.{u1} 2 Cardinal.instNatCastCardinal.{u1} (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) (Module.rank.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2))
-Case conversion may be inaccurate. Consider using '#align rank_real_of_complex rank_real_of_complexₓ'. -/
 theorem rank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
     Module.rank ℝ E = 2 * Module.rank ℂ E :=
   Cardinal.lift_inj.1 <| by rw [← lift_rank_mul_lift_rank ℝ ℂ E, Complex.rank_real_complex];
@@ -351,12 +252,6 @@ theorem finrank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
 #align finrank_real_of_complex finrank_real_of_complex
 -/
 
-/- warning: star_module.complex_to_real -> StarModule.complexToReal is a dubious translation:
-lean 3 declaration is
-  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Star.{u1} E] [_inst_3 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_4 : StarModule.{0, u1} Complex E (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) _inst_2 (SMulZeroClass.toHasSmul.{0, u1} Complex E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex E (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_3))))], StarModule.{0, u1} Real E (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) _inst_2 (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_3)))))
-but is expected to have type
-  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Star.{u1} E] [_inst_3 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_4 : StarModule.{0, u1} Complex E (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) _inst_2 (SMulZeroClass.toSMul.{0, u1} Complex E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex E Complex.instZeroComplex (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_3))))], StarModule.{0, u1} Real E (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) _inst_2 (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_3)))))
-Case conversion may be inaccurate. Consider using '#align star_module.complex_to_real StarModule.complexToRealₓ'. -/
 instance (priority := 900) StarModule.complexToReal {E : Type _} [AddCommGroup E] [Star E]
     [Module ℂ E] [StarModule ℂ E] : StarModule ℝ E :=
   ⟨fun r a => by rw [← smul_one_smul ℂ r a, star_smul, star_smul, star_one, smul_one_smul]⟩
@@ -366,12 +261,6 @@ namespace Complex
 
 open ComplexConjugate
 
-/- warning: complex.re_lm -> Complex.reLm is a dubious translation:
-lean 3 declaration is
-  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
-but is expected to have type
-  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
-Case conversion may be inaccurate. Consider using '#align complex.re_lm Complex.reLmₓ'. -/
 /-- Linear map version of the real part function, from `ℂ` to `ℝ`. -/
 def reLm : ℂ →ₗ[ℝ] ℝ where
   toFun x := x.re
@@ -379,23 +268,11 @@ def reLm : ℂ →ₗ[ℝ] ℝ where
   map_smul' := by simp
 #align complex.re_lm Complex.reLm
 
-/- warning: complex.re_lm_coe -> Complex.reLm_coe is a dubious translation:
-lean 3 declaration is
-  Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
-but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
-Case conversion may be inaccurate. Consider using '#align complex.re_lm_coe Complex.reLm_coeₓ'. -/
 @[simp]
 theorem reLm_coe : ⇑reLm = re :=
   rfl
 #align complex.re_lm_coe Complex.reLm_coe
 
-/- warning: complex.im_lm -> Complex.imLm is a dubious translation:
-lean 3 declaration is
-  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
-but is expected to have type
-  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
-Case conversion may be inaccurate. Consider using '#align complex.im_lm Complex.imLmₓ'. -/
 /-- Linear map version of the imaginary part function, from `ℂ` to `ℝ`. -/
 def imLm : ℂ →ₗ[ℝ] ℝ where
   toFun x := x.im
@@ -403,23 +280,11 @@ def imLm : ℂ →ₗ[ℝ] ℝ where
   map_smul' := by simp
 #align complex.im_lm Complex.imLm
 
-/- warning: complex.im_lm_coe -> Complex.imLm_coe is a dubious translation:
-lean 3 declaration is
-  Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
-but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
-Case conversion may be inaccurate. Consider using '#align complex.im_lm_coe Complex.imLm_coeₓ'. -/
 @[simp]
 theorem imLm_coe : ⇑imLm = im :=
   rfl
 #align complex.im_lm_coe Complex.imLm_coe
 
-/- warning: complex.of_real_am -> Complex.ofRealAm is a dubious translation:
-lean 3 declaration is
-  AlgHom.{0, 0, 0} Real Real Complex Real.commSemiring Real.semiring (Ring.toSemiring.{0} Complex Complex.ring) (Algebra.id.{0} Real Real.commSemiring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))
-but is expected to have type
-  AlgHom.{0, 0, 0} Real Real Complex Real.instCommSemiringReal Real.semiring Complex.instSemiringComplex (Algebra.id.{0} Real Real.instCommSemiringReal) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))
-Case conversion may be inaccurate. Consider using '#align complex.of_real_am Complex.ofRealAmₓ'. -/
 /-- `ℝ`-algebra morphism version of the canonical embedding of `ℝ` in `ℂ`. -/
 def ofRealAm : ℝ →ₐ[ℝ] ℂ :=
   Algebra.ofId ℝ ℂ
@@ -432,12 +297,6 @@ theorem ofRealAm_coe : ⇑ofRealAm = coe :=
 #align complex.of_real_am_coe Complex.ofRealAm_coe
 -/
 
-/- warning: complex.conj_ae -> Complex.conjAe is a dubious translation:
-lean 3 declaration is
-  AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))
-but is expected to have type
-  AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))
-Case conversion may be inaccurate. Consider using '#align complex.conj_ae Complex.conjAeₓ'. -/
 /-- `ℝ`-algebra isomorphism version of the complex conjugation function from `ℂ` to `ℂ` -/
 def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
   { conj with
@@ -447,17 +306,11 @@ def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
     commutes' := conj_ofReal }
 #align complex.conj_ae Complex.conjAe
 
-/- warning: complex.conj_ae_coe -> Complex.conjAe_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align complex.conj_ae_coe Complex.conjAe_coeₓ'. -/
 @[simp]
 theorem conjAe_coe : ⇑conjAe = conj :=
   rfl
 #align complex.conj_ae_coe Complex.conjAe_coe
 
-/- warning: complex.to_matrix_conj_ae -> Complex.toMatrix_conjAe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align complex.to_matrix_conj_ae Complex.toMatrix_conjAeₓ'. -/
 /-- The matrix representation of `conj_ae`. -/
 @[simp]
 theorem toMatrix_conjAe :
@@ -468,12 +321,6 @@ theorem toMatrix_conjAe :
   fin_cases i <;> fin_cases j <;> simp
 #align complex.to_matrix_conj_ae Complex.toMatrix_conjAe
 
-/- warning: complex.real_alg_hom_eq_id_or_conj -> Complex.real_algHom_eq_id_or_conj is a dubious translation:
-lean 3 declaration is
-  forall (f : AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))), Or (Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) f (AlgHom.id.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))) (Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) f ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (HasLiftT.mk.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (CoeTCₓ.coe.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHomClass.coeTC.{0, 0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.algEquivClass.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))))))) Complex.conjAe))
-but is expected to have type
-  forall (f : AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))), Or (Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) f (AlgHom.id.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) f (AlgHomClass.toAlgHom.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.conjAe))
-Case conversion may be inaccurate. Consider using '#align complex.real_alg_hom_eq_id_or_conj Complex.real_algHom_eq_id_or_conjₓ'. -/
 /-- The identity and the complex conjugation are the only two `ℝ`-algebra homomorphisms of `ℂ`. -/
 theorem real_algHom_eq_id_or_conj (f : ℂ →ₐ[ℝ] ℂ) : f = AlgHom.id ℝ ℂ ∨ f = conjAe :=
   by
@@ -483,24 +330,12 @@ theorem real_algHom_eq_id_or_conj (f : ℂ →ₐ[ℝ] ℂ) : f = AlgHom.id ℝ
   exacts[h, conj_I.symm ▸ h]
 #align complex.real_alg_hom_eq_id_or_conj Complex.real_algHom_eq_id_or_conj
 
-/- warning: complex.equiv_real_prod_add_hom -> Complex.equivRealProdAddHom is a dubious translation:
-lean 3 declaration is
-  AddEquiv.{0, 0} Complex (Prod.{0, 0} Real Real) Complex.hasAdd (Prod.hasAdd.{0, 0} Real Real Real.hasAdd Real.hasAdd)
-but is expected to have type
-  AddEquiv.{0, 0} Complex (Prod.{0, 0} Real Real) Complex.instAddComplex (Prod.instAddSum.{0, 0} Real Real Real.instAddReal Real.instAddReal)
-Case conversion may be inaccurate. Consider using '#align complex.equiv_real_prod_add_hom Complex.equivRealProdAddHomₓ'. -/
 /-- The natural `add_equiv` from `ℂ` to `ℝ × ℝ`. -/
 @[simps (config := { simpRhs := true }) apply symm_apply_re symm_apply_im]
 def equivRealProdAddHom : ℂ ≃+ ℝ × ℝ :=
   { equivRealProd with map_add' := by simp }
 #align complex.equiv_real_prod_add_hom Complex.equivRealProdAddHom
 
-/- warning: complex.equiv_real_prod_lm -> Complex.equivRealProdLm is a dubious translation:
-lean 3 declaration is
-  LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Prod.{0, 0} Real Real) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Prod.addCommMonoid.{0, 0} Real Real Real.addCommMonoid Real.addCommMonoid) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Prod.module.{0, 0, 0} Real Real Real Real.semiring Real.addCommMonoid Real.addCommMonoid (Semiring.toModule.{0} Real Real.semiring) (Semiring.toModule.{0} Real Real.semiring))
-but is expected to have type
-  LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Prod.{0, 0} Real Real) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Prod.instAddCommMonoidSum.{0, 0} Real Real Real.instAddCommMonoidReal Real.instAddCommMonoidReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Prod.module.{0, 0, 0} Real Real Real Real.semiring Real.instAddCommMonoidReal Real.instAddCommMonoidReal (Semiring.toModule.{0} Real Real.semiring) (Semiring.toModule.{0} Real Real.semiring))
-Case conversion may be inaccurate. Consider using '#align complex.equiv_real_prod_lm Complex.equivRealProdLmₓ'. -/
 /-- The natural `linear_equiv` from `ℂ` to `ℝ × ℝ`. -/
 @[simps (config := { simpRhs := true }) apply symm_apply_re symm_apply_im]
 def equivRealProdLm : ℂ ≃ₗ[ℝ] ℝ × ℝ :=
@@ -511,12 +346,6 @@ section lift
 
 variable {A : Type _} [Ring A] [Algebra ℝ A]
 
-/- warning: complex.lift_aux -> Complex.liftAux is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A), (Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))) -> (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2)
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A), (Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) -> (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2)
-Case conversion may be inaccurate. Consider using '#align complex.lift_aux Complex.liftAuxₓ'. -/
 /-- There is an alg_hom from `ℂ` to any `ℝ`-algebra with an element that squares to `-1`.
 
 See `complex.lift` for this as an equiv. -/
@@ -540,26 +369,14 @@ def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
           mul_assoc, ← add_mul, ← RingHom.map_mul, ← RingHom.map_mul, ← RingHom.map_add]
 #align complex.lift_aux Complex.liftAux
 
-/- warning: complex.lift_aux_apply -> Complex.liftAux_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply Complex.liftAux_applyₓ'. -/
 @[simp]
 theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap ℝ A z.re + z.im • I' :=
   rfl
 #align complex.lift_aux_apply Complex.liftAux_apply
 
-/- warning: complex.lift_aux_apply_I -> Complex.liftAux_apply_I is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply_I Complex.liftAux_apply_Iₓ'. -/
 theorem liftAux_apply_I (I' : A) (hI') : liftAux I' hI' I = I' := by simp
 #align complex.lift_aux_apply_I Complex.liftAux_apply_I
 
-/- warning: complex.lift -> Complex.lift is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)], Equiv.{succ u1, succ u1} (Subtype.{succ u1} A (fun (I' : A) => Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1)))))))))) (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2)
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)], Equiv.{succ u1, succ u1} (Subtype.{succ u1} A (fun (I' : A) => Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2)
-Case conversion may be inaccurate. Consider using '#align complex.lift Complex.liftₓ'. -/
 /-- A universal property of the complex numbers, providing a unique `ℂ →ₐ[ℝ] A` for every element
 of `A` which squares to `-1`.
 
@@ -575,21 +392,12 @@ def lift : { I' : A // I' * I' = -1 } ≃ (ℂ →ₐ[ℝ] A)
   right_inv F := algHom_ext <| liftAux_apply_I _ _
 #align complex.lift Complex.lift
 
-/- warning: complex.lift_aux_I -> Complex.liftAux_I is a dubious translation:
-lean 3 declaration is
-  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (Complex.liftAux.{0} Complex Complex.ring (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) Complex.I Complex.I_mul_I) (AlgHom.id.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))
-but is expected to have type
-  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (Complex.liftAux.{0} Complex Complex.instRingComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.I Complex.I_mul_I) (AlgHom.id.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))
-Case conversion may be inaccurate. Consider using '#align complex.lift_aux_I Complex.liftAux_Iₓ'. -/
 -- When applied to `complex.I` itself, `lift` is the identity.
 @[simp]
 theorem liftAux_I : liftAux I I_mul_I = AlgHom.id ℝ ℂ :=
   algHom_ext <| liftAux_apply_I _ _
 #align complex.lift_aux_I Complex.liftAux_I
 
-/- warning: complex.lift_aux_neg_I -> Complex.liftAux_neg_I is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align complex.lift_aux_neg_I Complex.liftAux_neg_Iₓ'. -/
 -- When applied to `-complex.I`, `lift` is conjugation, `conj`.
 @[simp]
 theorem liftAux_neg_I : liftAux (-I) ((neg_mul_neg _ _).trans I_mul_I) = conjAe :=
@@ -606,9 +414,6 @@ open Complex
 
 variable {A : Type _} [AddCommGroup A] [Module ℂ A] [StarAddMonoid A] [StarModule ℂ A]
 
-/- warning: skew_adjoint.neg_I_smul -> skewAdjoint.negISMul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align skew_adjoint.neg_I_smul skewAdjoint.negISMulₓ'. -/
 /-- Create a `self_adjoint` element from a `skew_adjoint` element by multiplying by the scalar
 `-complex.I`. -/
 @[simps]
@@ -626,20 +431,11 @@ def skewAdjoint.negISMul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
     rw [smul_comm]
 #align skew_adjoint.neg_I_smul skewAdjoint.negISMul
 
-/- warning: skew_adjoint.I_smul_neg_I -> skewAdjoint.I_smul_neg_I is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align skew_adjoint.I_smul_neg_I skewAdjoint.I_smul_neg_Iₓ'. -/
 theorem skewAdjoint.I_smul_neg_I (a : skewAdjoint A) : I • (skewAdjoint.negISMul a : A) = a := by
   simp only [smul_smul, skewAdjoint.negISMul_apply_coe, neg_smul, smul_neg, I_mul_I, one_smul,
     neg_neg]
 #align skew_adjoint.I_smul_neg_I skewAdjoint.I_smul_neg_I
 
-/- warning: real_part -> realPart is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
-Case conversion may be inaccurate. Consider using '#align real_part realPartₓ'. -/
 /-- The real part `ℜ a` of an element `a` of a star module over `ℂ`, as a linear map. This is just
 `self_adjoint_part ℝ`, but we provide it as a separate definition in order to link it with lemmas
 concerning the `imaginary_part`, which doesn't exist in star modules over other rings. -/
@@ -647,12 +443,6 @@ noncomputable def realPart : A →ₗ[ℝ] selfAdjoint A :=
   selfAdjointPart ℝ
 #align real_part realPart
 
-/- warning: imaginary_part -> imaginaryPart is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
-Case conversion may be inaccurate. Consider using '#align imaginary_part imaginaryPartₓ'. -/
 /-- The imaginary part `ℑ a` of an element `a` of a star module over `ℂ`, as a linear map into the
 self adjoint elements. In a general star module, we have a decomposition into the `self_adjoint`
 and `skew_adjoint` parts, but in a star module over `ℂ` we have
@@ -668,17 +458,11 @@ scoped[ComplexStarModule] notation "ℜ" => realPart
 -- mathport name: exprℑ
 scoped[ComplexStarModule] notation "ℑ" => imaginaryPart
 
-/- warning: real_part_apply_coe -> realPart_apply_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align real_part_apply_coe realPart_apply_coeₓ'. -/
 @[simp]
 theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) := by unfold realPart;
   simp only [selfAdjointPart_apply_coe, invOf_eq_inv]
 #align real_part_apply_coe realPart_apply_coe
 
-/- warning: imaginary_part_apply_coe -> imaginaryPart_apply_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align imaginary_part_apply_coe imaginaryPart_apply_coeₓ'. -/
 @[simp]
 theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) :=
   by
@@ -687,9 +471,6 @@ theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ 
     invOf_eq_inv]
 #align imaginary_part_apply_coe imaginaryPart_apply_coe
 
-/- warning: real_part_add_I_smul_imaginary_part -> realPart_add_I_smul_imaginaryPart is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPartₓ'. -/
 /-- The standard decomposition of `ℜ a + complex.I • ℑ a = a` of an element of a star module over
 `ℂ` into a linear combination of self adjoint elements. -/
 theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) = a := by
@@ -698,31 +479,19 @@ theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) =
     invOf_two_smul_add_invOf_two_smul ℝ a
 #align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPart
 
-/- warning: real_part_I_smul -> realPart_I_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align real_part_I_smul realPart_I_smulₓ'. -/
 @[simp]
 theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a := by ext;
   simp [smul_comm I, smul_sub, sub_eq_add_neg, add_comm]
 #align real_part_I_smul realPart_I_smul
 
-/- warning: imaginary_part_I_smul -> imaginaryPart_I_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align imaginary_part_I_smul imaginaryPart_I_smulₓ'. -/
 @[simp]
 theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a := by ext; simp [smul_comm I, smul_smul I]
 #align imaginary_part_I_smul imaginaryPart_I_smul
 
-/- warning: real_part_smul -> realPart_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align real_part_smul realPart_smulₓ'. -/
 theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a := by
   nth_rw 1 [← re_add_im z]; simp [-re_add_im, add_smul, ← smul_smul, sub_eq_add_neg]
 #align real_part_smul realPart_smul
 
-/- warning: imaginary_part_smul -> imaginaryPart_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align imaginary_part_smul imaginaryPart_smulₓ'. -/
 theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a := by
   nth_rw 1 [← re_add_im z]; simp [-re_add_im, add_smul, ← smul_smul]
 #align imaginary_part_smul imaginaryPart_smul
Diff
@@ -201,9 +201,7 @@ noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
     { toFun := fun z => ![z.re, z.im]
       invFun := fun c => c 0 + c 1 • I
       left_inv := fun z => by simp
-      right_inv := fun c => by
-        ext i
-        fin_cases i <;> simp
+      right_inv := fun c => by ext i; fin_cases i <;> simp
       map_add' := fun z z' => by simp
       -- why does `simp` not know how to apply `smul_cons`, which is a `@[simp]` lemma, here?
       map_smul' := fun c z => by simp [Matrix.smul_cons c z.re, Matrix.smul_cons c z.im] }
@@ -342,9 +340,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align rank_real_of_complex rank_real_of_complexₓ'. -/
 theorem rank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
     Module.rank ℝ E = 2 * Module.rank ℂ E :=
-  Cardinal.lift_inj.1 <|
-    by
-    rw [← lift_rank_mul_lift_rank ℝ ℂ E, Complex.rank_real_complex]
+  Cardinal.lift_inj.1 <| by rw [← lift_rank_mul_lift_rank ℝ ℂ E, Complex.rank_real_complex];
     simp [bit0]
 #align rank_real_of_complex rank_real_of_complex
 
@@ -622,11 +618,9 @@ def skewAdjoint.negISMul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
     ⟨-I • a, by
       simp only [selfAdjoint.mem_iff, neg_smul, star_neg, star_smul, star_def, conj_I,
         skewAdjoint.star_val_eq, neg_smul_neg]⟩
-  map_add' a b := by
-    ext
-    simp only [AddSubgroup.coe_add, smul_add, AddMemClass.mk_add_mk]
+  map_add' a b := by ext; simp only [AddSubgroup.coe_add, smul_add, AddMemClass.mk_add_mk]
   map_smul' a b := by
-    ext
+    ext;
     simp only [neg_smul, skewAdjoint.val_smul, AddSubgroup.coe_mk, RingHom.id_apply,
       selfAdjoint.val_smul, smul_neg, neg_inj]
     rw [smul_comm]
@@ -678,9 +672,7 @@ scoped[ComplexStarModule] notation "ℑ" => imaginaryPart
 <too large>
 Case conversion may be inaccurate. Consider using '#align real_part_apply_coe realPart_apply_coeₓ'. -/
 @[simp]
-theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) :=
-  by
-  unfold realPart
+theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) := by unfold realPart;
   simp only [selfAdjointPart_apply_coe, invOf_eq_inv]
 #align real_part_apply_coe realPart_apply_coe
 
@@ -710,9 +702,7 @@ theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) =
 <too large>
 Case conversion may be inaccurate. Consider using '#align real_part_I_smul realPart_I_smulₓ'. -/
 @[simp]
-theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
-  by
-  ext
+theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a := by ext;
   simp [smul_comm I, smul_sub, sub_eq_add_neg, add_comm]
 #align real_part_I_smul realPart_I_smul
 
@@ -720,28 +710,21 @@ theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
 <too large>
 Case conversion may be inaccurate. Consider using '#align imaginary_part_I_smul imaginaryPart_I_smulₓ'. -/
 @[simp]
-theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
-  by
-  ext
-  simp [smul_comm I, smul_smul I]
+theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a := by ext; simp [smul_comm I, smul_smul I]
 #align imaginary_part_I_smul imaginaryPart_I_smul
 
 /- warning: real_part_smul -> realPart_smul is a dubious translation:
 <too large>
 Case conversion may be inaccurate. Consider using '#align real_part_smul realPart_smulₓ'. -/
-theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a :=
-  by
-  nth_rw 1 [← re_add_im z]
-  simp [-re_add_im, add_smul, ← smul_smul, sub_eq_add_neg]
+theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a := by
+  nth_rw 1 [← re_add_im z]; simp [-re_add_im, add_smul, ← smul_smul, sub_eq_add_neg]
 #align real_part_smul realPart_smul
 
 /- warning: imaginary_part_smul -> imaginaryPart_smul is a dubious translation:
 <too large>
 Case conversion may be inaccurate. Consider using '#align imaginary_part_smul imaginaryPart_smulₓ'. -/
-theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a :=
-  by
-  nth_rw 1 [← re_add_im z]
-  simp [-re_add_im, add_smul, ← smul_smul]
+theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a := by
+  nth_rw 1 [← re_add_im z]; simp [-re_add_im, add_smul, ← smul_smul]
 #align imaginary_part_smul imaginaryPart_smul
 
 end RealImaginaryPart
Diff
@@ -147,10 +147,7 @@ section
 variable {A : Type _} [Semiring A] [Algebra ℝ A]
 
 /- warning: alg_hom.map_coe_real_complex -> AlgHom.map_coe_real_complex is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (x : Real), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))) x)) (coeFn.{succ u1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (fun (_x : RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) => Real -> A) (RingHom.hasCoeToFun.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (algebraMap.{0, u1} Real A Real.commSemiring _inst_1 _inst_2) x)
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (x : Real), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2) x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align alg_hom.map_coe_real_complex AlgHom.map_coe_real_complexₓ'. -/
 /-- We need this lemma since `complex.coe_algebra_map` diverts the simp-normal form away from
 `alg_hom.commutes`. -/
@@ -160,10 +157,7 @@ theorem AlgHom.map_coe_real_complex (f : ℂ →ₐ[ℝ] A) (x : ℝ) : f x = al
 #align alg_hom.map_coe_real_complex AlgHom.map_coe_real_complex
 
 /- warning: complex.alg_hom_ext -> Complex.algHom_ext is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring _inst_1] {{f : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2}} {{g : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2}}, (Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f Complex.I) (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) g Complex.I)) -> (Eq.{succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f g)
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] {{f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2}} {{g : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2}}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) g Complex.I)) -> (Eq.{succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) f g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align complex.alg_hom_ext Complex.algHom_extₓ'. -/
 /-- Two `ℝ`-algebra homomorphisms from ℂ are equal if they agree on `complex.I`. -/
 @[ext]
@@ -216,10 +210,7 @@ noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
 #align complex.basis_one_I Complex.basisOneI
 
 /- warning: complex.coe_basis_one_I_repr -> Complex.coe_basisOneI_repr is a dubious translation:
-lean 3 declaration is
-  forall (z : Complex), Eq.{1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (coeFn.{1, 1} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (fun (_x : Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) => (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Finsupp.coeFun.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (coeFn.{1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) => Complex -> (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (LinearEquiv.hasCoeToFun.{0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring)) (Basis.repr.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI) z)) (Matrix.vecCons.{0} Real (Nat.succ (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Complex.re z) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Complex.im z) (Matrix.vecEmpty.{0} Real)))
-but is expected to have type
-  forall (z : Complex), Eq.{1} (forall (ᾰ : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Real) _x) (Finsupp.funLike.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (Module.toDistribMulAction.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (SMulZeroClass.toSMul.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (Module.toDistribMulAction.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (Module.toDistribMulAction.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Module.toDistribMulAction.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring)))))) (Basis.repr.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI) z)) (Matrix.vecCons.{0} Real (Nat.succ (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Complex.re z) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Complex.im z) (Matrix.vecEmpty.{0} Real)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align complex.coe_basis_one_I_repr Complex.coe_basisOneI_reprₓ'. -/
 @[simp]
 theorem coe_basisOneI_repr (z : ℂ) : ⇑(basisOneI.repr z) = ![z.re, z.im] :=
@@ -461,10 +452,7 @@ def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
 #align complex.conj_ae Complex.conjAe
 
 /- warning: complex.conj_ae_coe -> Complex.conjAe_coe is a dubious translation:
-lean 3 declaration is
-  Eq.{1} (Complex -> Complex) (coeFn.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (fun (_x : AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) => Complex -> Complex) (AlgEquiv.hasCoeToFun.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Complex.conjAe) (coeFn.{1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (fun (_x : RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) => Complex -> Complex) (RingHom.hasCoeToFun.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (starRingEnd.{0} Complex Complex.commSemiring Complex.starRing))
-but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => Complex) ᾰ) (FunLike.coe.{1, 1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => Complex) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))))))) Complex.conjAe) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Complex) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (RingHom.instRingHomClassRingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))))) (starRingEnd.{0} Complex Complex.instCommSemiringComplex Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))
+<too large>
 Case conversion may be inaccurate. Consider using '#align complex.conj_ae_coe Complex.conjAe_coeₓ'. -/
 @[simp]
 theorem conjAe_coe : ⇑conjAe = conj :=
@@ -472,10 +460,7 @@ theorem conjAe_coe : ⇑conjAe = conj :=
 #align complex.conj_ae_coe Complex.conjAe_coe
 
 /- warning: complex.to_matrix_conj_ae -> Complex.toMatrix_conjAe is a dubious translation:
-lean 3 declaration is
-  Eq.{1} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (coeFn.{1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (fun (_x : LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) => (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) -> (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (LinearEquiv.hasCoeToFun.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring)) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.commSemiring (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (b : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) a b) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) Complex.conjAe)) (coeFn.{1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (fun (_x : Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) => ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) -> (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (Equiv.hasCoeToFun.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Neg.neg.{0} Real Real.hasNeg (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real)))))
-but is expected to have type
-  Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (SMulZeroClass.toSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))))))) (SMulZeroClass.toSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toZero.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toAddZeroClass.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.instCommSemiringReal (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (b : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) a b) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (fun (_x : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (Equiv.instFunLikeEquiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Neg.neg.{0} Real Real.instNegReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align complex.to_matrix_conj_ae Complex.toMatrix_conjAeₓ'. -/
 /-- The matrix representation of `conj_ae`. -/
 @[simp]
@@ -560,10 +545,7 @@ def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
 #align complex.lift_aux Complex.liftAux
 
 /- warning: complex.lift_aux_apply -> Complex.liftAux_apply is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))) (z : Complex), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (Distrib.toHasAdd.{u1} A (Ring.toDistrib.{u1} A _inst_1))) (coeFn.{succ u1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (fun (_x : RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) => Real -> A) (RingHom.hasCoeToFun.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (algebraMap.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (Module.toMulActionWithZero.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (Complex.im z) I'))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (z : Complex), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) z) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) _inst_1)))))) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (Algebra.toSMul.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (Complex.im z) I'))
+<too large>
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply Complex.liftAux_applyₓ'. -/
 @[simp]
 theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap ℝ A z.re + z.im • I' :=
@@ -571,10 +553,7 @@ theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap 
 #align complex.lift_aux_apply Complex.liftAux_apply
 
 /- warning: complex.lift_aux_apply_I -> Complex.liftAux_apply_I is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
+<too large>
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply_I Complex.liftAux_apply_Iₓ'. -/
 theorem liftAux_apply_I (I' : A) (hI') : liftAux I' hI' I = I' := by simp
 #align complex.lift_aux_apply_I Complex.liftAux_apply_I
@@ -613,10 +592,7 @@ theorem liftAux_I : liftAux I I_mul_I = AlgHom.id ℝ ℂ :=
 #align complex.lift_aux_I Complex.liftAux_I
 
 /- warning: complex.lift_aux_neg_I -> Complex.liftAux_neg_I is a dubious translation:
-lean 3 declaration is
-  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (Complex.liftAux.{0} Complex Complex.ring (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Neg.neg.{0} Complex (InvolutiveNeg.toHasNeg.{0} Complex (HasDistribNeg.toHasInvolutiveNeg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))))) Complex.I) (Eq.trans.{1} Complex (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring))) (Neg.neg.{0} Complex (InvolutiveNeg.toHasNeg.{0} Complex (HasDistribNeg.toHasInvolutiveNeg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))))) Complex.I) (Neg.neg.{0} Complex (InvolutiveNeg.toHasNeg.{0} Complex (HasDistribNeg.toHasInvolutiveNeg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))))) Complex.I)) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring))) Complex.I Complex.I) (Neg.neg.{0} Complex (SubNegMonoid.toHasNeg.{0} Complex (AddGroup.toSubNegMonoid.{0} Complex (AddGroupWithOne.toAddGroup.{0} Complex (AddCommGroupWithOne.toAddGroupWithOne.{0} Complex (Ring.toAddCommGroupWithOne.{0} Complex Complex.ring))))) (OfNat.ofNat.{0} Complex 1 (OfNat.mk.{0} Complex 1 (One.one.{0} Complex (AddMonoidWithOne.toOne.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex (AddCommGroupWithOne.toAddGroupWithOne.{0} Complex (Ring.toAddCommGroupWithOne.{0} Complex Complex.ring)))))))) (neg_mul_neg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))) Complex.I Complex.I) Complex.I_mul_I)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (HasLiftT.mk.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (CoeTCₓ.coe.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHomClass.coeTC.{0, 0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.algEquivClass.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))))))) Complex.conjAe)
-but is expected to have type
-  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (Complex.liftAux.{0} Complex Complex.instRingComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (Eq.trans.{1} Complex (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Neg.neg.{0} Complex (InvolutiveNeg.toNeg.{0} Complex (HasDistribNeg.toInvolutiveNeg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) Complex.I) (Neg.neg.{0} Complex (InvolutiveNeg.toNeg.{0} Complex (HasDistribNeg.toInvolutiveNeg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) Complex.I)) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Complex.I Complex.I) (Neg.neg.{0} Complex (Ring.toNeg.{0} Complex Complex.instRingComplex) (OfNat.ofNat.{0} Complex 1 (One.toOfNat1.{0} Complex (Semiring.toOne.{0} Complex (Ring.toSemiring.{0} Complex Complex.instRingComplex))))) (neg_mul_neg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) Complex.I Complex.I) Complex.I_mul_I)) (AlgHomClass.toAlgHom.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.conjAe)
+<too large>
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux_neg_I Complex.liftAux_neg_Iₓ'. -/
 -- When applied to `-complex.I`, `lift` is conjugation, `conj`.
 @[simp]
@@ -635,10 +611,7 @@ open Complex
 variable {A : Type _} [AddCommGroup A] [Module ℂ A] [StarAddMonoid A] [StarModule ℂ A]
 
 /- warning: skew_adjoint.neg_I_smul -> skewAdjoint.negISMul is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
+<too large>
 Case conversion may be inaccurate. Consider using '#align skew_adjoint.neg_I_smul skewAdjoint.negISMulₓ'. -/
 /-- Create a `self_adjoint` element from a `skew_adjoint` element by multiplying by the scalar
 `-complex.I`. -/
@@ -660,10 +633,7 @@ def skewAdjoint.negISMul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
 #align skew_adjoint.neg_I_smul skewAdjoint.negISMul
 
 /- warning: skew_adjoint.I_smul_neg_I -> skewAdjoint.I_smul_neg_I is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)), Eq.{succ u1} A (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3)))))) a)
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))), Eq.{succ u1} A (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (fun (_x : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (skewAdjoint.{u1} A _inst_1 _inst_3))) a)
+<too large>
 Case conversion may be inaccurate. Consider using '#align skew_adjoint.I_smul_neg_I skewAdjoint.I_smul_neg_Iₓ'. -/
 theorem skewAdjoint.I_smul_neg_I (a : skewAdjoint A) : I • (skewAdjoint.negISMul a : A) = a := by
   simp only [smul_smul, skewAdjoint.negISMul_apply_coe, neg_smul, smul_neg, I_mul_I, one_smul,
@@ -705,10 +675,7 @@ scoped[ComplexStarModule] notation "ℜ" => realPart
 scoped[ComplexStarModule] notation "ℑ" => imaginaryPart
 
 /- warning: real_part_apply_coe -> realPart_apply_coe is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align real_part_apply_coe realPart_apply_coeₓ'. -/
 @[simp]
 theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) :=
@@ -718,10 +685,7 @@ theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star
 #align real_part_apply_coe realPart_apply_coe
 
 /- warning: imaginary_part_apply_coe -> imaginaryPart_apply_coe is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) (Neg.neg.{0} Complex Complex.hasNeg Complex.I) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toHasSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align imaginary_part_apply_coe imaginaryPart_apply_coeₓ'. -/
 @[simp]
 theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) :=
@@ -732,10 +696,7 @@ theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ 
 #align imaginary_part_apply_coe imaginaryPart_apply_coe
 
 /- warning: real_part_add_I_smul_imaginary_part -> realPart_add_I_smul_imaginaryPart is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
+<too large>
 Case conversion may be inaccurate. Consider using '#align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPartₓ'. -/
 /-- The standard decomposition of `ℜ a + complex.I • ℑ a = a` of an element of a star module over
 `ℂ` into a linear combination of self adjoint elements. -/
@@ -746,10 +707,7 @@ theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) =
 #align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPart
 
 /- warning: real_part_I_smul -> realPart_I_smul is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (Neg.neg.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
+<too large>
 Case conversion may be inaccurate. Consider using '#align real_part_I_smul realPart_I_smulₓ'. -/
 @[simp]
 theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
@@ -759,10 +717,7 @@ theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
 #align real_part_I_smul realPart_I_smul
 
 /- warning: imaginary_part_I_smul -> imaginaryPart_I_smul is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
+<too large>
 Case conversion may be inaccurate. Consider using '#align imaginary_part_I_smul imaginaryPart_I_smulₓ'. -/
 @[simp]
 theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
@@ -772,10 +727,7 @@ theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
 #align imaginary_part_I_smul imaginaryPart_I_smul
 
 /- warning: real_part_smul -> realPart_smul is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HSub.hSub.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHSub.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align real_part_smul realPart_smulₓ'. -/
 theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a :=
   by
@@ -784,10 +736,7 @@ theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im
 #align real_part_smul realPart_smul
 
 /- warning: imaginary_part_smul -> imaginaryPart_smul is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HAdd.hAdd.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHAdd.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align imaginary_part_smul imaginaryPart_smulₓ'. -/
 theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a :=
   by
Diff
@@ -150,7 +150,7 @@ variable {A : Type _} [Semiring A] [Algebra ℝ A]
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (x : Real), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))) x)) (coeFn.{succ u1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (fun (_x : RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) => Real -> A) (RingHom.hasCoeToFun.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (algebraMap.{0, u1} Real A Real.commSemiring _inst_1 _inst_2) x)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (x : Real), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2) x)
+  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (x : Real), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2) x)
 Case conversion may be inaccurate. Consider using '#align alg_hom.map_coe_real_complex AlgHom.map_coe_real_complexₓ'. -/
 /-- We need this lemma since `complex.coe_algebra_map` diverts the simp-normal form away from
 `alg_hom.commutes`. -/
@@ -163,7 +163,7 @@ theorem AlgHom.map_coe_real_complex (f : ℂ →ₐ[ℝ] A) (x : ℝ) : f x = al
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring _inst_1] {{f : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2}} {{g : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2}}, (Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f Complex.I) (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) g Complex.I)) -> (Eq.{succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f g)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] {{f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2}} {{g : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2}}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) g Complex.I)) -> (Eq.{succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) f g)
+  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] {{f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2}} {{g : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2}}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) g Complex.I)) -> (Eq.{succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) f g)
 Case conversion may be inaccurate. Consider using '#align complex.alg_hom_ext Complex.algHom_extₓ'. -/
 /-- Two `ℝ`-algebra homomorphisms from ℂ are equal if they agree on `complex.I`. -/
 @[ext]
@@ -219,7 +219,7 @@ noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
 lean 3 declaration is
   forall (z : Complex), Eq.{1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (coeFn.{1, 1} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (fun (_x : Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) => (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Finsupp.coeFun.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (coeFn.{1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) => Complex -> (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (LinearEquiv.hasCoeToFun.{0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring)) (Basis.repr.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI) z)) (Matrix.vecCons.{0} Real (Nat.succ (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Complex.re z) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Complex.im z) (Matrix.vecEmpty.{0} Real)))
 but is expected to have type
-  forall (z : Complex), Eq.{1} (forall (ᾰ : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Real) _x) (Finsupp.funLike.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (Module.toDistribMulAction.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (SMulZeroClass.toSMul.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (Module.toDistribMulAction.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (Module.toDistribMulAction.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Module.toDistribMulAction.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring)))))) (Basis.repr.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI) z)) (Matrix.vecCons.{0} Real (Nat.succ (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Complex.re z) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Complex.im z) (Matrix.vecEmpty.{0} Real)))
+  forall (z : Complex), Eq.{1} (forall (ᾰ : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Real) _x) (Finsupp.funLike.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (Module.toDistribMulAction.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (SMulZeroClass.toSMul.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (Module.toDistribMulAction.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (Module.toDistribMulAction.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Module.toDistribMulAction.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring)))))) (Basis.repr.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI) z)) (Matrix.vecCons.{0} Real (Nat.succ (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Complex.re z) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Complex.im z) (Matrix.vecEmpty.{0} Real)))
 Case conversion may be inaccurate. Consider using '#align complex.coe_basis_one_I_repr Complex.coe_basisOneI_reprₓ'. -/
 @[simp]
 theorem coe_basisOneI_repr (z : ℂ) : ⇑(basisOneI.repr z) = ![z.re, z.im] :=
@@ -396,7 +396,7 @@ def reLm : ℂ →ₗ[ℝ] ℝ where
 lean 3 declaration is
   Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
 but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
 Case conversion may be inaccurate. Consider using '#align complex.re_lm_coe Complex.reLm_coeₓ'. -/
 @[simp]
 theorem reLm_coe : ⇑reLm = re :=
@@ -420,7 +420,7 @@ def imLm : ℂ →ₗ[ℝ] ℝ where
 lean 3 declaration is
   Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
 but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
 Case conversion may be inaccurate. Consider using '#align complex.im_lm_coe Complex.imLm_coeₓ'. -/
 @[simp]
 theorem imLm_coe : ⇑imLm = im :=
@@ -464,7 +464,7 @@ def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
 lean 3 declaration is
   Eq.{1} (Complex -> Complex) (coeFn.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (fun (_x : AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) => Complex -> Complex) (AlgEquiv.hasCoeToFun.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Complex.conjAe) (coeFn.{1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (fun (_x : RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) => Complex -> Complex) (RingHom.hasCoeToFun.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (starRingEnd.{0} Complex Complex.commSemiring Complex.starRing))
 but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) ᾰ) (FunLike.coe.{1, 1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))))))) Complex.conjAe) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Complex) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (RingHom.instRingHomClassRingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))))) (starRingEnd.{0} Complex Complex.instCommSemiringComplex Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => Complex) ᾰ) (FunLike.coe.{1, 1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => Complex) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))))))) Complex.conjAe) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Complex) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (RingHom.instRingHomClassRingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))))) (starRingEnd.{0} Complex Complex.instCommSemiringComplex Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))
 Case conversion may be inaccurate. Consider using '#align complex.conj_ae_coe Complex.conjAe_coeₓ'. -/
 @[simp]
 theorem conjAe_coe : ⇑conjAe = conj :=
@@ -475,7 +475,7 @@ theorem conjAe_coe : ⇑conjAe = conj :=
 lean 3 declaration is
   Eq.{1} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (coeFn.{1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (fun (_x : LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) => (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) -> (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (LinearEquiv.hasCoeToFun.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring)) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.commSemiring (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (b : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) a b) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) Complex.conjAe)) (coeFn.{1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (fun (_x : Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) => ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) -> (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (Equiv.hasCoeToFun.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Neg.neg.{0} Real Real.hasNeg (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real)))))
 but is expected to have type
-  Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (SMulZeroClass.toSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))))))) (SMulZeroClass.toSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toZero.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toAddZeroClass.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.instCommSemiringReal (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (b : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) a b) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (fun (_x : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (Equiv.instFunLikeEquiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Neg.neg.{0} Real Real.instNegReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real)))))
+  Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (SMulZeroClass.toSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))))))) (SMulZeroClass.toSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toZero.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toAddZeroClass.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.instCommSemiringReal (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (b : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) a b) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (fun (_x : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (Equiv.instFunLikeEquiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Neg.neg.{0} Real Real.instNegReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real)))))
 Case conversion may be inaccurate. Consider using '#align complex.to_matrix_conj_ae Complex.toMatrix_conjAeₓ'. -/
 /-- The matrix representation of `conj_ae`. -/
 @[simp]
@@ -563,7 +563,7 @@ def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))) (z : Complex), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (Distrib.toHasAdd.{u1} A (Ring.toDistrib.{u1} A _inst_1))) (coeFn.{succ u1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (fun (_x : RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) => Real -> A) (RingHom.hasCoeToFun.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (algebraMap.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (Module.toMulActionWithZero.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (Complex.im z) I'))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (z : Complex), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) z) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) _inst_1)))))) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (Algebra.toSMul.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (Complex.im z) I'))
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (z : Complex), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) z) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) _inst_1)))))) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (Algebra.toSMul.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (Complex.im z) I'))
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply Complex.liftAux_applyₓ'. -/
 @[simp]
 theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap ℝ A z.re + z.im • I' :=
@@ -574,7 +574,7 @@ theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap 
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply_I Complex.liftAux_apply_Iₓ'. -/
 theorem liftAux_apply_I (I' : A) (hI') : liftAux I' hI' I = I' := by simp
 #align complex.lift_aux_apply_I Complex.liftAux_apply_I
@@ -663,7 +663,7 @@ def skewAdjoint.negISMul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)), Eq.{succ u1} A (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3)))))) a)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))), Eq.{succ u1} A (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (fun (_x : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (skewAdjoint.{u1} A _inst_1 _inst_3))) a)
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))), Eq.{succ u1} A (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (fun (_x : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (skewAdjoint.{u1} A _inst_1 _inst_3))) a)
 Case conversion may be inaccurate. Consider using '#align skew_adjoint.I_smul_neg_I skewAdjoint.I_smul_neg_Iₓ'. -/
 theorem skewAdjoint.I_smul_neg_I (a : skewAdjoint A) : I • (skewAdjoint.negISMul a : A) = a := by
   simp only [smul_smul, skewAdjoint.negISMul_apply_coe, neg_smul, smul_neg, I_mul_I, one_smul,
@@ -708,7 +708,7 @@ scoped[ComplexStarModule] notation "ℑ" => imaginaryPart
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
 Case conversion may be inaccurate. Consider using '#align real_part_apply_coe realPart_apply_coeₓ'. -/
 @[simp]
 theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) :=
@@ -721,7 +721,7 @@ theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) (Neg.neg.{0} Complex Complex.hasNeg Complex.I) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toHasSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
 Case conversion may be inaccurate. Consider using '#align imaginary_part_apply_coe imaginaryPart_apply_coeₓ'. -/
 @[simp]
 theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) :=
@@ -735,7 +735,7 @@ theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ 
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
 Case conversion may be inaccurate. Consider using '#align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPartₓ'. -/
 /-- The standard decomposition of `ℜ a + complex.I • ℑ a = a` of an element of a star module over
 `ℂ` into a linear combination of self adjoint elements. -/
@@ -749,7 +749,7 @@ theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) =
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (Neg.neg.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
 Case conversion may be inaccurate. Consider using '#align real_part_I_smul realPart_I_smulₓ'. -/
 @[simp]
 theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
@@ -762,7 +762,7 @@ theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
 Case conversion may be inaccurate. Consider using '#align imaginary_part_I_smul imaginaryPart_I_smulₓ'. -/
 @[simp]
 theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
@@ -775,7 +775,7 @@ theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HSub.hSub.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHSub.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 Case conversion may be inaccurate. Consider using '#align real_part_smul realPart_smulₓ'. -/
 theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a :=
   by
@@ -787,7 +787,7 @@ theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HAdd.hAdd.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHAdd.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 Case conversion may be inaccurate. Consider using '#align imaginary_part_smul imaginaryPart_smulₓ'. -/
 theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a :=
   by
Diff
@@ -135,7 +135,7 @@ instance : StarModule ℝ ℂ :=
 lean 3 declaration is
   Eq.{1} ((fun (_x : RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) => Real -> Complex) (algebraMap.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))) (coeFn.{1, 1} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) (fun (_x : RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) => Real -> Complex) (RingHom.hasCoeToFun.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) (algebraMap.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))))
 but is expected to have type
-  Eq.{1} (forall (a : Real), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => Complex) a) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex) (RingHom.instRingHomClassRingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (algebraMap.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.ofReal'
+  Eq.{1} (forall (a : Real), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => Complex) a) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex) (RingHom.instRingHomClassRingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (algebraMap.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.ofReal'
 Case conversion may be inaccurate. Consider using '#align complex.coe_algebra_map Complex.coe_algebraMapₓ'. -/
 @[simp]
 theorem coe_algebraMap : (algebraMap ℝ ℂ : ℝ → ℂ) = coe :=
@@ -150,7 +150,7 @@ variable {A : Type _} [Semiring A] [Algebra ℝ A]
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (x : Real), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))) x)) (coeFn.{succ u1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (fun (_x : RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) => Real -> A) (RingHom.hasCoeToFun.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (algebraMap.{0, u1} Real A Real.commSemiring _inst_1 _inst_2) x)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (x : Real), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2) x)
+  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (x : Real), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2) x)
 Case conversion may be inaccurate. Consider using '#align alg_hom.map_coe_real_complex AlgHom.map_coe_real_complexₓ'. -/
 /-- We need this lemma since `complex.coe_algebra_map` diverts the simp-normal form away from
 `alg_hom.commutes`. -/
@@ -464,7 +464,7 @@ def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
 lean 3 declaration is
   Eq.{1} (Complex -> Complex) (coeFn.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (fun (_x : AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) => Complex -> Complex) (AlgEquiv.hasCoeToFun.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Complex.conjAe) (coeFn.{1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (fun (_x : RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) => Complex -> Complex) (RingHom.hasCoeToFun.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (starRingEnd.{0} Complex Complex.commSemiring Complex.starRing))
 but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) ᾰ) (FunLike.coe.{1, 1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))))))) Complex.conjAe) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Complex) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (RingHom.instRingHomClassRingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))))) (starRingEnd.{0} Complex Complex.instCommSemiringComplex Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) ᾰ) (FunLike.coe.{1, 1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))))))) Complex.conjAe) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Complex) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (RingHom.instRingHomClassRingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))))) (starRingEnd.{0} Complex Complex.instCommSemiringComplex Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))
 Case conversion may be inaccurate. Consider using '#align complex.conj_ae_coe Complex.conjAe_coeₓ'. -/
 @[simp]
 theorem conjAe_coe : ⇑conjAe = conj :=
@@ -475,7 +475,7 @@ theorem conjAe_coe : ⇑conjAe = conj :=
 lean 3 declaration is
   Eq.{1} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (coeFn.{1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (fun (_x : LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) => (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) -> (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (LinearEquiv.hasCoeToFun.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring)) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.commSemiring (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (b : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) a b) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) Complex.conjAe)) (coeFn.{1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (fun (_x : Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) => ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) -> (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (Equiv.hasCoeToFun.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Neg.neg.{0} Real Real.hasNeg (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real)))))
 but is expected to have type
-  Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (SMulZeroClass.toSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))))))) (SMulZeroClass.toSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toZero.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toAddZeroClass.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.instCommSemiringReal (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (b : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) a b) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (fun (_x : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (Equiv.instFunLikeEquiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Neg.neg.{0} Real Real.instNegReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real)))))
+  Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (SMulZeroClass.toSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))))))) (SMulZeroClass.toSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toZero.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toAddZeroClass.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.instCommSemiringReal (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (b : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) a b) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (fun (_x : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (Equiv.instFunLikeEquiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Neg.neg.{0} Real Real.instNegReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real)))))
 Case conversion may be inaccurate. Consider using '#align complex.to_matrix_conj_ae Complex.toMatrix_conjAeₓ'. -/
 /-- The matrix representation of `conj_ae`. -/
 @[simp]
@@ -563,7 +563,7 @@ def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))) (z : Complex), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (Distrib.toHasAdd.{u1} A (Ring.toDistrib.{u1} A _inst_1))) (coeFn.{succ u1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (fun (_x : RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) => Real -> A) (RingHom.hasCoeToFun.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (algebraMap.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (Module.toMulActionWithZero.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (Complex.im z) I'))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (z : Complex), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) z) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) _inst_1)))))) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (Algebra.toSMul.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (Complex.im z) I'))
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (z : Complex), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) z) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) (Complex.re z)) _inst_1)))))) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (Algebra.toSMul.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (Complex.im z) I'))
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply Complex.liftAux_applyₓ'. -/
 @[simp]
 theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap ℝ A z.re + z.im • I' :=
Diff
@@ -396,7 +396,7 @@ def reLm : ℂ →ₗ[ℝ] ℝ where
 lean 3 declaration is
   Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
 but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
 Case conversion may be inaccurate. Consider using '#align complex.re_lm_coe Complex.reLm_coeₓ'. -/
 @[simp]
 theorem reLm_coe : ⇑reLm = re :=
@@ -420,7 +420,7 @@ def imLm : ℂ →ₗ[ℝ] ℝ where
 lean 3 declaration is
   Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
 but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
 Case conversion may be inaccurate. Consider using '#align complex.im_lm_coe Complex.imLm_coeₓ'. -/
 @[simp]
 theorem imLm_coe : ⇑imLm = im :=
@@ -663,7 +663,7 @@ def skewAdjoint.negISMul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)), Eq.{succ u1} A (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3)))))) a)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))), Eq.{succ u1} A (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (fun (_x : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (skewAdjoint.{u1} A _inst_1 _inst_3))) a)
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))), Eq.{succ u1} A (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (fun (_x : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (skewAdjoint.{u1} A _inst_1 _inst_3))) a)
 Case conversion may be inaccurate. Consider using '#align skew_adjoint.I_smul_neg_I skewAdjoint.I_smul_neg_Iₓ'. -/
 theorem skewAdjoint.I_smul_neg_I (a : skewAdjoint A) : I • (skewAdjoint.negISMul a : A) = a := by
   simp only [smul_smul, skewAdjoint.negISMul_apply_coe, neg_smul, smul_neg, I_mul_I, one_smul,
@@ -708,7 +708,7 @@ scoped[ComplexStarModule] notation "ℑ" => imaginaryPart
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
 Case conversion may be inaccurate. Consider using '#align real_part_apply_coe realPart_apply_coeₓ'. -/
 @[simp]
 theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) :=
@@ -721,7 +721,7 @@ theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) (Neg.neg.{0} Complex Complex.hasNeg Complex.I) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toHasSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
 Case conversion may be inaccurate. Consider using '#align imaginary_part_apply_coe imaginaryPart_apply_coeₓ'. -/
 @[simp]
 theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) :=
@@ -735,7 +735,7 @@ theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ 
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
 Case conversion may be inaccurate. Consider using '#align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPartₓ'. -/
 /-- The standard decomposition of `ℜ a + complex.I • ℑ a = a` of an element of a star module over
 `ℂ` into a linear combination of self adjoint elements. -/
@@ -749,7 +749,7 @@ theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) =
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (Neg.neg.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
 Case conversion may be inaccurate. Consider using '#align real_part_I_smul realPart_I_smulₓ'. -/
 @[simp]
 theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
@@ -762,7 +762,7 @@ theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
 Case conversion may be inaccurate. Consider using '#align imaginary_part_I_smul imaginaryPart_I_smulₓ'. -/
 @[simp]
 theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
@@ -775,7 +775,7 @@ theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HSub.hSub.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHSub.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 Case conversion may be inaccurate. Consider using '#align real_part_smul realPart_smulₓ'. -/
 theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a :=
   by
@@ -787,7 +787,7 @@ theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HAdd.hAdd.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHAdd.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 Case conversion may be inaccurate. Consider using '#align imaginary_part_smul imaginaryPart_smulₓ'. -/
 theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a :=
   by
Diff
@@ -368,7 +368,7 @@ theorem finrank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
 lean 3 declaration is
   forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Star.{u1} E] [_inst_3 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_4 : StarModule.{0, u1} Complex E (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) _inst_2 (SMulZeroClass.toHasSmul.{0, u1} Complex E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex E (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_3))))], StarModule.{0, u1} Real E (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) _inst_2 (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_3)))))
 but is expected to have type
-  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Star.{u1} E] [_inst_3 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_4 : StarModule.{0, u1} Complex E (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) _inst_2 (SMulZeroClass.toSMul.{0, u1} Complex E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex E Complex.instZeroComplex (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_3))))], StarModule.{0, u1} Real E (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) _inst_2 (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_3)))))
+  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Star.{u1} E] [_inst_3 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_4 : StarModule.{0, u1} Complex E (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) _inst_2 (SMulZeroClass.toSMul.{0, u1} Complex E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex E Complex.instZeroComplex (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_3))))], StarModule.{0, u1} Real E (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) _inst_2 (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_3)))))
 Case conversion may be inaccurate. Consider using '#align star_module.complex_to_real StarModule.complexToRealₓ'. -/
 instance (priority := 900) StarModule.complexToReal {E : Type _} [AddCommGroup E] [Star E]
     [Module ℂ E] [StarModule ℂ E] : StarModule ℝ E :=
@@ -383,7 +383,7 @@ open ComplexConjugate
 lean 3 declaration is
   LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
 but is expected to have type
-  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
+  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
 Case conversion may be inaccurate. Consider using '#align complex.re_lm Complex.reLmₓ'. -/
 /-- Linear map version of the real part function, from `ℂ` to `ℝ`. -/
 def reLm : ℂ →ₗ[ℝ] ℝ where
@@ -396,7 +396,7 @@ def reLm : ℂ →ₗ[ℝ] ℝ where
 lean 3 declaration is
   Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
 but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) Complex.reLm) Complex.re
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
 Case conversion may be inaccurate. Consider using '#align complex.re_lm_coe Complex.reLm_coeₓ'. -/
 @[simp]
 theorem reLm_coe : ⇑reLm = re :=
@@ -407,7 +407,7 @@ theorem reLm_coe : ⇑reLm = re :=
 lean 3 declaration is
   LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
 but is expected to have type
-  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
+  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
 Case conversion may be inaccurate. Consider using '#align complex.im_lm Complex.imLmₓ'. -/
 /-- Linear map version of the imaginary part function, from `ℂ` to `ℝ`. -/
 def imLm : ℂ →ₗ[ℝ] ℝ where
@@ -420,7 +420,7 @@ def imLm : ℂ →ₗ[ℝ] ℝ where
 lean 3 declaration is
   Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
 but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) Complex.imLm) Complex.im
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
 Case conversion may be inaccurate. Consider using '#align complex.im_lm_coe Complex.imLm_coeₓ'. -/
 @[simp]
 theorem imLm_coe : ⇑imLm = im :=
@@ -464,7 +464,7 @@ def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
 lean 3 declaration is
   Eq.{1} (Complex -> Complex) (coeFn.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (fun (_x : AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) => Complex -> Complex) (AlgEquiv.hasCoeToFun.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Complex.conjAe) (coeFn.{1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (fun (_x : RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) => Complex -> Complex) (RingHom.hasCoeToFun.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (starRingEnd.{0} Complex Complex.commSemiring Complex.starRing))
 but is expected to have type
-  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) ᾰ) (FunLike.coe.{1, 1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))))))) Complex.conjAe) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Complex) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (RingHom.instRingHomClassRingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))))) (starRingEnd.{0} Complex Complex.instCommSemiringComplex Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) ᾰ) (FunLike.coe.{1, 1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))))))) Complex.conjAe) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Complex) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (RingHom.instRingHomClassRingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))))) (starRingEnd.{0} Complex Complex.instCommSemiringComplex Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))
 Case conversion may be inaccurate. Consider using '#align complex.conj_ae_coe Complex.conjAe_coeₓ'. -/
 @[simp]
 theorem conjAe_coe : ⇑conjAe = conj :=
@@ -518,7 +518,7 @@ def equivRealProdAddHom : ℂ ≃+ ℝ × ℝ :=
 lean 3 declaration is
   LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Prod.{0, 0} Real Real) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Prod.addCommMonoid.{0, 0} Real Real Real.addCommMonoid Real.addCommMonoid) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Prod.module.{0, 0, 0} Real Real Real Real.semiring Real.addCommMonoid Real.addCommMonoid (Semiring.toModule.{0} Real Real.semiring) (Semiring.toModule.{0} Real Real.semiring))
 but is expected to have type
-  LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Prod.{0, 0} Real Real) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Prod.instAddCommMonoidSum.{0, 0} Real Real Real.instAddCommMonoidReal Real.instAddCommMonoidReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Prod.module.{0, 0, 0} Real Real Real Real.semiring Real.instAddCommMonoidReal Real.instAddCommMonoidReal (Semiring.toModule.{0} Real Real.semiring) (Semiring.toModule.{0} Real Real.semiring))
+  LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Prod.{0, 0} Real Real) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Prod.instAddCommMonoidSum.{0, 0} Real Real Real.instAddCommMonoidReal Real.instAddCommMonoidReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Prod.module.{0, 0, 0} Real Real Real Real.semiring Real.instAddCommMonoidReal Real.instAddCommMonoidReal (Semiring.toModule.{0} Real Real.semiring) (Semiring.toModule.{0} Real Real.semiring))
 Case conversion may be inaccurate. Consider using '#align complex.equiv_real_prod_lm Complex.equivRealProdLmₓ'. -/
 /-- The natural `linear_equiv` from `ℂ` to `ℝ × ℝ`. -/
 @[simps (config := { simpRhs := true }) apply symm_apply_re symm_apply_im]
@@ -534,7 +534,7 @@ variable {A : Type _} [Ring A] [Algebra ℝ A]
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A), (Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))) -> (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A), (Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))))) -> (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2)
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A), (Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) -> (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2)
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux Complex.liftAuxₓ'. -/
 /-- There is an alg_hom from `ℂ` to any `ℝ`-algebra with an element that squares to `-1`.
 
@@ -563,7 +563,7 @@ def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))) (z : Complex), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (Distrib.toHasAdd.{u1} A (Ring.toDistrib.{u1} A _inst_1))) (coeFn.{succ u1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (fun (_x : RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) => Real -> A) (RingHom.hasCoeToFun.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (algebraMap.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (Module.toMulActionWithZero.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (Complex.im z) I'))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))))) (z : Complex), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) z) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) _inst_1)))))) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (Algebra.toSMul.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (Complex.im z) I'))
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (z : Complex), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) z) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) _inst_1)))))) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (Algebra.toSMul.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (Complex.im z) I'))
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply Complex.liftAux_applyₓ'. -/
 @[simp]
 theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap ℝ A z.re + z.im • I' :=
@@ -574,7 +574,7 @@ theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap 
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply_I Complex.liftAux_apply_Iₓ'. -/
 theorem liftAux_apply_I (I' : A) (hI') : liftAux I' hI' I = I' := by simp
 #align complex.lift_aux_apply_I Complex.liftAux_apply_I
@@ -583,7 +583,7 @@ theorem liftAux_apply_I (I' : A) (hI') : liftAux I' hI' I = I' := by simp
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)], Equiv.{succ u1, succ u1} (Subtype.{succ u1} A (fun (I' : A) => Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1)))))))))) (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)], Equiv.{succ u1, succ u1} (Subtype.{succ u1} A (fun (I' : A) => Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1))))))) (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2)
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)], Equiv.{succ u1, succ u1} (Subtype.{succ u1} A (fun (I' : A) => Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2)
 Case conversion may be inaccurate. Consider using '#align complex.lift Complex.liftₓ'. -/
 /-- A universal property of the complex numbers, providing a unique `ℂ →ₐ[ℝ] A` for every element
 of `A` which squares to `-1`.
@@ -616,7 +616,7 @@ theorem liftAux_I : liftAux I I_mul_I = AlgHom.id ℝ ℂ :=
 lean 3 declaration is
   Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (Complex.liftAux.{0} Complex Complex.ring (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Neg.neg.{0} Complex (InvolutiveNeg.toHasNeg.{0} Complex (HasDistribNeg.toHasInvolutiveNeg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))))) Complex.I) (Eq.trans.{1} Complex (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring))) (Neg.neg.{0} Complex (InvolutiveNeg.toHasNeg.{0} Complex (HasDistribNeg.toHasInvolutiveNeg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))))) Complex.I) (Neg.neg.{0} Complex (InvolutiveNeg.toHasNeg.{0} Complex (HasDistribNeg.toHasInvolutiveNeg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))))) Complex.I)) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring))) Complex.I Complex.I) (Neg.neg.{0} Complex (SubNegMonoid.toHasNeg.{0} Complex (AddGroup.toSubNegMonoid.{0} Complex (AddGroupWithOne.toAddGroup.{0} Complex (AddCommGroupWithOne.toAddGroupWithOne.{0} Complex (Ring.toAddCommGroupWithOne.{0} Complex Complex.ring))))) (OfNat.ofNat.{0} Complex 1 (OfNat.mk.{0} Complex 1 (One.one.{0} Complex (AddMonoidWithOne.toOne.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex (AddCommGroupWithOne.toAddGroupWithOne.{0} Complex (Ring.toAddCommGroupWithOne.{0} Complex Complex.ring)))))))) (neg_mul_neg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))) Complex.I Complex.I) Complex.I_mul_I)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (HasLiftT.mk.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (CoeTCₓ.coe.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHomClass.coeTC.{0, 0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.algEquivClass.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))))))) Complex.conjAe)
 but is expected to have type
-  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (Complex.liftAux.{0} Complex Complex.instRingComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (Eq.trans.{1} Complex (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Neg.neg.{0} Complex (InvolutiveNeg.toNeg.{0} Complex (HasDistribNeg.toInvolutiveNeg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) Complex.I) (Neg.neg.{0} Complex (InvolutiveNeg.toNeg.{0} Complex (HasDistribNeg.toInvolutiveNeg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) Complex.I)) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Complex.I Complex.I) (Neg.neg.{0} Complex (Ring.toNeg.{0} Complex Complex.instRingComplex) (OfNat.ofNat.{0} Complex 1 (One.toOfNat1.{0} Complex (NonAssocRing.toOne.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (neg_mul_neg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) Complex.I Complex.I) Complex.I_mul_I)) (AlgHomClass.toAlgHom.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.conjAe)
+  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (Complex.liftAux.{0} Complex Complex.instRingComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (Eq.trans.{1} Complex (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Neg.neg.{0} Complex (InvolutiveNeg.toNeg.{0} Complex (HasDistribNeg.toInvolutiveNeg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) Complex.I) (Neg.neg.{0} Complex (InvolutiveNeg.toNeg.{0} Complex (HasDistribNeg.toInvolutiveNeg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) Complex.I)) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Complex.I Complex.I) (Neg.neg.{0} Complex (Ring.toNeg.{0} Complex Complex.instRingComplex) (OfNat.ofNat.{0} Complex 1 (One.toOfNat1.{0} Complex (Semiring.toOne.{0} Complex (Ring.toSemiring.{0} Complex Complex.instRingComplex))))) (neg_mul_neg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) Complex.I Complex.I) Complex.I_mul_I)) (AlgHomClass.toAlgHom.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.conjAe)
 Case conversion may be inaccurate. Consider using '#align complex.lift_aux_neg_I Complex.liftAux_neg_Iₓ'. -/
 -- When applied to `-complex.I`, `lift` is conjugation, `conj`.
 @[simp]
@@ -638,7 +638,7 @@ variable {A : Type _} [AddCommGroup A] [Module ℂ A] [StarAddMonoid A] [StarMod
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
 Case conversion may be inaccurate. Consider using '#align skew_adjoint.neg_I_smul skewAdjoint.negISMulₓ'. -/
 /-- Create a `self_adjoint` element from a `skew_adjoint` element by multiplying by the scalar
 `-complex.I`. -/
@@ -663,7 +663,7 @@ def skewAdjoint.negISMul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)), Eq.{succ u1} A (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3)))))) a)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))), Eq.{succ u1} A (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (fun (_x : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (skewAdjoint.{u1} A _inst_1 _inst_3))) a)
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))), Eq.{succ u1} A (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (fun (_x : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (skewAdjoint.{u1} A _inst_1 _inst_3))) a)
 Case conversion may be inaccurate. Consider using '#align skew_adjoint.I_smul_neg_I skewAdjoint.I_smul_neg_Iₓ'. -/
 theorem skewAdjoint.I_smul_neg_I (a : skewAdjoint A) : I • (skewAdjoint.negISMul a : A) = a := by
   simp only [smul_smul, skewAdjoint.negISMul_apply_coe, neg_smul, smul_neg, I_mul_I, one_smul,
@@ -674,7 +674,7 @@ theorem skewAdjoint.I_smul_neg_I (a : skewAdjoint A) : I • (skewAdjoint.negISM
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
 Case conversion may be inaccurate. Consider using '#align real_part realPartₓ'. -/
 /-- The real part `ℜ a` of an element `a` of a star module over `ℂ`, as a linear map. This is just
 `self_adjoint_part ℝ`, but we provide it as a separate definition in order to link it with lemmas
@@ -687,7 +687,7 @@ noncomputable def realPart : A →ₗ[ℝ] selfAdjoint A :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
 Case conversion may be inaccurate. Consider using '#align imaginary_part imaginaryPartₓ'. -/
 /-- The imaginary part `ℑ a` of an element `a` of a star module over `ℂ`, as a linear map into the
 self adjoint elements. In a general star module, we have a decomposition into the `self_adjoint`
@@ -708,7 +708,7 @@ scoped[ComplexStarModule] notation "ℑ" => imaginaryPart
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
 Case conversion may be inaccurate. Consider using '#align real_part_apply_coe realPart_apply_coeₓ'. -/
 @[simp]
 theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) :=
@@ -721,7 +721,7 @@ theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) (Neg.neg.{0} Complex Complex.hasNeg Complex.I) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toHasSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
 Case conversion may be inaccurate. Consider using '#align imaginary_part_apply_coe imaginaryPart_apply_coeₓ'. -/
 @[simp]
 theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) :=
@@ -735,7 +735,7 @@ theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ 
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
 Case conversion may be inaccurate. Consider using '#align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPartₓ'. -/
 /-- The standard decomposition of `ℜ a + complex.I • ℑ a = a` of an element of a star module over
 `ℂ` into a linear combination of self adjoint elements. -/
@@ -749,7 +749,7 @@ theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) =
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (Neg.neg.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
 Case conversion may be inaccurate. Consider using '#align real_part_I_smul realPart_I_smulₓ'. -/
 @[simp]
 theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
@@ -762,7 +762,7 @@ theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
 Case conversion may be inaccurate. Consider using '#align imaginary_part_I_smul imaginaryPart_I_smulₓ'. -/
 @[simp]
 theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
@@ -775,7 +775,7 @@ theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HSub.hSub.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHSub.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 Case conversion may be inaccurate. Consider using '#align real_part_smul realPart_smulₓ'. -/
 theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a :=
   by
@@ -787,7 +787,7 @@ theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HAdd.hAdd.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHAdd.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalCommSemiring.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalCommSemiring.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalCommSemiringToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
 Case conversion may be inaccurate. Consider using '#align imaginary_part_smul imaginaryPart_smulₓ'. -/
 theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a :=
   by
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 
 ! This file was ported from Lean 3 source module data.complex.module
-! leanprover-community/mathlib commit c7bce2818663f456335892ddbdd1809f111a5b72
+! leanprover-community/mathlib commit fe8d0ff42c3c24d789f491dc2622b6cac3d61564
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -17,6 +17,9 @@ import Mathbin.Algebra.CharP.Invertible
 /-!
 # Complex number as a vector space over `ℝ`
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file contains the following instances:
 * Any `•`-structure (`has_smul`, `mul_action`, `distrib_mul_action`, `module`, `algebra`) on
   `ℝ` imbues a corresponding structure on `ℂ`. This includes the statement that `ℂ` is an `ℝ`
Diff
@@ -61,12 +61,30 @@ variable [SMul R ℝ]
 `restrict_scalars.module ℝ ℂ ℂ = complex.module` definitionally. -/
 instance : SMul R ℂ where smul r x := ⟨r • x.re - 0 * x.im, r • x.im + 0 * x.re⟩
 
+/- warning: complex.smul_re -> Complex.smul_re is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : SMul.{u1, 0} R Real] (r : R) (z : Complex), Eq.{1} Real (Complex.re (SMul.smul.{u1, 0} R Complex (Complex.hasSmul.{u1} R _inst_1) r z)) (SMul.smul.{u1, 0} R Real _inst_1 r (Complex.re z))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : SMul.{u1, 0} R Real] (r : R) (z : Complex), Eq.{1} Real (Complex.re (HSMul.hSMul.{u1, 0, 0} R Complex Complex (instHSMul.{u1, 0} R Complex (Complex.instSMulComplex.{u1} R _inst_1)) r z)) (HSMul.hSMul.{u1, 0, 0} R Real Real (instHSMul.{u1, 0} R Real _inst_1) r (Complex.re z))
+Case conversion may be inaccurate. Consider using '#align complex.smul_re Complex.smul_reₓ'. -/
 theorem smul_re (r : R) (z : ℂ) : (r • z).re = r • z.re := by simp [(· • ·)]
 #align complex.smul_re Complex.smul_re
 
+/- warning: complex.smul_im -> Complex.smul_im is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : SMul.{u1, 0} R Real] (r : R) (z : Complex), Eq.{1} Real (Complex.im (SMul.smul.{u1, 0} R Complex (Complex.hasSmul.{u1} R _inst_1) r z)) (SMul.smul.{u1, 0} R Real _inst_1 r (Complex.im z))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : SMul.{u1, 0} R Real] (r : R) (z : Complex), Eq.{1} Real (Complex.im (HSMul.hSMul.{u1, 0, 0} R Complex Complex (instHSMul.{u1, 0} R Complex (Complex.instSMulComplex.{u1} R _inst_1)) r z)) (HSMul.hSMul.{u1, 0, 0} R Real Real (instHSMul.{u1, 0} R Real _inst_1) r (Complex.im z))
+Case conversion may be inaccurate. Consider using '#align complex.smul_im Complex.smul_imₓ'. -/
 theorem smul_im (r : R) (z : ℂ) : (r • z).im = r • z.im := by simp [(· • ·)]
 #align complex.smul_im Complex.smul_im
 
+/- warning: complex.real_smul -> Complex.real_smul is a dubious translation:
+lean 3 declaration is
+  forall {x : Real} {z : Complex}, Eq.{1} Complex (SMul.smul.{0, 0} Real Complex (Complex.hasSmul.{0} Real (Mul.toSMul.{0} Real Real.hasMul)) x z) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex Complex.hasMul) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))) x) z)
+but is expected to have type
+  forall {x : Real} {z : Complex}, Eq.{1} Complex (HSMul.hSMul.{0, 0, 0} Real Complex Complex (instHSMul.{0, 0} Real Complex (Complex.instSMulComplex.{0} Real (Algebra.toSMul.{0, 0} Real Real Real.instCommSemiringReal Real.semiring (Algebra.id.{0} Real Real.instCommSemiringReal)))) x z) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex Complex.instMulComplex) (Complex.ofReal' x) z)
+Case conversion may be inaccurate. Consider using '#align complex.real_smul Complex.real_smulₓ'. -/
 @[simp]
 theorem real_smul {x : ℝ} {z : ℂ} : x • z = x * z :=
   rfl
@@ -110,6 +128,12 @@ instance [CommSemiring R] [Algebra R ℝ] : Algebra R ℂ :=
 instance : StarModule ℝ ℂ :=
   ⟨fun r x => by simp only [star_def, star_trivial, real_smul, map_mul, conj_of_real]⟩
 
+/- warning: complex.coe_algebra_map -> Complex.coe_algebraMap is a dubious translation:
+lean 3 declaration is
+  Eq.{1} ((fun (_x : RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) => Real -> Complex) (algebraMap.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))) (coeFn.{1, 1} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) (fun (_x : RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) => Real -> Complex) (RingHom.hasCoeToFun.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))) (algebraMap.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))))
+but is expected to have type
+  Eq.{1} (forall (a : Real), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => Complex) a) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex) (RingHom.instRingHomClassRingHom.{0, 0} Real Complex (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (algebraMap.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.ofReal'
+Case conversion may be inaccurate. Consider using '#align complex.coe_algebra_map Complex.coe_algebraMapₓ'. -/
 @[simp]
 theorem coe_algebraMap : (algebraMap ℝ ℂ : ℝ → ℂ) = coe :=
   rfl
@@ -119,6 +143,12 @@ section
 
 variable {A : Type _} [Semiring A] [Algebra ℝ A]
 
+/- warning: alg_hom.map_coe_real_complex -> AlgHom.map_coe_real_complex is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (x : Real), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))) x)) (coeFn.{succ u1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (fun (_x : RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) => Real -> A) (RingHom.hasCoeToFun.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (algebraMap.{0, u1} Real A Real.commSemiring _inst_1 _inst_2) x)
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] (f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (x : Real), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f (Complex.ofReal' x)) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1)) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2) x)
+Case conversion may be inaccurate. Consider using '#align alg_hom.map_coe_real_complex AlgHom.map_coe_real_complexₓ'. -/
 /-- We need this lemma since `complex.coe_algebra_map` diverts the simp-normal form away from
 `alg_hom.commutes`. -/
 @[simp]
@@ -126,6 +156,12 @@ theorem AlgHom.map_coe_real_complex (f : ℂ →ₐ[ℝ] A) (x : ℝ) : f x = al
   f.commutes x
 #align alg_hom.map_coe_real_complex AlgHom.map_coe_real_complex
 
+/- warning: complex.alg_hom_ext -> Complex.algHom_ext is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring _inst_1] {{f : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2}} {{g : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2}}, (Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f Complex.I) (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) g Complex.I)) -> (Eq.{succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) _inst_1 (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) f g)
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : Semiring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal _inst_1] {{f : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2}} {{g : AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2}}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) f Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_1))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal _inst_1 _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) g Complex.I)) -> (Eq.{succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex _inst_1 (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) f g)
+Case conversion may be inaccurate. Consider using '#align complex.alg_hom_ext Complex.algHom_extₓ'. -/
 /-- Two `ℝ`-algebra homomorphisms from ℂ are equal if they agree on `complex.I`. -/
 @[ext]
 theorem algHom_ext ⦃f g : ℂ →ₐ[ℝ] A⦄ (h : f I = g I) : f = g :=
@@ -140,6 +176,12 @@ section
 
 open ComplexOrder
 
+/- warning: complex.ordered_smul -> Complex.orderedSMul is a dubious translation:
+lean 3 declaration is
+  OrderedSMul.{0, 0} Real Complex Real.orderedSemiring (OrderedSemiring.toOrderedAddCommMonoid.{0} Complex (StrictOrderedSemiring.toOrderedSemiring.{0} Complex (StrictOrderedRing.toStrictOrderedSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedRing.{0} Complex Complex.strictOrderedCommRing)))) (MulActionWithZero.toSMulWithZero.{0, 0} Real Complex Real.monoidWithZero (AddZeroClass.toHasZero.{0} Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (OrderedAddCommMonoid.toAddCommMonoid.{0} Complex (OrderedSemiring.toOrderedAddCommMonoid.{0} Complex (StrictOrderedSemiring.toOrderedSemiring.{0} Complex (StrictOrderedRing.toStrictOrderedSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedRing.{0} Complex Complex.strictOrderedCommRing)))))))) (Module.toMulActionWithZero.{0, 0} Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))
+but is expected to have type
+  OrderedSMul.{0, 0} Real Complex Real.orderedSemiring (OrderedSemiring.toOrderedAddCommMonoid.{0} Complex (OrderedCommSemiring.toOrderedSemiring.{0} Complex (StrictOrderedCommSemiring.toOrderedCommSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedCommSemiring.{0} Complex Complex.strictOrderedCommRing)))) (MulActionWithZero.toSMulWithZero.{0, 0} Real Complex Real.instMonoidWithZeroReal (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (OrderedAddCommMonoid.toAddCommMonoid.{0} Complex (OrderedSemiring.toOrderedAddCommMonoid.{0} Complex (OrderedCommSemiring.toOrderedSemiring.{0} Complex (StrictOrderedCommSemiring.toOrderedCommSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedCommSemiring.{0} Complex Complex.strictOrderedCommRing))))))) (Module.toMulActionWithZero.{0, 0} Real Complex Real.semiring (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} Complex (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Complex (StrictOrderedCommSemiring.toStrictOrderedSemiring.{0} Complex (StrictOrderedCommRing.toStrictOrderedCommSemiring.{0} Complex Complex.strictOrderedCommRing)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))
+Case conversion may be inaccurate. Consider using '#align complex.ordered_smul Complex.orderedSMulₓ'. -/
 protected theorem orderedSMul : OrderedSMul ℝ ℂ :=
   OrderedSMul.mk' fun a b r hab hr => ⟨by simp [hr, hab.1.le], by simp [hab.2]⟩
 #align complex.ordered_smul Complex.orderedSMul
@@ -150,6 +192,12 @@ end
 
 open Submodule FiniteDimensional
 
+/- warning: complex.basis_one_I -> Complex.basisOneI is a dubious translation:
+lean 3 declaration is
+  Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))
+but is expected to have type
+  Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))
+Case conversion may be inaccurate. Consider using '#align complex.basis_one_I Complex.basisOneIₓ'. -/
 /-- `ℂ` has a basis over `ℝ` given by `1` and `I`. -/
 noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
   Basis.ofEquivFun
@@ -164,11 +212,23 @@ noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
       map_smul' := fun c z => by simp [Matrix.smul_cons c z.re, Matrix.smul_cons c z.im] }
 #align complex.basis_one_I Complex.basisOneI
 
+/- warning: complex.coe_basis_one_I_repr -> Complex.coe_basisOneI_repr is a dubious translation:
+lean 3 declaration is
+  forall (z : Complex), Eq.{1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (coeFn.{1, 1} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (fun (_x : Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) => (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Finsupp.coeFun.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (coeFn.{1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) => Complex -> (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (LinearEquiv.hasCoeToFun.{0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (MulZeroClass.toHasZero.{0} Real (NonUnitalNonAssocSemiring.toMulZeroClass.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring)) (Basis.repr.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI) z)) (Matrix.vecCons.{0} Real (Nat.succ (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Complex.re z) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Complex.im z) (Matrix.vecEmpty.{0} Real)))
+but is expected to have type
+  forall (z : Complex), Eq.{1} (forall (ᾰ : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Real) _x) (Finsupp.funLike.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (Module.toDistribMulAction.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (SMulZeroClass.toSMul.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (Module.toDistribMulAction.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (AddCommMonoid.toAddMonoid.{0} (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))))) (Module.toDistribMulAction.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Module.toDistribMulAction.{0, 0} Real (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring))) Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real Complex (Finsupp.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (MonoidWithZero.toZero.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring))) Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Finsupp.addCommMonoid.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Finsupp.module.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring)))))) (Basis.repr.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI) z)) (Matrix.vecCons.{0} Real (Nat.succ (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Complex.re z) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Complex.im z) (Matrix.vecEmpty.{0} Real)))
+Case conversion may be inaccurate. Consider using '#align complex.coe_basis_one_I_repr Complex.coe_basisOneI_reprₓ'. -/
 @[simp]
 theorem coe_basisOneI_repr (z : ℂ) : ⇑(basisOneI.repr z) = ![z.re, z.im] :=
   rfl
 #align complex.coe_basis_one_I_repr Complex.coe_basisOneI_repr
 
+/- warning: complex.coe_basis_one_I -> Complex.coe_basisOneI is a dubious translation:
+lean 3 declaration is
+  Eq.{1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Complex) (coeFn.{1, 1} (Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Complex) (FunLike.hasCoeToFun.{1, 1, 1} (Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) => Complex) (Basis.funLike.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) Complex.basisOneI) (Matrix.vecCons.{0} Complex (Nat.succ (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (OfNat.ofNat.{0} Complex 1 (OfNat.mk.{0} Complex 1 (One.one.{0} Complex Complex.hasOne))) (Matrix.vecCons.{0} Complex (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) Complex.I (Matrix.vecEmpty.{0} Complex)))
+but is expected to have type
+  Eq.{1} (forall (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Complex) a) (FunLike.coe.{1, 1, 1} (Basis.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => Complex) _x) (Basis.funLike.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) Complex.basisOneI) (Matrix.vecCons.{0} Complex (Nat.succ (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (OfNat.ofNat.{0} Complex 1 (One.toOfNat1.{0} Complex Complex.instOneComplex)) (Matrix.vecCons.{0} Complex (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) Complex.I (Matrix.vecEmpty.{0} Complex)))
+Case conversion may be inaccurate. Consider using '#align complex.coe_basis_one_I Complex.coe_basisOneIₓ'. -/
 @[simp]
 theorem coe_basisOneI : ⇑basisOneI = ![1, I] :=
   funext fun i =>
@@ -183,19 +243,43 @@ theorem coe_basisOneI : ⇑basisOneI = ![1, I] :=
 instance : FiniteDimensional ℝ ℂ :=
   of_fintype_basis basisOneI
 
+/- warning: complex.finrank_real_complex -> Complex.finrank_real_complex is a dubious translation:
+lean 3 declaration is
+  Eq.{1} Nat (FiniteDimensional.finrank.{0, 0} Real Complex Real.semiring Complex.addCommGroup (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))
+but is expected to have type
+  Eq.{1} Nat (FiniteDimensional.finrank.{0, 0} Real Complex Real.semiring Complex.addCommGroup (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))
+Case conversion may be inaccurate. Consider using '#align complex.finrank_real_complex Complex.finrank_real_complexₓ'. -/
 @[simp]
 theorem finrank_real_complex : FiniteDimensional.finrank ℝ ℂ = 2 := by
   rw [finrank_eq_card_basis basis_one_I, Fintype.card_fin]
 #align complex.finrank_real_complex Complex.finrank_real_complex
 
+/- warning: complex.rank_real_complex -> Complex.rank_real_complex is a dubious translation:
+lean 3 declaration is
+  Eq.{2} Cardinal.{0} (Module.rank.{0, 0} Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{1} Cardinal.{0} 2 (OfNat.mk.{1} Cardinal.{0} 2 (bit0.{1} Cardinal.{0} Cardinal.hasAdd.{0} (One.one.{1} Cardinal.{0} Cardinal.hasOne.{0}))))
+but is expected to have type
+  Eq.{2} Cardinal.{0} (Module.rank.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{1} Cardinal.{0} 2 (instOfNat.{1} Cardinal.{0} 2 Cardinal.instNatCastCardinal.{0} (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))
+Case conversion may be inaccurate. Consider using '#align complex.rank_real_complex Complex.rank_real_complexₓ'. -/
 @[simp]
 theorem rank_real_complex : Module.rank ℝ ℂ = 2 := by simp [← finrank_eq_rank, finrank_real_complex]
 #align complex.rank_real_complex Complex.rank_real_complex
 
+/- warning: complex.rank_real_complex' -> Complex.rank_real_complex' is a dubious translation:
+lean 3 declaration is
+  Eq.{succ (succ u1)} Cardinal.{u1} (Cardinal.lift.{u1, 0} (Module.rank.{0, 0} Real Complex Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (OfNat.ofNat.{succ u1} Cardinal.{u1} 2 (OfNat.mk.{succ u1} Cardinal.{u1} 2 (bit0.{succ u1} Cardinal.{u1} Cardinal.hasAdd.{u1} (One.one.{succ u1} Cardinal.{u1} Cardinal.hasOne.{u1}))))
+but is expected to have type
+  Eq.{succ (succ u1)} Cardinal.{u1} (Cardinal.lift.{u1, 0} (Module.rank.{0, 0} Real Complex Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (OfNat.ofNat.{succ u1} Cardinal.{u1} 2 (instOfNat.{succ u1} Cardinal.{u1} 2 Cardinal.instNatCastCardinal.{u1} (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))
+Case conversion may be inaccurate. Consider using '#align complex.rank_real_complex' Complex.rank_real_complex'ₓ'. -/
 theorem rank_real_complex'.{u} : Cardinal.lift.{u} (Module.rank ℝ ℂ) = 2 := by
   simp [← finrank_eq_rank, finrank_real_complex, bit0]
 #align complex.rank_real_complex' Complex.rank_real_complex'
 
+/- warning: complex.finrank_real_complex_fact -> Complex.finrank_real_complex_fact is a dubious translation:
+lean 3 declaration is
+  Fact (Eq.{1} Nat (FiniteDimensional.finrank.{0, 0} Real Complex Real.semiring Complex.addCommGroup (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))
+but is expected to have type
+  Fact (Eq.{1} Nat (FiniteDimensional.finrank.{0, 0} Real Complex Real.semiring Complex.addCommGroup (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))
+Case conversion may be inaccurate. Consider using '#align complex.finrank_real_complex_fact Complex.finrank_real_complex_factₓ'. -/
 /-- `fact` version of the dimension of `ℂ` over `ℝ`, locally useful in the definition of the
 circle. -/
 theorem finrank_real_complex_fact : Fact (finrank ℝ ℂ = 2) :=
@@ -204,36 +288,64 @@ theorem finrank_real_complex_fact : Fact (finrank ℝ ℂ = 2) :=
 
 end Complex
 
+#print Module.complexToReal /-
 /- Register as an instance (with low priority) the fact that a complex vector space is also a real
 vector space. -/
 instance (priority := 900) Module.complexToReal (E : Type _) [AddCommGroup E] [Module ℂ E] :
     Module ℝ E :=
   RestrictScalars.module ℝ ℂ E
 #align module.complex_to_real Module.complexToReal
+-/
 
+/- warning: module.real_complex_tower -> Module.real_complex_tower is a dubious translation:
+lean 3 declaration is
+  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)], IsScalarTower.{0, 0, u1} Real Complex E (Complex.hasSmul.{0} Real (Mul.toSMul.{0} Real Real.hasMul)) (SMulZeroClass.toHasSmul.{0, u1} Complex E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex E (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)))))
+but is expected to have type
+  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)], IsScalarTower.{0, 0, u1} Real Complex E (Complex.instSMulComplex.{0} Real (Algebra.toSMul.{0, 0} Real Real Real.instCommSemiringReal Real.semiring (Algebra.id.{0} Real Real.instCommSemiringReal))) (SMulZeroClass.toSMul.{0, u1} Complex E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex E Complex.instZeroComplex (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align module.real_complex_tower Module.real_complex_towerₓ'. -/
 instance Module.real_complex_tower (E : Type _) [AddCommGroup E] [Module ℂ E] :
     IsScalarTower ℝ ℂ E :=
   RestrictScalars.isScalarTower ℝ ℂ E
 #align module.real_complex_tower Module.real_complex_tower
 
+/- warning: complex.coe_smul -> Complex.coe_smul is a dubious translation:
+lean 3 declaration is
+  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] (x : Real) (y : E), Eq.{succ u1} E (SMul.smul.{0, u1} Complex E (SMulZeroClass.toHasSmul.{0, u1} Complex E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex E (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Real Complex (HasLiftT.mk.{1, 1} Real Complex (CoeTCₓ.coe.{1, 1} Real Complex (coeBase.{1, 1} Real Complex Complex.hasCoe))) x) y) (SMul.smul.{0, u1} Real E (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2))))) x y)
+but is expected to have type
+  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] (x : Real) (y : E), Eq.{succ u1} E (HSMul.hSMul.{0, u1, u1} Complex E E (instHSMul.{0, u1} Complex E (SMulZeroClass.toSMul.{0, u1} Complex E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex E Complex.instZeroComplex (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2))))) (Complex.ofReal' x) y) (HSMul.hSMul.{0, u1, u1} Real E E (instHSMul.{0, u1} Real E (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)))))) x y)
+Case conversion may be inaccurate. Consider using '#align complex.coe_smul Complex.coe_smulₓ'. -/
 @[simp, norm_cast]
 theorem Complex.coe_smul {E : Type _} [AddCommGroup E] [Module ℂ E] (x : ℝ) (y : E) :
     (x : ℂ) • y = x • y :=
   rfl
 #align complex.coe_smul Complex.coe_smul
 
+#print SMulCommClass.complexToReal /-
 /-- The scalar action of `ℝ` on a `ℂ`-module `E` induced by `module.complex_to_real` commutes with
 another scalar action of `M` on `E` whenever the action of `ℂ` commutes with the action of `M`. -/
 instance (priority := 900) SMulCommClass.complexToReal {M E : Type _} [AddCommGroup E] [Module ℂ E]
     [SMul M E] [SMulCommClass ℂ M E] : SMulCommClass ℝ M E
     where smul_comm r _ _ := (smul_comm (r : ℂ) _ _ : _)
 #align smul_comm_class.complex_to_real SMulCommClass.complexToReal
+-/
 
+/- warning: finite_dimensional.complex_to_real -> FiniteDimensional.complexToReal is a dubious translation:
+lean 3 declaration is
+  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_3 : FiniteDimensional.{0, u1} Complex E (Field.toDivisionRing.{0} Complex Complex.field) _inst_1 _inst_2], FiniteDimensional.{0, u1} Real E Real.divisionRing _inst_1 (Module.complexToReal.{u1} E _inst_1 _inst_2)
+but is expected to have type
+  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_3 : FiniteDimensional.{0, u1} Complex E (Field.toDivisionRing.{0} Complex Complex.instFieldComplex) _inst_1 _inst_2], FiniteDimensional.{0, u1} Real E Real.instDivisionRingReal _inst_1 (Module.complexToReal.{u1} E _inst_1 _inst_2)
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.complex_to_real FiniteDimensional.complexToRealₓ'. -/
 instance (priority := 100) FiniteDimensional.complexToReal (E : Type _) [AddCommGroup E]
     [Module ℂ E] [FiniteDimensional ℂ E] : FiniteDimensional ℝ E :=
   FiniteDimensional.trans ℝ ℂ E
 #align finite_dimensional.complex_to_real FiniteDimensional.complexToReal
 
+/- warning: rank_real_of_complex -> rank_real_of_complex is a dubious translation:
+lean 3 declaration is
+  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)], Eq.{succ (succ u1)} Cardinal.{u1} (Module.rank.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)) (HMul.hMul.{succ u1, succ u1, succ u1} Cardinal.{u1} Cardinal.{u1} Cardinal.{u1} (instHMul.{succ u1} Cardinal.{u1} Cardinal.hasMul.{u1}) (OfNat.ofNat.{succ u1} Cardinal.{u1} 2 (OfNat.mk.{succ u1} Cardinal.{u1} 2 (bit0.{succ u1} Cardinal.{u1} Cardinal.hasAdd.{u1} (One.one.{succ u1} Cardinal.{u1} Cardinal.hasOne.{u1})))) (Module.rank.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2))
+but is expected to have type
+  forall (E : Type.{u1}) [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)], Eq.{succ (succ u1)} Cardinal.{u1} (Module.rank.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_2)) (HMul.hMul.{succ u1, succ u1, succ u1} Cardinal.{u1} Cardinal.{u1} Cardinal.{u1} (instHMul.{succ u1} Cardinal.{u1} Cardinal.instMulCardinal.{u1}) (OfNat.ofNat.{succ u1} Cardinal.{u1} 2 (instOfNat.{succ u1} Cardinal.{u1} 2 Cardinal.instNatCastCardinal.{u1} (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) (Module.rank.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2))
+Case conversion may be inaccurate. Consider using '#align rank_real_of_complex rank_real_of_complexₓ'. -/
 theorem rank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
     Module.rank ℝ E = 2 * Module.rank ℂ E :=
   Cardinal.lift_inj.1 <|
@@ -242,11 +354,19 @@ theorem rank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
     simp [bit0]
 #align rank_real_of_complex rank_real_of_complex
 
+#print finrank_real_of_complex /-
 theorem finrank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
     FiniteDimensional.finrank ℝ E = 2 * FiniteDimensional.finrank ℂ E := by
   rw [← FiniteDimensional.finrank_mul_finrank ℝ ℂ E, Complex.finrank_real_complex]
 #align finrank_real_of_complex finrank_real_of_complex
+-/
 
+/- warning: star_module.complex_to_real -> StarModule.complexToReal is a dubious translation:
+lean 3 declaration is
+  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Star.{u1} E] [_inst_3 : Module.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_4 : StarModule.{0, u1} Complex E (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) _inst_2 (SMulZeroClass.toHasSmul.{0, u1} Complex E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex E (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex E (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_3))))], StarModule.{0, u1} Real E (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) _inst_2 (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_3)))))
+but is expected to have type
+  forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Star.{u1} E] [_inst_3 : Module.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] [_inst_4 : StarModule.{0, u1} Complex E (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) _inst_2 (SMulZeroClass.toSMul.{0, u1} Complex E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex E Complex.instZeroComplex (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex E (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex E Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_3))))], StarModule.{0, u1} Real E (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) _inst_2 (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (Module.complexToReal.{u1} E _inst_1 _inst_3)))))
+Case conversion may be inaccurate. Consider using '#align star_module.complex_to_real StarModule.complexToRealₓ'. -/
 instance (priority := 900) StarModule.complexToReal {E : Type _} [AddCommGroup E] [Star E]
     [Module ℂ E] [StarModule ℂ E] : StarModule ℝ E :=
   ⟨fun r a => by rw [← smul_one_smul ℂ r a, star_smul, star_smul, star_one, smul_one_smul]⟩
@@ -256,6 +376,12 @@ namespace Complex
 
 open ComplexConjugate
 
+/- warning: complex.re_lm -> Complex.reLm is a dubious translation:
+lean 3 declaration is
+  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
+but is expected to have type
+  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
+Case conversion may be inaccurate. Consider using '#align complex.re_lm Complex.reLmₓ'. -/
 /-- Linear map version of the real part function, from `ℂ` to `ℝ`. -/
 def reLm : ℂ →ₗ[ℝ] ℝ where
   toFun x := x.re
@@ -263,11 +389,23 @@ def reLm : ℂ →ₗ[ℝ] ℝ where
   map_smul' := by simp
 #align complex.re_lm Complex.reLm
 
+/- warning: complex.re_lm_coe -> Complex.reLm_coe is a dubious translation:
+lean 3 declaration is
+  Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.reLm) Complex.re
+but is expected to have type
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) Complex.reLm) Complex.re
+Case conversion may be inaccurate. Consider using '#align complex.re_lm_coe Complex.reLm_coeₓ'. -/
 @[simp]
 theorem reLm_coe : ⇑reLm = re :=
   rfl
 #align complex.re_lm_coe Complex.reLm_coe
 
+/- warning: complex.im_lm -> Complex.imLm is a dubious translation:
+lean 3 declaration is
+  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
+but is expected to have type
+  LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)
+Case conversion may be inaccurate. Consider using '#align complex.im_lm Complex.imLmₓ'. -/
 /-- Linear map version of the imaginary part function, from `ℂ` to `ℝ`. -/
 def imLm : ℂ →ₗ[ℝ] ℝ where
   toFun x := x.im
@@ -275,21 +413,41 @@ def imLm : ℂ →ₗ[ℝ] ℝ where
   map_smul' := by simp
 #align complex.im_lm Complex.imLm
 
+/- warning: complex.im_lm_coe -> Complex.imLm_coe is a dubious translation:
+lean 3 declaration is
+  Eq.{1} (Complex -> Real) (coeFn.{1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) Complex Real (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) => Complex -> Real) (LinearMap.hasCoeToFun.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) Real.addCommMonoid (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) Complex.imLm) Complex.im
+but is expected to have type
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) ᾰ) (FunLike.coe.{1, 1, 1} (LinearMap.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) Complex Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring)) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Complex) => Real) _x) (LinearMap.instFunLikeLinearMap.{0, 0, 0, 0} Real Real Complex Real Real.semiring Real.semiring (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Real.instAddCommMonoidReal (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Semiring.toModule.{0} Real Real.semiring) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) Complex.imLm) Complex.im
+Case conversion may be inaccurate. Consider using '#align complex.im_lm_coe Complex.imLm_coeₓ'. -/
 @[simp]
 theorem imLm_coe : ⇑imLm = im :=
   rfl
 #align complex.im_lm_coe Complex.imLm_coe
 
+/- warning: complex.of_real_am -> Complex.ofRealAm is a dubious translation:
+lean 3 declaration is
+  AlgHom.{0, 0, 0} Real Real Complex Real.commSemiring Real.semiring (Ring.toSemiring.{0} Complex Complex.ring) (Algebra.id.{0} Real Real.commSemiring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))
+but is expected to have type
+  AlgHom.{0, 0, 0} Real Real Complex Real.instCommSemiringReal Real.semiring Complex.instSemiringComplex (Algebra.id.{0} Real Real.instCommSemiringReal) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))
+Case conversion may be inaccurate. Consider using '#align complex.of_real_am Complex.ofRealAmₓ'. -/
 /-- `ℝ`-algebra morphism version of the canonical embedding of `ℝ` in `ℂ`. -/
 def ofRealAm : ℝ →ₐ[ℝ] ℂ :=
   Algebra.ofId ℝ ℂ
 #align complex.of_real_am Complex.ofRealAm
 
+#print Complex.ofRealAm_coe /-
 @[simp]
 theorem ofRealAm_coe : ⇑ofRealAm = coe :=
   rfl
 #align complex.of_real_am_coe Complex.ofRealAm_coe
+-/
 
+/- warning: complex.conj_ae -> Complex.conjAe is a dubious translation:
+lean 3 declaration is
+  AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))
+but is expected to have type
+  AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))
+Case conversion may be inaccurate. Consider using '#align complex.conj_ae Complex.conjAeₓ'. -/
 /-- `ℝ`-algebra isomorphism version of the complex conjugation function from `ℂ` to `ℂ` -/
 def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
   { conj with
@@ -299,11 +457,23 @@ def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
     commutes' := conj_ofReal }
 #align complex.conj_ae Complex.conjAe
 
+/- warning: complex.conj_ae_coe -> Complex.conjAe_coe is a dubious translation:
+lean 3 declaration is
+  Eq.{1} (Complex -> Complex) (coeFn.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (fun (_x : AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) => Complex -> Complex) (AlgEquiv.hasCoeToFun.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Complex.conjAe) (coeFn.{1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (fun (_x : RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) => Complex -> Complex) (RingHom.hasCoeToFun.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.commSemiring))) (starRingEnd.{0} Complex Complex.commSemiring Complex.starRing))
+but is expected to have type
+  Eq.{1} (forall (ᾰ : Complex), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) ᾰ) (FunLike.coe.{1, 1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => Complex) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))))))) Complex.conjAe) (FunLike.coe.{1, 1, 1} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Complex) => Complex) _x) (MulHomClass.toFunLike.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalNonAssocSemiring.toMul.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))) (NonUnitalRingHomClass.toMulHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) (RingHomClass.toNonUnitalRingHomClass.{0, 0, 0} (RingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex))) Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (RingHom.instRingHomClassRingHom.{0, 0} Complex Complex (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)) (Semiring.toNonAssocSemiring.{0} Complex (CommSemiring.toSemiring.{0} Complex Complex.instCommSemiringComplex)))))) (starRingEnd.{0} Complex Complex.instCommSemiringComplex Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))
+Case conversion may be inaccurate. Consider using '#align complex.conj_ae_coe Complex.conjAe_coeₓ'. -/
 @[simp]
 theorem conjAe_coe : ⇑conjAe = conj :=
   rfl
 #align complex.conj_ae_coe Complex.conjAe_coe
 
+/- warning: complex.to_matrix_conj_ae -> Complex.toMatrix_conjAe is a dubious translation:
+lean 3 declaration is
+  Eq.{1} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (coeFn.{1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (fun (_x : LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) => (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) -> (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (LinearEquiv.hasCoeToFun.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (LinearMap.module.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.commSemiring) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (CommSemiring.toSemiring.{0} Real Real.commSemiring) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (LinearMap.toMatrix._proof_3.{0, 0} Real Real.commSemiring Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real Real (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))) (LinearMap.toMatrix._proof_1.{0} Real Real.commSemiring) (LinearMap.toMatrix._proof_2.{0} Real Real.commSemiring)) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.commSemiring (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (b : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) a b) Complex Complex (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) Complex.conjAe)) (coeFn.{1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (fun (_x : Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) => ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) -> (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (Equiv.hasCoeToFun.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Neg.neg.{0} Real Real.hasNeg (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> Real)))))
+but is expected to have type
+  Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (fun (_x : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (SMulHomClass.toFunLike.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (SMulZeroClass.toSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toZero.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddMonoid.toAddZeroClass.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (DistribMulAction.toDistribSMul.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))))))) (SMulZeroClass.toSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toZero.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribSMul.toSMulZeroClass.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddMonoid.toAddZeroClass.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulAction.toDistribSMul.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (DistribMulActionHomClass.toSMulHomClass.{0, 0, 0, 0} (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (AddCommMonoid.toAddMonoid.{0} (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))))) (Module.toDistribMulAction.{0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))))))) (Module.toDistribMulAction.{0, 0} Real (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (SemilinearMapClass.distribMulActionHomClass.{0, 0, 0, 0} Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearEquiv.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, 0, 0} Real Real (LinearMap.{0, 0, 0, 0} Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring))) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (LinearMap.addCommMonoid.{0, 0, 0, 0} Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Matrix.addCommMonoid.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))) (LinearMap.instModuleLinearMapAddCommMonoid.{0, 0, 0, 0, 0} Real Real Real Complex Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (smulCommClass_self.{0, 0} Real Complex (CommSemiring.toCommMonoid.{0} Real Real.instCommSemiringReal) (MulActionWithZero.toMulAction.{0, 0} Real Complex (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))))) (Module.toMulActionWithZero.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)))))) (Matrix.module.{0, 0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (Semiring.toModule.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (RingHomInvPair.ids.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))))))) (LinearMap.toMatrix.{0, 0, 0, 0, 0} Real Real.instCommSemiringReal (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (b : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) a b) Complex Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) Complex.basisOneI Complex.basisOneI) (AlgEquiv.toLinearMap.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.conjAe)) (FunLike.coe.{1, 1, 1} (Equiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (fun (_x : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) => Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) _x) (Equiv.instFunLikeEquiv.{1, 1} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (Matrix.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real)) (Matrix.of.{0, 0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Real) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecEmpty.{0} Real))) (Matrix.vecCons.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Matrix.vecCons.{0} Real (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Neg.neg.{0} Real Real.instNegReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (Matrix.vecEmpty.{0} Real))) (Matrix.vecEmpty.{0} ((Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> Real)))))
+Case conversion may be inaccurate. Consider using '#align complex.to_matrix_conj_ae Complex.toMatrix_conjAeₓ'. -/
 /-- The matrix representation of `conj_ae`. -/
 @[simp]
 theorem toMatrix_conjAe :
@@ -314,6 +484,12 @@ theorem toMatrix_conjAe :
   fin_cases i <;> fin_cases j <;> simp
 #align complex.to_matrix_conj_ae Complex.toMatrix_conjAe
 
+/- warning: complex.real_alg_hom_eq_id_or_conj -> Complex.real_algHom_eq_id_or_conj is a dubious translation:
+lean 3 declaration is
+  forall (f : AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))), Or (Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) f (AlgHom.id.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))) (Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) f ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (HasLiftT.mk.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (CoeTCₓ.coe.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHomClass.coeTC.{0, 0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.algEquivClass.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))))))) Complex.conjAe))
+but is expected to have type
+  forall (f : AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))), Or (Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) f (AlgHom.id.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) f (AlgHomClass.toAlgHom.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.conjAe))
+Case conversion may be inaccurate. Consider using '#align complex.real_alg_hom_eq_id_or_conj Complex.real_algHom_eq_id_or_conjₓ'. -/
 /-- The identity and the complex conjugation are the only two `ℝ`-algebra homomorphisms of `ℂ`. -/
 theorem real_algHom_eq_id_or_conj (f : ℂ →ₐ[ℝ] ℂ) : f = AlgHom.id ℝ ℂ ∨ f = conjAe :=
   by
@@ -323,12 +499,24 @@ theorem real_algHom_eq_id_or_conj (f : ℂ →ₐ[ℝ] ℂ) : f = AlgHom.id ℝ
   exacts[h, conj_I.symm ▸ h]
 #align complex.real_alg_hom_eq_id_or_conj Complex.real_algHom_eq_id_or_conj
 
+/- warning: complex.equiv_real_prod_add_hom -> Complex.equivRealProdAddHom is a dubious translation:
+lean 3 declaration is
+  AddEquiv.{0, 0} Complex (Prod.{0, 0} Real Real) Complex.hasAdd (Prod.hasAdd.{0, 0} Real Real Real.hasAdd Real.hasAdd)
+but is expected to have type
+  AddEquiv.{0, 0} Complex (Prod.{0, 0} Real Real) Complex.instAddComplex (Prod.instAddSum.{0, 0} Real Real Real.instAddReal Real.instAddReal)
+Case conversion may be inaccurate. Consider using '#align complex.equiv_real_prod_add_hom Complex.equivRealProdAddHomₓ'. -/
 /-- The natural `add_equiv` from `ℂ` to `ℝ × ℝ`. -/
 @[simps (config := { simpRhs := true }) apply symm_apply_re symm_apply_im]
 def equivRealProdAddHom : ℂ ≃+ ℝ × ℝ :=
   { equivRealProd with map_add' := by simp }
 #align complex.equiv_real_prod_add_hom Complex.equivRealProdAddHom
 
+/- warning: complex.equiv_real_prod_lm -> Complex.equivRealProdLm is a dubious translation:
+lean 3 declaration is
+  LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Prod.{0, 0} Real Real) (AddCommGroup.toAddCommMonoid.{0} Complex Complex.addCommGroup) (Prod.addCommMonoid.{0, 0} Real Real Real.addCommMonoid Real.addCommMonoid) (Complex.module.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Prod.module.{0, 0, 0} Real Real Real Real.semiring Real.addCommMonoid Real.addCommMonoid (Semiring.toModule.{0} Real Real.semiring) (Semiring.toModule.{0} Real Real.semiring))
+but is expected to have type
+  LinearEquiv.{0, 0, 0, 0} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) Complex (Prod.{0, 0} Real Real) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Prod.instAddCommMonoidSum.{0, 0} Real Real Real.instAddCommMonoidReal Real.instAddCommMonoidReal) (Complex.instModuleComplexToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingInstRingComplex.{0} Real Real.semiring (Semiring.toModule.{0} Real Real.semiring)) (Prod.module.{0, 0, 0} Real Real Real Real.semiring Real.instAddCommMonoidReal Real.instAddCommMonoidReal (Semiring.toModule.{0} Real Real.semiring) (Semiring.toModule.{0} Real Real.semiring))
+Case conversion may be inaccurate. Consider using '#align complex.equiv_real_prod_lm Complex.equivRealProdLmₓ'. -/
 /-- The natural `linear_equiv` from `ℂ` to `ℝ × ℝ`. -/
 @[simps (config := { simpRhs := true }) apply symm_apply_re symm_apply_im]
 def equivRealProdLm : ℂ ≃ₗ[ℝ] ℝ × ℝ :=
@@ -339,6 +527,12 @@ section lift
 
 variable {A : Type _} [Ring A] [Algebra ℝ A]
 
+/- warning: complex.lift_aux -> Complex.liftAux is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A), (Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))) -> (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2)
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A), (Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))))) -> (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2)
+Case conversion may be inaccurate. Consider using '#align complex.lift_aux Complex.liftAuxₓ'. -/
 /-- There is an alg_hom from `ℂ` to any `ℝ`-algebra with an element that squares to `-1`.
 
 See `complex.lift` for this as an equiv. -/
@@ -362,14 +556,32 @@ def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
           mul_assoc, ← add_mul, ← RingHom.map_mul, ← RingHom.map_mul, ← RingHom.map_add]
 #align complex.lift_aux Complex.liftAux
 
+/- warning: complex.lift_aux_apply -> Complex.liftAux_apply is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))) (z : Complex), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (Distrib.toHasAdd.{u1} A (Ring.toDistrib.{u1} A _inst_1))) (coeFn.{succ u1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (fun (_x : RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) => Real -> A) (RingHom.hasCoeToFun.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (algebraMap.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.commSemiring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (Module.toMulActionWithZero.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.commSemiring) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (Complex.im z) I'))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))))) (z : Complex), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) z) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') z) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) (Complex.re z)) _inst_1)))))) (FunLike.coe.{succ u1, 1, succ u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real (fun (_x : Real) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Real) => A) _x) (MulHomClass.toFunLike.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonUnitalNonAssocSemiring.toMul.{0} Real (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Real (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, 0, u1} (RingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (RingHom.instRingHomClassRingHom.{0, u1} Real A (Semiring.toNonAssocSemiring.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal)) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (algebraMap.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2) (Complex.re z)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (Algebra.toSMul.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (Complex.im z) I'))
+Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply Complex.liftAux_applyₓ'. -/
 @[simp]
 theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap ℝ A z.re + z.im • I' :=
   rfl
 #align complex.lift_aux_apply Complex.liftAux_apply
 
-theorem liftAux_apply_i (I' : A) (hI') : liftAux I' hI' I = I' := by simp
-#align complex.lift_aux_apply_I Complex.liftAux_apply_i
-
+/- warning: complex.lift_aux_apply_I -> Complex.liftAux_apply_I is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))))))), Eq.{succ u1} A (coeFn.{succ u1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (fun (_x : AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) => Complex -> A) ([anonymous].{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)] (I' : A) (hI' : Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) Complex.I) (FunLike.coe.{succ u1, 1, succ u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Complex (fun (_x : Complex) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Complex) => A) _x) (SMulHomClass.toFunLike.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (SMulZeroClass.toSMul.{0, 0} Real Complex (AddMonoid.toZero.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribSMul.toSMulZeroClass.{0, 0} Real Complex (AddMonoid.toAddZeroClass.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))))) (DistribMulAction.toDistribSMul.{0, 0} Real Complex (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))))))) (SMulZeroClass.toSMul.{0, u1} Real A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, u1} Real A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))))) (DistribMulAction.toDistribSMul.{0, u1} Real A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2))))) (DistribMulActionHomClass.toSMulHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u1, 0, 0, u1} (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) Real Complex A (MonoidWithZero.toMonoid.{0} Real (Semiring.toMonoidWithZero.{0} Real (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (Module.toDistribMulAction.{0, 0} Real Complex (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Complex (Semiring.toNonAssocSemiring.{0} Complex Complex.instSemiringComplex))) (Algebra.toModule.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) (Module.toDistribMulAction.{0, u1} Real A (CommSemiring.toSemiring.{0} Real Real.instCommSemiringReal) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Algebra.toModule.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1) _inst_2)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, 0, u1, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2 (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2) (AlgHom.algHomClass.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2))))) (Complex.liftAux.{u1} A _inst_1 _inst_2 I' hI') Complex.I) I'
+Case conversion may be inaccurate. Consider using '#align complex.lift_aux_apply_I Complex.liftAux_apply_Iₓ'. -/
+theorem liftAux_apply_I (I' : A) (hI') : liftAux I' hI' I = I' := by simp
+#align complex.lift_aux_apply_I Complex.liftAux_apply_I
+
+/- warning: complex.lift -> Complex.lift is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.commSemiring (Ring.toSemiring.{u1} A _inst_1)], Equiv.{succ u1, succ u1} (Subtype.{succ u1} A (fun (I' : A) => Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A _inst_1))) I' I') (Neg.neg.{u1} A (SubNegMonoid.toHasNeg.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1))))) (OfNat.ofNat.{u1} A 1 (OfNat.mk.{u1} A 1 (One.one.{u1} A (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A _inst_1)))))))))) (AlgHom.{0, 0, u1} Real Complex A Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{u1} A _inst_1) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) _inst_2)
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : Ring.{u1} A] [_inst_2 : Algebra.{0, u1} Real A Real.instCommSemiringReal (Ring.toSemiring.{u1} A _inst_1)], Equiv.{succ u1, succ u1} (Subtype.{succ u1} A (fun (I' : A) => Eq.{succ u1} A (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)))) I' I') (Neg.neg.{u1} A (Ring.toNeg.{u1} A _inst_1) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1))))))) (AlgHom.{0, 0, u1} Real Complex A Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{u1} A _inst_1) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) _inst_2)
+Case conversion may be inaccurate. Consider using '#align complex.lift Complex.liftₓ'. -/
 /-- A universal property of the complex numbers, providing a unique `ℂ →ₐ[ℝ] A` for every element
 of `A` which squares to `-1`.
 
@@ -381,21 +593,33 @@ def lift : { I' : A // I' * I' = -1 } ≃ (ℂ →ₐ[ℝ] A)
     where
   toFun I' := liftAux I' I'.Prop
   invFun F := ⟨F I, by rw [← F.map_mul, I_mul_I, AlgHom.map_neg, AlgHom.map_one]⟩
-  left_inv I' := Subtype.ext <| liftAux_apply_i I' I'.Prop
-  right_inv F := algHom_ext <| liftAux_apply_i _ _
+  left_inv I' := Subtype.ext <| liftAux_apply_I I' I'.Prop
+  right_inv F := algHom_ext <| liftAux_apply_I _ _
 #align complex.lift Complex.lift
 
+/- warning: complex.lift_aux_I -> Complex.liftAux_I is a dubious translation:
+lean 3 declaration is
+  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (Complex.liftAux.{0} Complex Complex.ring (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) Complex.I Complex.I_mul_I) (AlgHom.id.{0, 0} Real Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)))
+but is expected to have type
+  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (Complex.liftAux.{0} Complex Complex.instRingComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) Complex.I Complex.I_mul_I) (AlgHom.id.{0, 0} Real Complex Real.instCommSemiringReal Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))
+Case conversion may be inaccurate. Consider using '#align complex.lift_aux_I Complex.liftAux_Iₓ'. -/
 -- When applied to `complex.I` itself, `lift` is the identity.
 @[simp]
-theorem liftAux_i : liftAux I I_mul_I = AlgHom.id ℝ ℂ :=
-  algHom_ext <| liftAux_apply_i _ _
-#align complex.lift_aux_I Complex.liftAux_i
-
+theorem liftAux_I : liftAux I I_mul_I = AlgHom.id ℝ ℂ :=
+  algHom_ext <| liftAux_apply_I _ _
+#align complex.lift_aux_I Complex.liftAux_I
+
+/- warning: complex.lift_aux_neg_I -> Complex.liftAux_neg_I is a dubious translation:
+lean 3 declaration is
+  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (Complex.liftAux.{0} Complex Complex.ring (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Neg.neg.{0} Complex (InvolutiveNeg.toHasNeg.{0} Complex (HasDistribNeg.toHasInvolutiveNeg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))))) Complex.I) (Eq.trans.{1} Complex (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring))) (Neg.neg.{0} Complex (InvolutiveNeg.toHasNeg.{0} Complex (HasDistribNeg.toHasInvolutiveNeg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))))) Complex.I) (Neg.neg.{0} Complex (InvolutiveNeg.toHasNeg.{0} Complex (HasDistribNeg.toHasInvolutiveNeg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))))) Complex.I)) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring))) Complex.I Complex.I) (Neg.neg.{0} Complex (SubNegMonoid.toHasNeg.{0} Complex (AddGroup.toSubNegMonoid.{0} Complex (AddGroupWithOne.toAddGroup.{0} Complex (AddCommGroupWithOne.toAddGroupWithOne.{0} Complex (Ring.toAddCommGroupWithOne.{0} Complex Complex.ring))))) (OfNat.ofNat.{0} Complex 1 (OfNat.mk.{0} Complex 1 (One.one.{0} Complex (AddMonoidWithOne.toOne.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex (AddCommGroupWithOne.toAddGroupWithOne.{0} Complex (Ring.toAddCommGroupWithOne.{0} Complex Complex.ring)))))))) (neg_mul_neg.{0} Complex (Distrib.toHasMul.{0} Complex (Ring.toDistrib.{0} Complex Complex.ring)) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.ring))) Complex.I Complex.I) Complex.I_mul_I)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (HasLiftT.mk.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (CoeTCₓ.coe.{1, 1} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHom.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgHomClass.coeTC.{0, 0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))) Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (AlgEquiv.algEquivClass.{0, 0, 0} Real Complex Complex Real.commSemiring (Ring.toSemiring.{0} Complex Complex.ring) (Ring.toSemiring.{0} Complex Complex.ring) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring)) (Complex.algebra.{0} Real Real.commSemiring (Algebra.id.{0} Real Real.commSemiring))))))) Complex.conjAe)
+but is expected to have type
+  Eq.{1} (AlgHom.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (Complex.liftAux.{0} Complex Complex.instRingComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (Eq.trans.{1} Complex (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) (Neg.neg.{0} Complex (InvolutiveNeg.toNeg.{0} Complex (HasDistribNeg.toInvolutiveNeg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) Complex.I) (Neg.neg.{0} Complex (InvolutiveNeg.toNeg.{0} Complex (HasDistribNeg.toInvolutiveNeg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) Complex.I)) (HMul.hMul.{0, 0, 0} Complex Complex Complex (instHMul.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex)))) Complex.I Complex.I) (Neg.neg.{0} Complex (Ring.toNeg.{0} Complex Complex.instRingComplex) (OfNat.ofNat.{0} Complex 1 (One.toOfNat1.{0} Complex (NonAssocRing.toOne.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))))) (neg_mul_neg.{0} Complex (NonUnitalNonAssocRing.toMul.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) (NonUnitalNonAssocRing.toHasDistribNeg.{0} Complex (NonAssocRing.toNonUnitalNonAssocRing.{0} Complex (Ring.toNonAssocRing.{0} Complex Complex.instRingComplex))) Complex.I Complex.I) Complex.I_mul_I)) (AlgHomClass.toAlgHom.{0, 0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) (AlgEquivClass.toAlgHomClass.{0, 0, 0, 0} (AlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal))) Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex (Ring.toSemiring.{0} Complex Complex.instRingComplex) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (AlgEquiv.instAlgEquivClassAlgEquiv.{0, 0, 0} Real Complex Complex Real.instCommSemiringReal Complex.instSemiringComplex Complex.instSemiringComplex (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)) (Complex.instAlgebraComplexInstSemiringComplex.{0} Real Real.instCommSemiringReal (Algebra.id.{0} Real Real.instCommSemiringReal)))) Complex.conjAe)
+Case conversion may be inaccurate. Consider using '#align complex.lift_aux_neg_I Complex.liftAux_neg_Iₓ'. -/
 -- When applied to `-complex.I`, `lift` is conjugation, `conj`.
 @[simp]
-theorem liftAux_neg_i : liftAux (-I) ((neg_mul_neg _ _).trans I_mul_I) = conjAe :=
-  algHom_ext <| (liftAux_apply_i _ _).trans conj_I.symm
-#align complex.lift_aux_neg_I Complex.liftAux_neg_i
+theorem liftAux_neg_I : liftAux (-I) ((neg_mul_neg _ _).trans I_mul_I) = conjAe :=
+  algHom_ext <| (liftAux_apply_I _ _).trans conj_I.symm
+#align complex.lift_aux_neg_I Complex.liftAux_neg_I
 
 end lift
 
@@ -407,10 +631,16 @@ open Complex
 
 variable {A : Type _} [AddCommGroup A] [Module ℂ A] [StarAddMonoid A] [StarModule ℂ A]
 
+/- warning: skew_adjoint.neg_I_smul -> skewAdjoint.negISMul is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
+Case conversion may be inaccurate. Consider using '#align skew_adjoint.neg_I_smul skewAdjoint.negISMulₓ'. -/
 /-- Create a `self_adjoint` element from a `skew_adjoint` element by multiplying by the scalar
 `-complex.I`. -/
 @[simps]
-def skewAdjoint.negISmul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
+def skewAdjoint.negISMul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
     where
   toFun a :=
     ⟨-I • a, by
@@ -424,13 +654,25 @@ def skewAdjoint.negISmul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
     simp only [neg_smul, skewAdjoint.val_smul, AddSubgroup.coe_mk, RingHom.id_apply,
       selfAdjoint.val_smul, smul_neg, neg_inj]
     rw [smul_comm]
-#align skew_adjoint.neg_I_smul skewAdjoint.negISmul
-
-theorem skewAdjoint.i_smul_neg_i (a : skewAdjoint A) : I • (skewAdjoint.negISmul a : A) = a := by
-  simp only [smul_smul, skewAdjoint.negISmul_apply_coe, neg_smul, smul_neg, I_mul_I, one_smul,
+#align skew_adjoint.neg_I_smul skewAdjoint.negISMul
+
+/- warning: skew_adjoint.I_smul_neg_I -> skewAdjoint.I_smul_neg_I is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)), Eq.{succ u1} A (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (skewAdjoint.negISMul._proof_2.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (skewAdjoint.{u1} A _inst_1 _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3)))))) a)
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))), Eq.{succ u1} A (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (fun (_x : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (skewAdjoint.{u1} A _inst_1 _inst_3))) (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (skewAdjoint.{u1} A _inst_1 _inst_3))) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (skewAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSkewAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (skewAdjoint.negISMul.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (skewAdjoint.{u1} A _inst_1 _inst_3))) a)
+Case conversion may be inaccurate. Consider using '#align skew_adjoint.I_smul_neg_I skewAdjoint.I_smul_neg_Iₓ'. -/
+theorem skewAdjoint.I_smul_neg_I (a : skewAdjoint A) : I • (skewAdjoint.negISMul a : A) = a := by
+  simp only [smul_smul, skewAdjoint.negISMul_apply_coe, neg_smul, smul_neg, I_mul_I, one_smul,
     neg_neg]
-#align skew_adjoint.I_smul_neg_I skewAdjoint.i_smul_neg_i
-
+#align skew_adjoint.I_smul_neg_I skewAdjoint.I_smul_neg_I
+
+/- warning: real_part -> realPart is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
+Case conversion may be inaccurate. Consider using '#align real_part realPartₓ'. -/
 /-- The real part `ℜ a` of an element `a` of a star module over `ℂ`, as a linear map. This is just
 `self_adjoint_part ℝ`, but we provide it as a separate definition in order to link it with lemmas
 concerning the `imaginary_part`, which doesn't exist in star modules over other rings. -/
@@ -438,13 +680,19 @@ noncomputable def realPart : A →ₗ[ℝ] selfAdjoint A :=
   selfAdjointPart ℝ
 #align real_part realPart
 
+/- warning: imaginary_part -> imaginaryPart is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))], LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))
+Case conversion may be inaccurate. Consider using '#align imaginary_part imaginaryPartₓ'. -/
 /-- The imaginary part `ℑ a` of an element `a` of a star module over `ℂ`, as a linear map into the
 self adjoint elements. In a general star module, we have a decomposition into the `self_adjoint`
 and `skew_adjoint` parts, but in a star module over `ℂ` we have
 `real_part_add_I_smul_imaginary_part`, which allows us to decompose into a linear combination of
 `self_adjoint`s. -/
 noncomputable def imaginaryPart : A →ₗ[ℝ] selfAdjoint A :=
-  skewAdjoint.negISmul.comp (skewAdjointPart ℝ)
+  skewAdjoint.negISMul.comp (skewAdjointPart ℝ)
 #align imaginary_part imaginaryPart
 
 -- mathport name: exprℜ
@@ -453,6 +701,12 @@ scoped[ComplexStarModule] notation "ℜ" => realPart
 -- mathport name: exprℑ
 scoped[ComplexStarModule] notation "ℑ" => imaginaryPart
 
+/- warning: real_part_apply_coe -> realPart_apply_coe is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a)))
+Case conversion may be inaccurate. Consider using '#align real_part_apply_coe realPart_apply_coeₓ'. -/
 @[simp]
 theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) :=
   by
@@ -460,42 +714,78 @@ theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star
   simp only [selfAdjointPart_apply_coe, invOf_eq_inv]
 #align real_part_apply_coe realPart_apply_coe
 
+/- warning: imaginary_part_apply_coe -> imaginaryPart_apply_coe is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) (Neg.neg.{0} Complex Complex.hasNeg Complex.I) (SMul.smul.{0, u1} Real A (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (Inv.inv.{0} Real Real.hasInv (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toHasSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) (Neg.neg.{0} Complex Complex.instNegComplex Complex.I) (HSMul.hSMul.{0, u1, u1} Real A A (instHSMul.{0, u1} Real A (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2)))))) (Inv.inv.{0} Real Real.instInvReal (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (SubNegMonoid.toSub.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))) a (Star.star.{u1} A (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) a))))
+Case conversion may be inaccurate. Consider using '#align imaginary_part_apply_coe imaginaryPart_apply_coeₓ'. -/
 @[simp]
 theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) :=
   by
   unfold imaginaryPart
-  simp only [LinearMap.coe_comp, skewAdjoint.negISmul_apply_coe, skewAdjointPart_apply_coe,
+  simp only [LinearMap.coe_comp, skewAdjoint.negISMul_apply_coe, skewAdjointPart_apply_coe,
     invOf_eq_inv]
 #align imaginary_part_apply_coe imaginaryPart_apply_coe
 
+/- warning: real_part_add_I_smul_imaginary_part -> realPart_add_I_smul_imaginaryPart is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toHasAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) A (coeSubtype.{succ u1} A (fun (x : A) => Membership.Mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.hasMem.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)))))) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} A (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (AddZeroClass.toAdd.{u1} A (AddMonoid.toAddZeroClass.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))))) (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I (Subtype.val.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Set.{u1} A) (Set.instMembershipSet.{u1} A) x (SetLike.coe.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))) a
+Case conversion may be inaccurate. Consider using '#align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPartₓ'. -/
 /-- The standard decomposition of `ℜ a + complex.I • ℑ a = a` of an element of a star module over
 `ℂ` into a linear combination of self adjoint elements. -/
-theorem realPart_add_i_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) = a := by
+theorem realPart_add_I_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) = a := by
   simpa only [smul_smul, realPart_apply_coe, imaginaryPart_apply_coe, neg_smul, I_mul_I, one_smul,
     neg_sub, add_add_sub_cancel, smul_sub, smul_add, neg_sub_neg, invOf_eq_inv] using
     invOf_two_smul_add_invOf_two_smul ℝ a
-#align real_part_add_I_smul_imaginary_part realPart_add_i_smul_imaginaryPart
-
+#align real_part_add_I_smul_imaginary_part realPart_add_I_smul_imaginaryPart
+
+/- warning: real_part_I_smul -> realPart_I_smul is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (Neg.neg.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.neg.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a))
+Case conversion may be inaccurate. Consider using '#align real_part_I_smul realPart_I_smulₓ'. -/
 @[simp]
-theorem realPart_i_smul (a : A) : ℜ (I • a) = -ℑ a :=
+theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a :=
   by
   ext
   simp [smul_comm I, smul_sub, sub_eq_add_neg, add_comm]
-#align real_part_I_smul realPart_i_smul
-
+#align real_part_I_smul realPart_I_smul
+
+/- warning: imaginary_part_I_smul -> imaginaryPart_I_smul is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) Complex.I a)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) Complex.I a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)
+Case conversion may be inaccurate. Consider using '#align imaginary_part_I_smul imaginaryPart_I_smulₓ'. -/
 @[simp]
-theorem imaginaryPart_i_smul (a : A) : ℑ (I • a) = ℜ a :=
+theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a :=
   by
   ext
   simp [smul_comm I, smul_smul I]
-#align imaginary_part_I_smul imaginaryPart_i_smul
-
+#align imaginary_part_I_smul imaginaryPart_I_smul
+
+/- warning: real_part_smul -> realPart_smul is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HSub.hSub.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHSub.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.sub.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+Case conversion may be inaccurate. Consider using '#align real_part_smul realPart_smulₓ'. -/
 theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a :=
   by
   nth_rw 1 [← re_add_im z]
   simp [-re_add_im, add_smul, ← smul_smul, sub_eq_add_neg]
 #align real_part_smul realPart_smul
 
+/- warning: imaginary_part_smul -> imaginaryPart_smul is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toHasStar.{0} Complex (StarAddMonoid.toHasInvolutiveStar.{0} Complex (AddCommMonoid.toAddMonoid.{0} Complex (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Complex (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing)))))) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.starRing))) (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (SMul.smul.{0, u1} Complex A (SMulZeroClass.toHasSmul.{0, u1} Complex A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Complex A (MulZeroClass.toHasZero.{0} Complex (MulZeroOneClass.toMulZeroClass.{0} Complex (MonoidWithZero.toMulZeroOneClass.{0} Complex (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring))))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex (Ring.toSemiring.{0} Complex Complex.ring)) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Complex A (Ring.toSemiring.{0} Complex Complex.ring) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2)))) z a)) (HAdd.hAdd.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (instHAdd.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.re z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (imaginaryPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (SMul.smul.{0, u1} Real (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (selfAdjoint.hasSmul.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toHasSmul.{0, u1} Real A (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real A (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toHasStar.{u1} A (StarAddMonoid.toHasInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (Complex.im z) (coeFn.{succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) (fun (_x : LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4))) => A -> (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (LinearMap.hasCoeToFun.{0, 0, u1, u1} Real Real A (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.setLike.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3)) (AddSubgroup.toAddCommGroup.{u1} A _inst_1 (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.module.{0, u1} Real A (InvolutiveStar.toHasStar.{0} Real (StarAddMonoid.toHasInvolutiveStar.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (NonUnitalNonAssocSemiring.toAddCommMonoid.{0} Real (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing)))))) (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.starRing))) Real.trivialStar _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (realPart._proof_1.{u1} A _inst_1 _inst_2 _inst_3 _inst_4)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_1 : AddCommGroup.{u1} A] [_inst_2 : Module.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1)] [_inst_3 : StarAddMonoid.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)))] [_inst_4 : StarModule.{0, u1} Complex A (InvolutiveStar.toStar.{0} Complex (StarAddMonoid.toInvolutiveStar.{0} Complex (AddMonoidWithOne.toAddMonoid.{0} Complex (AddGroupWithOne.toAddMonoidWithOne.{0} Complex Complex.Complex.addGroupWithOne)) (StarRing.toStarAddMonoid.{0} Complex (NonUnitalRing.toNonUnitalSemiring.{0} Complex (NonUnitalCommRing.toNonUnitalRing.{0} Complex (CommRing.toNonUnitalCommRing.{0} Complex Complex.commRing))) Complex.instStarRingComplexToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))] (z : Complex) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) (HSMul.hSMul.{0, u1, u1} Complex A A (instHSMul.{0, u1} Complex A (SMulZeroClass.toSMul.{0, u1} Complex A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Complex A Complex.instZeroComplex (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Complex A (Semiring.toMonoidWithZero.{0} Complex Complex.instSemiringComplex) (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Complex A Complex.instSemiringComplex (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) _inst_2))))) z a)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (AddSubgroup.add.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.re z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (imaginaryPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)) (HSMul.hSMul.{0, u1, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (instHSMul.{0, u1} Real ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) a) (selfAdjoint.instSMulSubtypeMemAddSubgroupInstMembershipInstSetLikeAddSubgroupSelfAdjoint.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3 (SMulZeroClass.toSMul.{0, u1} Real A (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real A Real.instZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real A Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} A (SubNegZeroMonoid.toNegZeroClass.{u1} A (SubtractionMonoid.toSubNegZeroMonoid.{u1} A (SubtractionCommMonoid.toSubtractionMonoid.{u1} A (AddCommGroup.toDivisionAddCommMonoid.{u1} A _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real A Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (Module.complexToReal.{u1} A _inst_1 _inst_2))))) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) (Complex.im z) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{0, 0, u1, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u1, u1} Real Real A (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) (SetLike.instMembership.{u1, u1} (AddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1)) A (AddSubgroup.instSetLikeAddSubgroup.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) x (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) Real.semiring Real.semiring (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubmonoid.toAddCommMonoid.{u1} A (AddCommGroup.toAddCommMonoid.{u1} A _inst_1) (AddSubgroup.toAddSubmonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) (selfAdjoint.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1) _inst_3))) (Module.complexToReal.{u1} A _inst_1 _inst_2) (selfAdjoint.instModuleSubtypeMemAddSubgroupToAddGroupInstMembershipInstSetLikeAddSubgroupSelfAdjointToAddCommMonoidToAddCommMonoidToAddSubmonoid.{0, u1} Real A (InvolutiveStar.toStar.{0} Real (StarAddMonoid.toInvolutiveStar.{0} Real Real.instAddMonoidReal (StarRing.toStarAddMonoid.{0} Real (NonUnitalRing.toNonUnitalSemiring.{0} Real (NonUnitalCommRing.toNonUnitalRing.{0} Real (CommRing.toNonUnitalCommRing.{0} Real Real.commRing))) Real.instStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing))) Real.instTrivialStarRealToStarToInvolutiveStarInstAddMonoidRealToStarAddMonoidToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRingInstStarRingRealToNonUnitalSemiringToNonUnitalRingToNonUnitalCommRingCommRing _inst_1 _inst_3 Real.semiring (Module.complexToReal.{u1} A _inst_1 _inst_2) (StarModule.complexToReal.{u1} A _inst_1 (InvolutiveStar.toStar.{u1} A (StarAddMonoid.toInvolutiveStar.{u1} A (SubNegMonoid.toAddMonoid.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddCommGroup.toAddGroup.{u1} A _inst_1))) _inst_3)) _inst_2 _inst_4)) (RingHom.id.{0} Real (NonAssocRing.toNonAssocSemiring.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)))) (realPart.{u1} A _inst_1 _inst_2 _inst_3 _inst_4) a)))
+Case conversion may be inaccurate. Consider using '#align imaginary_part_smul imaginaryPart_smulₓ'. -/
 theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a :=
   by
   nth_rw 1 [← re_add_im z]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 
 ! This file was ported from Lean 3 source module data.complex.module
-! leanprover-community/mathlib commit cd8fafa2fac98e1a67097e8a91ad9901cfde48af
+! leanprover-community/mathlib commit c7bce2818663f456335892ddbdd1809f111a5b72
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -238,7 +238,7 @@ theorem rank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
     Module.rank ℝ E = 2 * Module.rank ℂ E :=
   Cardinal.lift_inj.1 <|
     by
-    rw [← rank_mul_rank' ℝ ℂ E, Complex.rank_real_complex]
+    rw [← lift_rank_mul_lift_rank ℝ ℂ E, Complex.rank_real_complex]
     simp [bit0]
 #align rank_real_of_complex rank_real_of_complex
 
Diff
@@ -4,11 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 
 ! This file was ported from Lean 3 source module data.complex.module
-! leanprover-community/mathlib commit 039a089d2a4b93c761b234f3e5f5aeb752bac60f
+! leanprover-community/mathlib commit cd8fafa2fac98e1a67097e8a91ad9901cfde48af
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
-import Mathbin.LinearAlgebra.Orientation
 import Mathbin.Algebra.Order.Smul
 import Mathbin.Data.Complex.Basic
 import Mathbin.Data.Fin.VecNotation
@@ -203,11 +202,6 @@ theorem finrank_real_complex_fact : Fact (finrank ℝ ℂ = 2) :=
   ⟨finrank_real_complex⟩
 #align complex.finrank_real_complex_fact Complex.finrank_real_complex_fact
 
-/-- The standard orientation on `ℂ`. -/
-protected noncomputable def orientation : Orientation ℝ ℂ (Fin 2) :=
-  Complex.basisOneI.Orientation
-#align complex.orientation Complex.orientation
-
 end Complex
 
 /- Register as an instance (with low priority) the fact that a complex vector space is also a real
Diff
@@ -310,7 +310,6 @@ theorem conjAe_coe : ⇑conjAe = conj :=
   rfl
 #align complex.conj_ae_coe Complex.conjAe_coe
 
-/- ./././Mathport/Syntax/Translate/Tactic/Basic.lean:31:4: unsupported: too many args: matrix.notation ... #[[]] -/
 /-- The matrix representation of `conj_ae`. -/
 @[simp]
 theorem toMatrix_conjAe :
Diff
@@ -310,14 +310,11 @@ theorem conjAe_coe : ⇑conjAe = conj :=
   rfl
 #align complex.conj_ae_coe Complex.conjAe_coe
 
-/- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr!![ » -/
-/- ./././Mathport/Syntax/Translate/Expr.lean:387:14: unsupported user notation matrix.notation -/
+/- ./././Mathport/Syntax/Translate/Tactic/Basic.lean:31:4: unsupported: too many args: matrix.notation ... #[[]] -/
 /-- The matrix representation of `conj_ae`. -/
 @[simp]
 theorem toMatrix_conjAe :
-    LinearMap.toMatrix basisOneI basisOneI conjAe.toLinearMap =
-      «expr!![ »
-        "./././Mathport/Syntax/Translate/Expr.lean:387:14: unsupported user notation matrix.notation" :=
+    LinearMap.toMatrix basisOneI basisOneI conjAe.toLinearMap = !![1, 0; 0, -1] :=
   by
   ext (i j)
   simp [LinearMap.toMatrix_apply]
Diff
@@ -483,7 +483,7 @@ theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ 
 theorem realPart_add_i_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) = a := by
   simpa only [smul_smul, realPart_apply_coe, imaginaryPart_apply_coe, neg_smul, I_mul_I, one_smul,
     neg_sub, add_add_sub_cancel, smul_sub, smul_add, neg_sub_neg, invOf_eq_inv] using
-    inv_of_two_smul_add_inv_of_two_smul ℝ a
+    invOf_two_smul_add_invOf_two_smul ℝ a
 #align real_part_add_I_smul_imaginary_part realPart_add_i_smul_imaginaryPart
 
 @[simp]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 
 ! This file was ported from Lean 3 source module data.complex.module
-! leanprover-community/mathlib commit c310cfdc40da4d99a10a58c33a95360ef9e6e0bf
+! leanprover-community/mathlib commit 039a089d2a4b93c761b234f3e5f5aeb752bac60f
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -190,12 +190,12 @@ theorem finrank_real_complex : FiniteDimensional.finrank ℝ ℂ = 2 := by
 #align complex.finrank_real_complex Complex.finrank_real_complex
 
 @[simp]
-theorem dim_real_complex : Module.rank ℝ ℂ = 2 := by simp [← finrank_eq_dim, finrank_real_complex]
-#align complex.dim_real_complex Complex.dim_real_complex
+theorem rank_real_complex : Module.rank ℝ ℂ = 2 := by simp [← finrank_eq_rank, finrank_real_complex]
+#align complex.rank_real_complex Complex.rank_real_complex
 
-theorem dim_real_complex'.{u} : Cardinal.lift.{u} (Module.rank ℝ ℂ) = 2 := by
-  simp [← finrank_eq_dim, finrank_real_complex, bit0]
-#align complex.dim_real_complex' Complex.dim_real_complex'
+theorem rank_real_complex'.{u} : Cardinal.lift.{u} (Module.rank ℝ ℂ) = 2 := by
+  simp [← finrank_eq_rank, finrank_real_complex, bit0]
+#align complex.rank_real_complex' Complex.rank_real_complex'
 
 /-- `fact` version of the dimension of `ℂ` over `ℝ`, locally useful in the definition of the
 circle. -/
@@ -240,12 +240,13 @@ instance (priority := 100) FiniteDimensional.complexToReal (E : Type _) [AddComm
   FiniteDimensional.trans ℝ ℂ E
 #align finite_dimensional.complex_to_real FiniteDimensional.complexToReal
 
-theorem dim_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
+theorem rank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
     Module.rank ℝ E = 2 * Module.rank ℂ E :=
-  Cardinal.lift_inj.1 <| by
-    rw [← dim_mul_dim' ℝ ℂ E, Complex.dim_real_complex]
+  Cardinal.lift_inj.1 <|
+    by
+    rw [← rank_mul_rank' ℝ ℂ E, Complex.rank_real_complex]
     simp [bit0]
-#align dim_real_of_complex dim_real_of_complex
+#align rank_real_of_complex rank_real_of_complex
 
 theorem finrank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
     FiniteDimensional.finrank ℝ E = 2 * FiniteDimensional.finrank ℂ E := by
Diff
@@ -396,13 +396,13 @@ def lift : { I' : A // I' * I' = -1 } ≃ (ℂ →ₐ[ℝ] A)
 
 -- When applied to `complex.I` itself, `lift` is the identity.
 @[simp]
-theorem liftAux_i : liftAux I i_mul_I = AlgHom.id ℝ ℂ :=
+theorem liftAux_i : liftAux I I_mul_I = AlgHom.id ℝ ℂ :=
   algHom_ext <| liftAux_apply_i _ _
 #align complex.lift_aux_I Complex.liftAux_i
 
 -- When applied to `-complex.I`, `lift` is conjugation, `conj`.
 @[simp]
-theorem liftAux_neg_i : liftAux (-I) ((neg_mul_neg _ _).trans i_mul_I) = conjAe :=
+theorem liftAux_neg_i : liftAux (-I) ((neg_mul_neg _ _).trans I_mul_I) = conjAe :=
   algHom_ext <| (liftAux_apply_i _ _).trans conj_I.symm
 #align complex.lift_aux_neg_I Complex.liftAux_neg_i
 
Diff
@@ -129,7 +129,7 @@ theorem AlgHom.map_coe_real_complex (f : ℂ →ₐ[ℝ] A) (x : ℝ) : f x = al
 
 /-- Two `ℝ`-algebra homomorphisms from ℂ are equal if they agree on `complex.I`. -/
 @[ext]
-theorem algHom_ext ⦃f g : ℂ →ₐ[ℝ] A⦄ (h : f i = g i) : f = g :=
+theorem algHom_ext ⦃f g : ℂ →ₐ[ℝ] A⦄ (h : f I = g I) : f = g :=
   by
   ext ⟨x, y⟩
   simp only [mk_eq_add_mul_I, AlgHom.map_add, AlgHom.map_coe_real_complex, AlgHom.map_mul, h]
@@ -155,7 +155,7 @@ open Submodule FiniteDimensional
 noncomputable def basisOneI : Basis (Fin 2) ℝ ℂ :=
   Basis.ofEquivFun
     { toFun := fun z => ![z.re, z.im]
-      invFun := fun c => c 0 + c 1 • i
+      invFun := fun c => c 0 + c 1 • I
       left_inv := fun z => by simp
       right_inv := fun c => by
         ext i
@@ -171,7 +171,7 @@ theorem coe_basisOneI_repr (z : ℂ) : ⇑(basisOneI.repr z) = ![z.re, z.im] :=
 #align complex.coe_basis_one_I_repr Complex.coe_basisOneI_repr
 
 @[simp]
-theorem coe_basisOneI : ⇑basisOneI = ![1, i] :=
+theorem coe_basisOneI : ⇑basisOneI = ![1, I] :=
   funext fun i =>
     Basis.apply_eq_iff.mpr <|
       Finsupp.ext fun j => by
@@ -301,7 +301,7 @@ def conjAe : ℂ ≃ₐ[ℝ] ℂ :=
     invFun := conj
     left_inv := star_star
     right_inv := star_star
-    commutes' := conj_of_real }
+    commutes' := conj_ofReal }
 #align complex.conj_ae Complex.conjAe
 
 @[simp]
@@ -376,7 +376,7 @@ theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap 
   rfl
 #align complex.lift_aux_apply Complex.liftAux_apply
 
-theorem liftAux_apply_i (I' : A) (hI') : liftAux I' hI' i = I' := by simp
+theorem liftAux_apply_i (I' : A) (hI') : liftAux I' hI' I = I' := by simp
 #align complex.lift_aux_apply_I Complex.liftAux_apply_i
 
 /-- A universal property of the complex numbers, providing a unique `ℂ →ₐ[ℝ] A` for every element
@@ -389,21 +389,21 @@ This isomorphism is named to match the very similar `zsqrtd.lift`. -/
 def lift : { I' : A // I' * I' = -1 } ≃ (ℂ →ₐ[ℝ] A)
     where
   toFun I' := liftAux I' I'.Prop
-  invFun F := ⟨F i, by rw [← F.map_mul, I_mul_I, AlgHom.map_neg, AlgHom.map_one]⟩
+  invFun F := ⟨F I, by rw [← F.map_mul, I_mul_I, AlgHom.map_neg, AlgHom.map_one]⟩
   left_inv I' := Subtype.ext <| liftAux_apply_i I' I'.Prop
   right_inv F := algHom_ext <| liftAux_apply_i _ _
 #align complex.lift Complex.lift
 
 -- When applied to `complex.I` itself, `lift` is the identity.
 @[simp]
-theorem liftAux_i : liftAux i i_mul_i = AlgHom.id ℝ ℂ :=
+theorem liftAux_i : liftAux I i_mul_I = AlgHom.id ℝ ℂ :=
   algHom_ext <| liftAux_apply_i _ _
 #align complex.lift_aux_I Complex.liftAux_i
 
 -- When applied to `-complex.I`, `lift` is conjugation, `conj`.
 @[simp]
-theorem liftAux_neg_i : liftAux (-i) ((neg_mul_neg _ _).trans i_mul_i) = conjAe :=
-  algHom_ext <| (liftAux_apply_i _ _).trans conj_i.symm
+theorem liftAux_neg_i : liftAux (-I) ((neg_mul_neg _ _).trans i_mul_I) = conjAe :=
+  algHom_ext <| (liftAux_apply_i _ _).trans conj_I.symm
 #align complex.lift_aux_neg_I Complex.liftAux_neg_i
 
 end lift
@@ -422,7 +422,7 @@ variable {A : Type _} [AddCommGroup A] [Module ℂ A] [StarAddMonoid A] [StarMod
 def skewAdjoint.negISmul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
     where
   toFun a :=
-    ⟨-i • a, by
+    ⟨-I • a, by
       simp only [selfAdjoint.mem_iff, neg_smul, star_neg, star_smul, star_def, conj_I,
         skewAdjoint.star_val_eq, neg_smul_neg]⟩
   map_add' a b := by
@@ -435,7 +435,7 @@ def skewAdjoint.negISmul : skewAdjoint A →ₗ[ℝ] selfAdjoint A
     rw [smul_comm]
 #align skew_adjoint.neg_I_smul skewAdjoint.negISmul
 
-theorem skewAdjoint.i_smul_neg_i (a : skewAdjoint A) : i • (skewAdjoint.negISmul a : A) = a := by
+theorem skewAdjoint.i_smul_neg_i (a : skewAdjoint A) : I • (skewAdjoint.negISmul a : A) = a := by
   simp only [smul_smul, skewAdjoint.negISmul_apply_coe, neg_smul, smul_neg, I_mul_I, one_smul,
     neg_neg]
 #align skew_adjoint.I_smul_neg_I skewAdjoint.i_smul_neg_i
@@ -470,7 +470,7 @@ theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star
 #align real_part_apply_coe realPart_apply_coe
 
 @[simp]
-theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -i • (2 : ℝ)⁻¹ • (a - star a) :=
+theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) :=
   by
   unfold imaginaryPart
   simp only [LinearMap.coe_comp, skewAdjoint.negISmul_apply_coe, skewAdjointPart_apply_coe,
@@ -479,21 +479,21 @@ theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -i • (2 : ℝ)⁻¹ 
 
 /-- The standard decomposition of `ℜ a + complex.I • ℑ a = a` of an element of a star module over
 `ℂ` into a linear combination of self adjoint elements. -/
-theorem realPart_add_i_smul_imaginaryPart (a : A) : (ℜ a + i • ℑ a : A) = a := by
+theorem realPart_add_i_smul_imaginaryPart (a : A) : (ℜ a + I • ℑ a : A) = a := by
   simpa only [smul_smul, realPart_apply_coe, imaginaryPart_apply_coe, neg_smul, I_mul_I, one_smul,
     neg_sub, add_add_sub_cancel, smul_sub, smul_add, neg_sub_neg, invOf_eq_inv] using
     inv_of_two_smul_add_inv_of_two_smul ℝ a
 #align real_part_add_I_smul_imaginary_part realPart_add_i_smul_imaginaryPart
 
 @[simp]
-theorem realPart_i_smul (a : A) : ℜ (i • a) = -ℑ a :=
+theorem realPart_i_smul (a : A) : ℜ (I • a) = -ℑ a :=
   by
   ext
   simp [smul_comm I, smul_sub, sub_eq_add_neg, add_comm]
 #align real_part_I_smul realPart_i_smul
 
 @[simp]
-theorem imaginaryPart_i_smul (a : A) : ℑ (i • a) = ℜ a :=
+theorem imaginaryPart_i_smul (a : A) : ℑ (I • a) = ℜ a :=
   by
   ext
   simp [smul_comm I, smul_smul I]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 
 ! This file was ported from Lean 3 source module data.complex.module
-! leanprover-community/mathlib commit 468b141b14016d54b479eb7a0fff1e360b7e3cf6
+! leanprover-community/mathlib commit c310cfdc40da4d99a10a58c33a95360ef9e6e0bf
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -254,9 +254,7 @@ theorem finrank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
 
 instance (priority := 900) StarModule.complexToReal {E : Type _} [AddCommGroup E] [Star E]
     [Module ℂ E] [StarModule ℂ E] : StarModule ℝ E :=
-  ⟨fun r a => by
-    rw [star_trivial r, restrictScalars_smul_def, restrictScalars_smul_def, star_smul,
-      Complex.coe_algebraMap, Complex.star_def, Complex.conj_of_real]⟩
+  ⟨fun r a => by rw [← smul_one_smul ℂ r a, star_smul, star_smul, star_one, smul_one_smul]⟩
 #align star_module.complex_to_real StarModule.complexToReal
 
 namespace Complex
Diff
@@ -312,13 +312,13 @@ theorem conjAe_coe : ⇑conjAe = conj :=
 #align complex.conj_ae_coe Complex.conjAe_coe
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr!![ » -/
-/- ./././Mathport/Syntax/Translate/Expr.lean:391:14: unsupported user notation matrix.notation -/
+/- ./././Mathport/Syntax/Translate/Expr.lean:387:14: unsupported user notation matrix.notation -/
 /-- The matrix representation of `conj_ae`. -/
 @[simp]
 theorem toMatrix_conjAe :
     LinearMap.toMatrix basisOneI basisOneI conjAe.toLinearMap =
       «expr!![ »
-        "./././Mathport/Syntax/Translate/Expr.lean:391:14: unsupported user notation matrix.notation" :=
+        "./././Mathport/Syntax/Translate/Expr.lean:387:14: unsupported user notation matrix.notation" :=
   by
   ext (i j)
   simp [LinearMap.toMatrix_apply]

Changes in mathlib4

mathlib3
mathlib4
chore: superfluous parentheses part 2 (#12131)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -343,7 +343,7 @@ theorem equivRealProdAddHom_symm_apply (p : ℝ × ℝ) :
 def equivRealProdLm : ℂ ≃ₗ[ℝ] ℝ × ℝ :=
   { equivRealProdAddHom with
     -- Porting note: `simp` has issues with `Prod.smul_def`
-    map_smul' := fun r c => by simp [equivRealProdAddHom, (Prod.smul_def), smul_eq_mul] }
+    map_smul' := fun r c => by simp [equivRealProdAddHom, Prod.smul_def, smul_eq_mul] }
 #align complex.equiv_real_prod_lm Complex.equivRealProdLm
 
 theorem equivRealProdLm_symm_apply (p : ℝ × ℝ) :
chore: make instSMulRealComplex scoped (#12080)

This scopes and moves to Complex.SMul the instance instSMulRealComplex. Rationale: This instance is used in Data.Complex.{Basic|Module} to bootstrap SMul instances from the reals, but afterwards, instances SMul R ℂ should not need to rely on that (rather be obtained via Algebra R ℂ, for example). This speeds up the two mentioned files a bit (in fact, it reverts a slow-down caused by reducing the instance priority in #12070) and does not seem to have any adverse effects.

I think this is a cleaner solution compared to just reducing the instance priority.

See here on Zulip.

Diff
@@ -48,12 +48,14 @@ namespace Complex
 
 open ComplexConjugate
 
+open scoped SMul
+
 variable {R : Type*} {S : Type*}
 
 attribute [local ext] Complex.ext
 
 -- Test that the `SMul ℚ ℂ` instance is correct.
-example : (Complex.instSMulRealComplex : SMul ℚ ℂ) = (Algebra.toSMul : SMul ℚ ℂ) := rfl
+example : (Complex.SMul.instSMulRealComplex : SMul ℚ ℂ) = (Algebra.toSMul : SMul ℚ ℂ) := rfl
 
 /- The priority of the following instances has been manually lowered, as when they don't apply
 they lead Lean to a very costly path, and most often they don't apply (most actions on `ℂ` don't
chore: move FiniteDimensional.trans higher up the import hierarchy (#12079)

@YaelDillies pointed out that the import Data.Complex.Module → FieldTheory.Tower brings with it too many things. The only declaration from FieldTheory.Tower needed for Data.Complex.Module is FiniteDimensional.trans, which we can easily move up the import hierarchy (14 imports higher, in fact). So this means we can cut the long pole of Mathlib by up to 13 files.

Specific Zulip discussion starts here: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20long.20pole.20in.20mathlib/near/432796670

Diff
@@ -3,11 +3,11 @@ Copyright (c) 2020 Alexander Bentkamp, Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 -/
+import Mathlib.Algebra.CharP.Invertible
 import Mathlib.Algebra.Order.Module.OrderedSMul
 import Mathlib.Data.Complex.Cardinality
 import Mathlib.Data.Fin.VecNotation
-import Mathlib.FieldTheory.Tower
-import Mathlib.Algebra.CharP.Invertible
+import Mathlib.LinearAlgebra.FiniteDimensional
 
 #align_import data.complex.module from "leanprover-community/mathlib"@"c7bce2818663f456335892ddbdd1809f111a5b72"
 
feat: adjust priorities of real-to-complex instances (#11980)

See https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/very.20slow.20instance.20synthesis/near/431682092. With the change,

import Mathlib

set_option trace.profiler true in
noncomputable example : FiniteDimensional ℝ (ℂ × ℂ →L[ℂ] ℂ) := by
  infer_instance

goes down from 3.7s to 1.0s on my computer.

Diff
@@ -55,31 +55,45 @@ attribute [local ext] Complex.ext
 -- Test that the `SMul ℚ ℂ` instance is correct.
 example : (Complex.instSMulRealComplex : SMul ℚ ℂ) = (Algebra.toSMul : SMul ℚ ℂ) := rfl
 
-instance [SMul R ℝ] [SMul S ℝ] [SMulCommClass R S ℝ] : SMulCommClass R S ℂ where
+/- The priority of the following instances has been manually lowered, as when they don't apply
+they lead Lean to a very costly path, and most often they don't apply (most actions on `ℂ` don't
+come from actions on `ℝ`). See #11980-/
+
+-- priority manually adjusted in #11980
+instance (priority := 90) [SMul R ℝ] [SMul S ℝ] [SMulCommClass R S ℝ] : SMulCommClass R S ℂ where
   smul_comm r s x := by ext <;> simp [smul_re, smul_im, smul_comm]
 
-instance [SMul R S] [SMul R ℝ] [SMul S ℝ] [IsScalarTower R S ℝ] : IsScalarTower R S ℂ where
+-- priority manually adjusted in #11980
+instance (priority := 90) [SMul R S] [SMul R ℝ] [SMul S ℝ] [IsScalarTower R S ℝ] :
+    IsScalarTower R S ℂ where
   smul_assoc r s x := by ext <;> simp [smul_re, smul_im, smul_assoc]
 
-instance [SMul R ℝ] [SMul Rᵐᵒᵖ ℝ] [IsCentralScalar R ℝ] : IsCentralScalar R ℂ where
+-- priority manually adjusted in #11980
+instance (priority := 90) [SMul R ℝ] [SMul Rᵐᵒᵖ ℝ] [IsCentralScalar R ℝ] :
+    IsCentralScalar R ℂ where
   op_smul_eq_smul r x := by ext <;> simp [smul_re, smul_im, op_smul_eq_smul]
 
-instance mulAction [Monoid R] [MulAction R ℝ] : MulAction R ℂ where
+-- priority manually adjusted in #11980
+instance (priority := 90) mulAction [Monoid R] [MulAction R ℝ] : MulAction R ℂ where
   one_smul x := by ext <;> simp [smul_re, smul_im, one_smul]
   mul_smul r s x := by ext <;> simp [smul_re, smul_im, mul_smul]
 
-instance distribSMul [DistribSMul R ℝ] : DistribSMul R ℂ where
+-- priority manually adjusted in #11980
+instance (priority := 90) distribSMul [DistribSMul R ℝ] : DistribSMul R ℂ where
   smul_add r x y := by ext <;> simp [smul_re, smul_im, smul_add]
   smul_zero r := by ext <;> simp [smul_re, smul_im, smul_zero]
 
-instance [Semiring R] [DistribMulAction R ℝ] : DistribMulAction R ℂ :=
+-- priority manually adjusted in #11980
+instance (priority := 90) [Semiring R] [DistribMulAction R ℝ] : DistribMulAction R ℂ :=
   { Complex.distribSMul, Complex.mulAction with }
 
-instance instModule [Semiring R] [Module R ℝ] : Module R ℂ where
+-- priority manually adjusted in #11980
+instance (priority := 100) instModule [Semiring R] [Module R ℝ] : Module R ℂ where
   add_smul r s x := by ext <;> simp [smul_re, smul_im, add_smul]
   zero_smul r := by ext <;> simp [smul_re, smul_im, zero_smul]
 
-instance [CommSemiring R] [Algebra R ℝ] : Algebra R ℂ :=
+-- priority manually adjusted in #11980
+instance (priority := 95) [CommSemiring R] [Algebra R ℝ] : Algebra R ℂ :=
   { Complex.ofReal.comp (algebraMap R ℝ) with
     smul := (· • ·)
     smul_def' := fun r x => by ext <;> simp [smul_re, smul_im, Algebra.smul_def]
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11801)
Diff
@@ -143,7 +143,7 @@ theorem coe_basisOneI : ⇑basisOneI = ![1, I] :=
         fin_cases i <;> fin_cases j <;>
           -- Porting note: removed `only`, consider squeezing again
           simp [coe_basisOneI_repr, Finsupp.single_eq_of_ne, Matrix.cons_val_zero,
-            Matrix.cons_val_one, Matrix.head_cons, Fin.one_eq_zero_iff, Ne.def, not_false_iff, I_re,
+            Matrix.cons_val_one, Matrix.head_cons, Fin.one_eq_zero_iff, Ne, not_false_iff, I_re,
             Nat.succ_succ_ne_one, one_im, I_im, one_re, Finsupp.single_eq_same, Fin.zero_eq_one_iff]
 set_option linter.uppercaseLean3 false in
 #align complex.coe_basis_one_I Complex.coe_basisOneI
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -350,7 +350,7 @@ def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
       rw [add_mul, mul_add, mul_add, add_comm _ (y₁ • I' * y₂ • I'), add_add_add_comm]
       congr 1
       -- equate "real" and "imaginary" parts
-      · let inst : SMulCommClass ℝ A A := by infer_instance  -- porting note: added
+      · let inst : SMulCommClass ℝ A A := by infer_instance  -- Porting note: added
         rw [smul_mul_smul, hf, smul_neg, ← Algebra.algebraMap_eq_smul_one, ← sub_eq_add_neg, ←
           RingHom.map_mul, ← RingHom.map_sub]
       · rw [Algebra.smul_def, Algebra.smul_def, Algebra.smul_def, ← Algebra.right_comm _ x₂, ←
chore(diamonds): appropriate transparency levels for diamond checks (#10910)

Currently, we have multiple "no-diamond" tests of the form

example : x = y := rfl

where X and Y are instances of some class. The problem is that since simp and type class synthesis operate at reducible_and_instances transparency this check means little.

We went through all the mentions of diamonds and either added with_reducible_and_instancse or added a reference to the issue #10906.

Co-authored-by: Kevin Buzzard <k.buzzard@imperial.ac.uk>

Diff
@@ -185,14 +185,19 @@ instance (priority := 900) Algebra.complexToReal {A : Type*} [Semiring A] [Algeb
     Algebra ℝ A :=
   RestrictScalars.algebra ℝ ℂ A
 
--- try to make sure we're not introducing diamonds.
+-- try to make sure we're not introducing diamonds but we will need
+-- `reducible_and_instances` which currently fails #10906
 example : Prod.algebra ℝ ℂ ℂ = (Prod.algebra ℂ ℂ ℂ).complexToReal := rfl
+
+-- try to make sure we're not introducing diamonds but we will need
+-- `reducible_and_instances` which currently fails #10906
 example {ι : Type*} [Fintype ι] :
     Pi.algebra (R := ℝ) ι (fun _ ↦ ℂ) = (Pi.algebra (R := ℂ) ι (fun _ ↦ ℂ)).complexToReal :=
   rfl
+
 example {A : Type*} [Ring A] [inst : Algebra ℂ A] :
     (inst.complexToReal).toModule = (inst.toModule).complexToReal :=
-  rfl
+  by with_reducible_and_instances rfl
 
 @[simp, norm_cast]
 theorem Complex.coe_smul {E : Type*} [AddCommGroup E] [Module ℂ E] (x : ℝ) (y : E) :
chore: remove terminal, terminal refines (#10762)

I replaced a few "terminal" refine/refine's with exact.

The strategy was very simple-minded: essentially any refine whose following line had smaller indentation got replaced by exact and then I cleaned up the mess.

This PR certainly leaves some further terminal refines, but maybe the current change is beneficial.

Diff
@@ -304,7 +304,7 @@ theorem toMatrix_conjAe :
 theorem real_algHom_eq_id_or_conj (f : ℂ →ₐ[ℝ] ℂ) : f = AlgHom.id ℝ ℂ ∨ f = conjAe := by
   refine'
       (eq_or_eq_neg_of_sq_eq_sq (f I) I <| by rw [← map_pow, I_sq, map_neg, map_one]).imp _ _ <;>
-    refine' fun h => algHom_ext _
+    refine fun h => algHom_ext ?_
   exacts [h, conj_I.symm ▸ h]
 #align complex.real_alg_hom_eq_id_or_conj Complex.real_algHom_eq_id_or_conj
 
feat: add star_mul_self_add_self_mul_star (#10365)

adds the lemma: star a * a + a * star a = 2 • ((ℜ a) ^ 2 + (ℑ a) ^ 2) for star algebras over .

Diff
@@ -582,6 +582,19 @@ lemma Complex.coe_realPart (z : ℂ) : (ℜ z : ℂ) = z.re := calc
   _          = z.re := by
     rw [map_add, AddSubmonoid.coe_add, mul_comm, ← smul_eq_mul, realPart_I_smul]
     simp [conj_ofReal, ← two_mul]
+
+lemma star_mul_self_add_self_mul_star {A : Type*} [NonUnitalRing A] [StarRing A]
+    [Module ℂ A] [IsScalarTower ℂ A A] [SMulCommClass ℂ A A] [StarModule ℂ A] (a : A) :
+    star a * a + a * star a = 2 • (ℜ a * ℜ a + ℑ a * ℑ a) :=
+  have a_eq := (realPart_add_I_smul_imaginaryPart a).symm
+  calc
+    star a * a + a * star a = _ :=
+      congr((star $(a_eq)) * $(a_eq) + $(a_eq) * (star $(a_eq)))
+    _ = 2 • (ℜ a * ℜ a + ℑ a * ℑ a) := by
+      simp [mul_add, add_mul, smul_smul, two_smul, mul_smul_comm,
+        smul_mul_assoc]
+      abel
+
 end RealImaginaryPart
 
 section Rational
chore: replace SubgroupClass.inv by InvMemClass.inv (#9761)
Diff
@@ -472,7 +472,7 @@ theorem realPart_I_smul (a : A) : ℜ (I • a) = -ℑ a := by
   ext
   -- Porting note: was
   -- simp [smul_comm I, smul_sub, sub_eq_add_neg, add_comm]
-  rw [realPart_apply_coe, AddSubgroupClass.coe_neg, imaginaryPart_apply_coe, neg_smul, neg_neg,
+  rw [realPart_apply_coe, NegMemClass.coe_neg, imaginaryPart_apply_coe, neg_smul, neg_neg,
     smul_comm I, star_smul, star_def, conj_I, smul_sub, neg_smul, sub_eq_add_neg]
 set_option linter.uppercaseLean3 false in
 #align real_part_I_smul realPart_I_smul
refactor: Deduplicate monotonicity of lemmas (#9179)

Remove the duplicates introduced in #8869 by sorting the lemmas in Algebra.Order.SMul into three files:

  • Algebra.Order.Module.Defs for the order isomorphism induced by scalar multiplication by a positivity element
  • Algebra.Order.Module.Pointwise for the order properties of scalar multiplication of sets. This file is new. I credit myself for https://github.com/leanprover-community/mathlib/pull/9078
  • Algebra.Order.Module.OrderedSMul: The material about OrderedSMul per se. Inherits the copyright header from Algebra.Order.SMul. This file should eventually be deleted.

I move each #align to the correct file. On top of that, I delete unused redundant OrderedSMul instances (they were useful in Lean 3, but not anymore) and eq_of_smul_eq_smul_of_pos_of_le/eq_of_smul_eq_smul_of_neg_of_le since those lemmas are weird and unused.

Diff
@@ -3,7 +3,7 @@ Copyright (c) 2020 Alexander Bentkamp, Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 -/
-import Mathlib.Algebra.Order.SMul
+import Mathlib.Algebra.Order.Module.OrderedSMul
 import Mathlib.Data.Complex.Cardinality
 import Mathlib.Data.Fin.VecNotation
 import Mathlib.FieldTheory.Tower
feat: add Algebra ℝ A instance given Algebra ℂ A (#8991)
Diff
@@ -179,10 +179,20 @@ instance (priority := 900) Module.complexToReal (E : Type*) [AddCommGroup E] [Mo
   RestrictScalars.module ℝ ℂ E
 #align module.complex_to_real Module.complexToReal
 
-instance Module.real_complex_tower (E : Type*) [AddCommGroup E] [Module ℂ E] :
-    IsScalarTower ℝ ℂ E :=
-  RestrictScalars.isScalarTower ℝ ℂ E
-#align module.real_complex_tower Module.real_complex_tower
+/- Register as an instance (with low priority) the fact that a complex algebra is also a real
+algebra. -/
+instance (priority := 900) Algebra.complexToReal {A : Type*} [Semiring A] [Algebra ℂ A] :
+    Algebra ℝ A :=
+  RestrictScalars.algebra ℝ ℂ A
+
+-- try to make sure we're not introducing diamonds.
+example : Prod.algebra ℝ ℂ ℂ = (Prod.algebra ℂ ℂ ℂ).complexToReal := rfl
+example {ι : Type*} [Fintype ι] :
+    Pi.algebra (R := ℝ) ι (fun _ ↦ ℂ) = (Pi.algebra (R := ℂ) ι (fun _ ↦ ℂ)).complexToReal :=
+  rfl
+example {A : Type*} [Ring A] [inst : Algebra ℂ A] :
+    (inst.complexToReal).toModule = (inst.toModule).complexToReal :=
+  rfl
 
 @[simp, norm_cast]
 theorem Complex.coe_smul {E : Type*} [AddCommGroup E] [Module ℂ E] (x : ℝ) (y : E) :
@@ -197,6 +207,16 @@ instance (priority := 900) SMulCommClass.complexToReal {M E : Type*} [AddCommGro
   smul_comm r _ _ := (smul_comm (r : ℂ) _ _ : _)
 #align smul_comm_class.complex_to_real SMulCommClass.complexToReal
 
+/-- The scalar action of `ℝ` on a `ℂ`-module `E` induced by `Module.complexToReal` associates with
+another scalar action of `M` on `E` whenever the action of `ℂ` associates with the action of `M`. -/
+instance IsScalarTower.complexToReal {M E : Type*} [AddCommGroup M] [Module ℂ M] [AddCommGroup E]
+    [Module ℂ E] [SMul M E] [IsScalarTower ℂ M E] : IsScalarTower ℝ M E where
+  smul_assoc r _ _ := (smul_assoc (r : ℂ) _ _ : _)
+#align module.real_complex_tower IsScalarTower.complexToReal
+
+-- check that the following instance is implied by the one above.
+example (E : Type*) [AddCommGroup E] [Module ℂ E] : IsScalarTower ℝ ℂ E := inferInstance
+
 instance (priority := 100) FiniteDimensional.complexToReal (E : Type*) [AddCommGroup E]
     [Module ℂ E] [FiniteDimensional ℂ E] : FiniteDimensional ℝ E :=
   FiniteDimensional.trans ℝ ℂ E
feat: port test/instance_diamonds.lean (#9037)

This reveals that Smul.ext_iff is hard to work with unless we also have a lemma to convert SMul.smul to HSMul.hsMul

Diff
@@ -75,7 +75,7 @@ instance distribSMul [DistribSMul R ℝ] : DistribSMul R ℂ where
 instance [Semiring R] [DistribMulAction R ℝ] : DistribMulAction R ℂ :=
   { Complex.distribSMul, Complex.mulAction with }
 
-instance [Semiring R] [Module R ℝ] : Module R ℂ where
+instance instModule [Semiring R] [Module R ℝ] : Module R ℂ where
   add_smul r s x := by ext <;> simp [smul_re, smul_im, add_smul]
   zero_smul r := by ext <;> simp [smul_re, smul_im, zero_smul]
 
chore: make Complex.ext only a local ext lemma (#9010)

In accordance with this Zulip thread, this remove Complex.ext from the global ext attribute list and only enables it locally in certain files.

Diff
@@ -50,6 +50,8 @@ open ComplexConjugate
 
 variable {R : Type*} {S : Type*}
 
+attribute [local ext] Complex.ext
+
 -- Test that the `SMul ℚ ℂ` instance is correct.
 example : (Complex.instSMulRealComplex : SMul ℚ ℂ) = (Algebra.toSMul : SMul ℚ ℂ) := rfl
 
chore: space after (#8178)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -461,7 +461,7 @@ theorem imaginaryPart_I_smul (a : A) : ℑ (I • a) = ℜ a := by
   -- Porting note: was
   -- simp [smul_comm I, smul_smul I]
   rw [realPart_apply_coe, imaginaryPart_apply_coe, smul_comm]
-  simp [←smul_assoc]
+  simp [← smul_assoc]
 set_option linter.uppercaseLean3 false in
 #align imaginary_part_I_smul imaginaryPart_I_smul
 
@@ -527,7 +527,7 @@ open Submodule
 
 lemma span_selfAdjoint : span ℂ (selfAdjoint A : Set A) = ⊤ := by
   refine eq_top_iff'.mpr fun x ↦ ?_
-  rw [←realPart_add_I_smul_imaginaryPart x]
+  rw [← realPart_add_I_smul_imaginaryPart x]
   exact add_mem (subset_span (ℜ x).property) <|
     SMulMemClass.smul_mem _ <| subset_span (ℑ x).property
 
@@ -548,7 +548,7 @@ lemma Complex.coe_selfAdjointEquiv (z : selfAdjoint ℂ) :
 
 @[simp]
 lemma realPart_ofReal (r : ℝ) : (ℜ (r : ℂ) : ℂ) = r := by
-  rw [realPart_apply_coe, star_def, conj_ofReal, ←two_smul ℝ (r : ℂ)]
+  rw [realPart_apply_coe, star_def, conj_ofReal, ← two_smul ℝ (r : ℂ)]
   simp
 
 @[simp]
@@ -558,8 +558,8 @@ lemma imaginaryPart_ofReal (r : ℝ) : ℑ (r : ℂ) = 0 := by
 lemma Complex.coe_realPart (z : ℂ) : (ℜ z : ℂ) = z.re := calc
   (ℜ z : ℂ) = _    := by congrm (ℜ $((re_add_im z).symm))
   _          = z.re := by
-    rw [map_add, AddSubmonoid.coe_add, mul_comm, ←smul_eq_mul, realPart_I_smul]
-    simp [conj_ofReal, ←two_mul]
+    rw [map_add, AddSubmonoid.coe_add, mul_comm, ← smul_eq_mul, realPart_I_smul]
+    simp [conj_ofReal, ← two_mul]
 end RealImaginaryPart
 
 section Rational
chore: split Data.Complex.Basic (#8355)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>

Diff
@@ -50,6 +50,9 @@ open ComplexConjugate
 
 variable {R : Type*} {S : Type*}
 
+-- Test that the `SMul ℚ ℂ` instance is correct.
+example : (Complex.instSMulRealComplex : SMul ℚ ℂ) = (Algebra.toSMul : SMul ℚ ℂ) := rfl
+
 instance [SMul R ℝ] [SMul S ℝ] [SMulCommClass R S ℝ] : SMulCommClass R S ℂ where
   smul_comm r s x := by ext <;> simp [smul_re, smul_im, smul_comm]
 
feat: Add polar change of coordinates for complex variable (#8034)
Diff
@@ -289,6 +289,9 @@ def equivRealProdAddHom : ℂ ≃+ ℝ × ℝ :=
   { equivRealProd with map_add' := by simp }
 #align complex.equiv_real_prod_add_hom Complex.equivRealProdAddHom
 
+theorem equivRealProdAddHom_symm_apply (p : ℝ × ℝ) :
+    Complex.equivRealProdAddHom.symm p = p.1 + p.2 * Complex.I := Complex.equivRealProd_symm_apply p
+
 /-- The natural `LinearEquiv` from `ℂ` to `ℝ × ℝ`. -/
 @[simps! (config := { simpRhs := true }) apply symm_apply_re symm_apply_im]
 def equivRealProdLm : ℂ ≃ₗ[ℝ] ℝ × ℝ :=
@@ -297,6 +300,8 @@ def equivRealProdLm : ℂ ≃ₗ[ℝ] ℝ × ℝ :=
     map_smul' := fun r c => by simp [equivRealProdAddHom, (Prod.smul_def), smul_eq_mul] }
 #align complex.equiv_real_prod_lm Complex.equivRealProdLm
 
+theorem equivRealProdLm_symm_apply (p : ℝ × ℝ) :
+    Complex.equivRealProdLm.symm p = p.1 + p.2 * Complex.I := Complex.equivRealProd_symm_apply p
 section lift
 
 variable {A : Type*} [Ring A] [Algebra ℝ A]
chore: bump toolchain to v4.3.0-rc1 (#8051)

This incorporates changes from

  • #7845
  • #7847
  • #7853
  • #7872 (was never actually made to work, but the diffs in nightly-testing are unexciting: we need to fully qualify a few names)

They can all be closed when this is merged.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -479,7 +479,7 @@ lemma IsSelfAdjoint.coe_realPart {x : A} (hx : IsSelfAdjoint x) :
     (ℜ x : A) = x :=
   hx.coe_selfAdjointPart_apply ℝ
 
-lemma IsSelfAdjoint.imaginaryPart {x : A} (hx : IsSelfAdjoint x) :
+nonrec lemma IsSelfAdjoint.imaginaryPart {x : A} (hx : IsSelfAdjoint x) :
     ℑ x = 0 := by
   rw [imaginaryPart, LinearMap.comp_apply, hx.skewAdjointPart_apply _, map_zero]
 
chore: missing spaces after rcases, convert and congrm (#7725)

Replace rcases( with rcases (. Same thing for convert( and congrm(. No other change.

Diff
@@ -458,12 +458,12 @@ set_option linter.uppercaseLean3 false in
 #align imaginary_part_I_smul imaginaryPart_I_smul
 
 theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a := by
-  have := by congrm(ℜ ($((re_add_im z).symm) • a))
+  have := by congrm (ℜ ($((re_add_im z).symm) • a))
   simpa [-re_add_im, add_smul, ← smul_smul, sub_eq_add_neg]
 #align real_part_smul realPart_smul
 
 theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a := by
-  have := by congrm(ℑ ($((re_add_im z).symm) • a))
+  have := by congrm (ℑ ($((re_add_im z).symm) • a))
   simpa [-re_add_im, add_smul, ← smul_smul]
 #align imaginary_part_smul imaginaryPart_smul
 
@@ -548,7 +548,7 @@ lemma imaginaryPart_ofReal (r : ℝ) : ℑ (r : ℂ) = 0 := by
   ext1; simp [imaginaryPart_apply_coe, conj_ofReal]
 
 lemma Complex.coe_realPart (z : ℂ) : (ℜ z : ℂ) = z.re := calc
-  (ℜ z : ℂ) = _    := by congrm(ℜ $((re_add_im z).symm))
+  (ℜ z : ℂ) = _    := by congrm (ℜ $((re_add_im z).symm))
   _          = z.re := by
     rw [map_add, AddSubmonoid.coe_add, mul_comm, ←smul_eq_mul, realPart_I_smul]
     simp [conj_ofReal, ←two_mul]
style: fix wrapping of where (#7149)
Diff
@@ -188,8 +188,8 @@ theorem Complex.coe_smul {E : Type*} [AddCommGroup E] [Module ℂ E] (x : ℝ) (
 /-- The scalar action of `ℝ` on a `ℂ`-module `E` induced by `Module.complexToReal` commutes with
 another scalar action of `M` on `E` whenever the action of `ℂ` commutes with the action of `M`. -/
 instance (priority := 900) SMulCommClass.complexToReal {M E : Type*} [AddCommGroup E] [Module ℂ E]
-    [SMul M E] [SMulCommClass ℂ M E] : SMulCommClass ℝ M E
-    where smul_comm r _ _ := (smul_comm (r : ℂ) _ _ : _)
+    [SMul M E] [SMulCommClass ℂ M E] : SMulCommClass ℝ M E where
+  smul_comm r _ _ := (smul_comm (r : ℂ) _ _ : _)
 #align smul_comm_class.complex_to_real SMulCommClass.complexToReal
 
 instance (priority := 100) FiniteDimensional.complexToReal (E : Type*) [AddCommGroup E]
feat: flesh out the API for realPart and imaginaryPart (#7023)

Improve API for the realPart and imaginaryPart maps in a star module over .

  1. remove the simp attribute on realPart_apply_coe and imaginaryPart_apply_coe
  2. construct the -linear equivalence Complex.selfAdjointEquiv between selfAdjoint ℂ and . In fact, this would be an algebra equivalence, but that requires selfAdjoint ℂ to have an algebra ℝ (selfAdjoint ℂ) structure, which it doesn't have.
  3. show the span (over ) of selfAdjoint A is ⊤ : Submodule ℂ A
Diff
@@ -410,18 +410,18 @@ noncomputable def imaginaryPart : A →ₗ[ℝ] selfAdjoint A :=
   skewAdjoint.negISMul.comp (skewAdjointPart ℝ)
 #align imaginary_part imaginaryPart
 
+@[inherit_doc]
 scoped[ComplexStarModule] notation "ℜ" => realPart
+@[inherit_doc]
 scoped[ComplexStarModule] notation "ℑ" => imaginaryPart
 
 open ComplexStarModule
 
-@[simp]
 theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) := by
   unfold realPart
   simp only [selfAdjointPart_apply_coe, invOf_eq_inv]
 #align real_part_apply_coe realPart_apply_coe
 
-@[simp]
 theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) := by
   unfold imaginaryPart
   simp only [LinearMap.coe_comp, Function.comp_apply, skewAdjoint.negISMul_apply_coe,
@@ -458,19 +458,100 @@ set_option linter.uppercaseLean3 false in
 #align imaginary_part_I_smul imaginaryPart_I_smul
 
 theorem realPart_smul (z : ℂ) (a : A) : ℜ (z • a) = z.re • ℜ a - z.im • ℑ a := by
-  -- Porting note: was `nth_rw 1 [← re_add_im z]`
-  conv_lhs =>
-    rw [← re_add_im z]
-  simp [-re_add_im, add_smul, ← smul_smul, sub_eq_add_neg]
+  have := by congrm(ℜ ($((re_add_im z).symm) • a))
+  simpa [-re_add_im, add_smul, ← smul_smul, sub_eq_add_neg]
 #align real_part_smul realPart_smul
 
 theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + z.im • ℜ a := by
-  -- Porting note: was `nth_rw 1 [← re_add_im z]`
-  conv_lhs =>
-    rw [← re_add_im z]
-  simp [-re_add_im, add_smul, ← smul_smul]
+  have := by congrm(ℑ ($((re_add_im z).symm) • a))
+  simpa [-re_add_im, add_smul, ← smul_smul]
 #align imaginary_part_smul imaginaryPart_smul
 
+lemma skewAdjointPart_eq_I_smul_imaginaryPart (x : A) :
+    (skewAdjointPart ℝ x : A) = I • (imaginaryPart x : A) := by
+  simp [imaginaryPart_apply_coe, smul_smul]
+
+lemma imaginaryPart_eq_neg_I_smul_skewAdjointPart (x : A) :
+    (imaginaryPart x : A) = -I • (skewAdjointPart ℝ x : A) :=
+  rfl
+
+lemma IsSelfAdjoint.coe_realPart {x : A} (hx : IsSelfAdjoint x) :
+    (ℜ x : A) = x :=
+  hx.coe_selfAdjointPart_apply ℝ
+
+lemma IsSelfAdjoint.imaginaryPart {x : A} (hx : IsSelfAdjoint x) :
+    ℑ x = 0 := by
+  rw [imaginaryPart, LinearMap.comp_apply, hx.skewAdjointPart_apply _, map_zero]
+
+lemma realPart_comp_subtype_selfAdjoint :
+    realPart.comp (selfAdjoint.submodule ℝ A).subtype = LinearMap.id :=
+  selfAdjointPart_comp_subtype_selfAdjoint ℝ
+
+lemma imaginaryPart_comp_subtype_selfAdjoint :
+    imaginaryPart.comp (selfAdjoint.submodule ℝ A).subtype = 0 := by
+  rw [imaginaryPart, LinearMap.comp_assoc, skewAdjointPart_comp_subtype_selfAdjoint,
+    LinearMap.comp_zero]
+
+@[simp]
+lemma imaginaryPart_realPart {x : A} : ℑ (ℜ x : A) = 0 :=
+  (ℜ x).property.imaginaryPart
+
+@[simp]
+lemma imaginaryPart_imaginaryPart {x : A} : ℑ (ℑ x : A) = 0 :=
+  (ℑ x).property.imaginaryPart
+
+@[simp]
+lemma realPart_idem {x : A} : ℜ (ℜ x : A) = ℜ x :=
+  Subtype.ext <| (ℜ x).property.coe_realPart
+
+@[simp]
+lemma realPart_imaginaryPart {x : A} : ℜ (ℑ x : A) = ℑ x :=
+  Subtype.ext <| (ℑ x).property.coe_realPart
+
+lemma realPart_surjective : Function.Surjective (realPart (A := A)) :=
+  fun x ↦ ⟨(x : A), Subtype.ext x.property.coe_realPart⟩
+
+lemma imaginaryPart_surjective : Function.Surjective (imaginaryPart (A := A)) :=
+  fun x ↦
+    ⟨I • (x : A), Subtype.ext <| by simp only [imaginaryPart_I_smul, x.property.coe_realPart]⟩
+
+open Submodule
+
+lemma span_selfAdjoint : span ℂ (selfAdjoint A : Set A) = ⊤ := by
+  refine eq_top_iff'.mpr fun x ↦ ?_
+  rw [←realPart_add_I_smul_imaginaryPart x]
+  exact add_mem (subset_span (ℜ x).property) <|
+    SMulMemClass.smul_mem _ <| subset_span (ℑ x).property
+
+/-- The natural `ℝ`-linear equivalence between `selfAdjoint ℂ` and `ℝ`. -/
+@[simps apply symm_apply]
+def Complex.selfAdjointEquiv : selfAdjoint ℂ ≃ₗ[ℝ] ℝ where
+  toFun := fun z ↦ (z : ℂ).re
+  invFun := fun x ↦ ⟨x, conj_ofReal x⟩
+  left_inv := fun z ↦ Subtype.ext <| conj_eq_iff_re.mp z.property.star_eq
+  right_inv := fun x ↦ rfl
+  map_add' := by simp
+  map_smul' := by simp
+
+lemma Complex.coe_selfAdjointEquiv (z : selfAdjoint ℂ) :
+    (selfAdjointEquiv z : ℂ) = z := by
+  simpa [selfAdjointEquiv_symm_apply]
+    using (congr_arg Subtype.val <| Complex.selfAdjointEquiv.left_inv z)
+
+@[simp]
+lemma realPart_ofReal (r : ℝ) : (ℜ (r : ℂ) : ℂ) = r := by
+  rw [realPart_apply_coe, star_def, conj_ofReal, ←two_smul ℝ (r : ℂ)]
+  simp
+
+@[simp]
+lemma imaginaryPart_ofReal (r : ℝ) : ℑ (r : ℂ) = 0 := by
+  ext1; simp [imaginaryPart_apply_coe, conj_ofReal]
+
+lemma Complex.coe_realPart (z : ℂ) : (ℜ z : ℂ) = z.re := calc
+  (ℜ z : ℂ) = _    := by congrm(ℜ $((re_add_im z).symm))
+  _          = z.re := by
+    rw [map_add, AddSubmonoid.coe_add, mul_comm, ←smul_eq_mul, realPart_I_smul]
+    simp [conj_ofReal, ←two_mul]
 end RealImaginaryPart
 
 section Rational
feat: compute rank of and as -modules (#6672)

This adds a trivial cardinality argument that shows that when V is a free K-module where K is infinite and satisfies the strong rank condiiton, then the rank of V coincides with its cardinality. This is then used to establish that Module.rank ℚ ℝ = continuum = Module.rank ℚ ℂ, and therefore that and are isomorphic as vector spaces over .

As requested on Zulip

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
 -/
 import Mathlib.Algebra.Order.SMul
-import Mathlib.Data.Complex.Basic
+import Mathlib.Data.Complex.Cardinality
 import Mathlib.Data.Fin.VecNotation
 import Mathlib.FieldTheory.Tower
 import Mathlib.Algebra.CharP.Invertible
@@ -472,3 +472,24 @@ theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a +
 #align imaginary_part_smul imaginaryPart_smul
 
 end RealImaginaryPart
+
+section Rational
+
+open Cardinal Module
+
+@[simp]
+lemma Real.rank_rat_real : Module.rank ℚ ℝ = continuum := by
+  refine (Free.rank_eq_mk_of_infinite_lt ℚ ℝ ?_).trans mk_real
+  simpa [mk_real] using aleph0_lt_continuum
+
+@[simp]
+lemma Complex.rank_rat_complex : Module.rank ℚ ℂ = continuum := by
+  refine (Free.rank_eq_mk_of_infinite_lt ℚ ℂ ?_).trans mk_complex
+  simpa using aleph0_lt_continuum
+
+/-- `ℂ` and `ℝ` are isomorphic as vector spaces over `ℚ`, or equivalently,
+as additive groups. -/
+theorem Complex.nonempty_linearEquiv_real : Nonempty (ℂ ≃ₗ[ℚ] ℝ) :=
+  LinearEquiv.nonempty_equiv_iff_rank_eq.mpr <| by simp
+
+end Rational
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -48,7 +48,7 @@ namespace Complex
 
 open ComplexConjugate
 
-variable {R : Type _} {S : Type _}
+variable {R : Type*} {S : Type*}
 
 instance [SMul R ℝ] [SMul S ℝ] [SMulCommClass R S ℝ] : SMulCommClass R S ℂ where
   smul_comm r s x := by ext <;> simp [smul_re, smul_im, smul_comm]
@@ -90,7 +90,7 @@ theorem coe_algebraMap : (algebraMap ℝ ℂ : ℝ → ℂ) = ((↑) : ℝ → 
 
 section
 
-variable {A : Type _} [Semiring A] [Algebra ℝ A]
+variable {A : Type*} [Semiring A] [Algebra ℝ A]
 
 /-- We need this lemma since `Complex.coe_algebraMap` diverts the simp-normal form away from
 `AlgHom.commutes`. -/
@@ -169,47 +169,47 @@ end Complex
 
 /- Register as an instance (with low priority) the fact that a complex vector space is also a real
 vector space. -/
-instance (priority := 900) Module.complexToReal (E : Type _) [AddCommGroup E] [Module ℂ E] :
+instance (priority := 900) Module.complexToReal (E : Type*) [AddCommGroup E] [Module ℂ E] :
     Module ℝ E :=
   RestrictScalars.module ℝ ℂ E
 #align module.complex_to_real Module.complexToReal
 
-instance Module.real_complex_tower (E : Type _) [AddCommGroup E] [Module ℂ E] :
+instance Module.real_complex_tower (E : Type*) [AddCommGroup E] [Module ℂ E] :
     IsScalarTower ℝ ℂ E :=
   RestrictScalars.isScalarTower ℝ ℂ E
 #align module.real_complex_tower Module.real_complex_tower
 
 @[simp, norm_cast]
-theorem Complex.coe_smul {E : Type _} [AddCommGroup E] [Module ℂ E] (x : ℝ) (y : E) :
+theorem Complex.coe_smul {E : Type*} [AddCommGroup E] [Module ℂ E] (x : ℝ) (y : E) :
     (x : ℂ) • y = x • y :=
   rfl
 #align complex.coe_smul Complex.coe_smul
 
 /-- The scalar action of `ℝ` on a `ℂ`-module `E` induced by `Module.complexToReal` commutes with
 another scalar action of `M` on `E` whenever the action of `ℂ` commutes with the action of `M`. -/
-instance (priority := 900) SMulCommClass.complexToReal {M E : Type _} [AddCommGroup E] [Module ℂ E]
+instance (priority := 900) SMulCommClass.complexToReal {M E : Type*} [AddCommGroup E] [Module ℂ E]
     [SMul M E] [SMulCommClass ℂ M E] : SMulCommClass ℝ M E
     where smul_comm r _ _ := (smul_comm (r : ℂ) _ _ : _)
 #align smul_comm_class.complex_to_real SMulCommClass.complexToReal
 
-instance (priority := 100) FiniteDimensional.complexToReal (E : Type _) [AddCommGroup E]
+instance (priority := 100) FiniteDimensional.complexToReal (E : Type*) [AddCommGroup E]
     [Module ℂ E] [FiniteDimensional ℂ E] : FiniteDimensional ℝ E :=
   FiniteDimensional.trans ℝ ℂ E
 #align finite_dimensional.complex_to_real FiniteDimensional.complexToReal
 
-theorem rank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
+theorem rank_real_of_complex (E : Type*) [AddCommGroup E] [Module ℂ E] :
     Module.rank ℝ E = 2 * Module.rank ℂ E :=
   Cardinal.lift_inj.1 <| by
     rw [← lift_rank_mul_lift_rank ℝ ℂ E, Complex.rank_real_complex']
     simp only [Cardinal.lift_id']
 #align rank_real_of_complex rank_real_of_complex
 
-theorem finrank_real_of_complex (E : Type _) [AddCommGroup E] [Module ℂ E] :
+theorem finrank_real_of_complex (E : Type*) [AddCommGroup E] [Module ℂ E] :
     FiniteDimensional.finrank ℝ E = 2 * FiniteDimensional.finrank ℂ E := by
   rw [← FiniteDimensional.finrank_mul_finrank ℝ ℂ E, Complex.finrank_real_complex]
 #align finrank_real_of_complex finrank_real_of_complex
 
-instance (priority := 900) StarModule.complexToReal {E : Type _} [AddCommGroup E] [Star E]
+instance (priority := 900) StarModule.complexToReal {E : Type*} [AddCommGroup E] [Star E]
     [Module ℂ E] [StarModule ℂ E] : StarModule ℝ E :=
   ⟨fun r a => by rw [← smul_one_smul ℂ r a, star_smul, star_smul, star_one, smul_one_smul]⟩
 #align star_module.complex_to_real StarModule.complexToReal
@@ -299,7 +299,7 @@ def equivRealProdLm : ℂ ≃ₗ[ℝ] ℝ × ℝ :=
 
 section lift
 
-variable {A : Type _} [Ring A] [Algebra ℝ A]
+variable {A : Type*} [Ring A] [Algebra ℝ A]
 
 /-- There is an alg_hom from `ℂ` to any `ℝ`-algebra with an element that squares to `-1`.
 
@@ -367,7 +367,7 @@ section RealImaginaryPart
 
 open Complex
 
-variable {A : Type _} [AddCommGroup A] [Module ℂ A] [StarAddMonoid A] [StarModule ℂ A]
+variable {A : Type*} [AddCommGroup A] [Module ℂ A] [StarAddMonoid A] [StarModule ℂ A]
 
 /-- Create a `selfAdjoint` element from a `skewAdjoint` element by multiplying by the scalar
 `-Complex.I`. -/
chore(Data/Complex): move order to a separate file (#6457)

Given how confusing this order could be to newcomers, it's probably not reasonable to call it Basic. At any rate, Data/Complex/Basic is very long, and this is an easy split.

Diff
@@ -108,18 +108,6 @@ theorem algHom_ext ⦃f g : ℂ →ₐ[ℝ] A⦄ (h : f I = g I) : f = g := by
 
 end
 
-section
-
-open ComplexOrder
-
-protected theorem orderedSMul : OrderedSMul ℝ ℂ :=
-  OrderedSMul.mk' fun a b r hab hr => ⟨by simp [hr, hab.1.le], by simp [hab.2]⟩
-#align complex.ordered_smul Complex.orderedSMul
-
-scoped[ComplexOrder] attribute [instance] Complex.orderedSMul
-
-end
-
 open Submodule FiniteDimensional
 
 /-- `ℂ` has a basis over `ℝ` given by `1` and `I`. -/
chore: replace (Algebra.ofId R A).toLinearMap with Algebra.linearMap R A (#6208)

A tiny bit of clean up, with the aim of increasing awareness of Algebra.linearMap

Diff
@@ -318,7 +318,7 @@ variable {A : Type _} [Ring A] [Algebra ℝ A]
 See `Complex.lift` for this as an equiv. -/
 def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
   AlgHom.ofLinearMap
-    ((Algebra.ofId ℝ A).toLinearMap.comp reLm + (LinearMap.toSpanSingleton _ _ I').comp imLm)
+    ((Algebra.linearMap ℝ A).comp reLm + (LinearMap.toSpanSingleton _ _ I').comp imLm)
     (show algebraMap ℝ A 1 + (0 : ℝ) • I' = 1 by rw [RingHom.map_one, zero_smul, add_zero])
     fun ⟨x₁, y₁⟩ ⟨x₂, y₂⟩ =>
     show
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2020 Alexander Bentkamp, Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser
-
-! This file was ported from Lean 3 source module data.complex.module
-! leanprover-community/mathlib commit c7bce2818663f456335892ddbdd1809f111a5b72
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Order.SMul
 import Mathlib.Data.Complex.Basic
@@ -14,6 +9,8 @@ import Mathlib.Data.Fin.VecNotation
 import Mathlib.FieldTheory.Tower
 import Mathlib.Algebra.CharP.Invertible
 
+#align_import data.complex.module from "leanprover-community/mathlib"@"c7bce2818663f456335892ddbdd1809f111a5b72"
+
 /-!
 # Complex number as a vector space over `ℝ`
 
fix: fix Q-smul diamond in Complex (#5341)

Co-authored-by: Chris Hughes <33847686+ChrisHughes24@users.noreply.github.com>

Diff
@@ -53,27 +53,6 @@ open ComplexConjugate
 
 variable {R : Type _} {S : Type _}
 
-section
-
-variable [SMul R ℝ]
-
-/- The useless `0` multiplication in `smul` is to make sure that
-`RestrictScalars.module ℝ ℂ ℂ = Complex.module` definitionally. -/
-instance : SMul R ℂ where smul r x := ⟨r • x.re - 0 * x.im, r • x.im + 0 * x.re⟩
-
-theorem smul_re (r : R) (z : ℂ) : (r • z).re = r • z.re := by simp [(· • ·), SMul.smul]
-#align complex.smul_re Complex.smul_re
-
-theorem smul_im (r : R) (z : ℂ) : (r • z).im = r • z.im := by simp [(· • ·), SMul.smul]
-#align complex.smul_im Complex.smul_im
-
-@[simp]
-theorem real_smul {x : ℝ} {z : ℂ} : x • z = x * z :=
-  rfl
-#align complex.real_smul Complex.real_smul
-
-end
-
 instance [SMul R ℝ] [SMul S ℝ] [SMulCommClass R S ℝ] : SMulCommClass R S ℂ where
   smul_comm r s x := by ext <;> simp [smul_re, smul_im, smul_comm]
 
chore: remove superfluous parentheses in calls to ext (#5258)

Co-authored-by: Xavier Roblot <46200072+xroblot@users.noreply.github.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Pol'tta / Miyahara Kō <pol_tta@outlook.jp> Co-authored-by: Jason Yuen <jason_yuen2007@hotmail.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Jireh Loreaux <loreaujy@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Heather Macbeth <25316162+hrmacbeth@users.noreply.github.com> Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com> Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -306,7 +306,7 @@ theorem conjAe_coe : ⇑conjAe = conj :=
 @[simp]
 theorem toMatrix_conjAe :
     LinearMap.toMatrix basisOneI basisOneI conjAe.toLinearMap = !![1, 0; 0, -1] := by
-  ext (i j)
+  ext i j
   -- Porting note: replaced non-terminal `simp [LinearMap.toMatrix_apply]`
   fin_cases i <;> fin_cases j <;> simp [LinearMap.toMatrix_apply]
 #align complex.to_matrix_conj_ae Complex.toMatrix_conjAe
chore: add space after exacts (#4945)

Too often tempted to change these during other PRs, so doing a mass edit here.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -316,7 +316,7 @@ theorem real_algHom_eq_id_or_conj (f : ℂ →ₐ[ℝ] ℂ) : f = AlgHom.id ℝ
   refine'
       (eq_or_eq_neg_of_sq_eq_sq (f I) I <| by rw [← map_pow, I_sq, map_neg, map_one]).imp _ _ <;>
     refine' fun h => algHom_ext _
-  exacts[h, conj_I.symm ▸ h]
+  exacts [h, conj_I.symm ▸ h]
 #align complex.real_alg_hom_eq_id_or_conj Complex.real_algHom_eq_id_or_conj
 
 /-- The natural `AddEquiv` from `ℂ` to `ℝ × ℝ`. -/
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

Now that leanprover/lean4#2210 has been merged, this PR:

  • removes all the set_option synthInstance.etaExperiment true commands (and some etaExperiment% term elaborators)
  • removes many but not quite all set_option maxHeartbeats commands
  • makes various other changes required to cope with leanprover/lean4#2210.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -337,7 +337,6 @@ section lift
 
 variable {A : Type _} [Ring A] [Algebra ℝ A]
 
-set_option synthInstance.etaExperiment true in
 /-- There is an alg_hom from `ℂ` to any `ℝ`-algebra with an element that squares to `-1`.
 
 See `Complex.lift` for this as an equiv. -/
@@ -364,7 +363,6 @@ theorem liftAux_apply (I' : A) (hI') (z : ℂ) : liftAux I' hI' z = algebraMap 
   rfl
 #align complex.lift_aux_apply Complex.liftAux_apply
 
-set_option synthInstance.etaExperiment true in
 theorem liftAux_apply_I (I' : A) (hI') : liftAux I' hI' I = I' := by simp
 set_option linter.uppercaseLean3 false in
 #align complex.lift_aux_apply_I Complex.liftAux_apply_I
chore: move shortcut instance to Algebra.Algebra.Basic (#3778)

See https://github.com/leanprover-community/mathlib/pull/18907

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -337,11 +337,6 @@ section lift
 
 variable {A : Type _} [Ring A] [Algebra ℝ A]
 
--- Porting note: added for `liftAux` proof
--- see https://github.com/leanprover-community/mathlib/pull/18907
-instance {R A} [CommSemiring R] [Semiring A] [Algebra R A] : SMulCommClass R A A := by
-  infer_instance
-
 set_option synthInstance.etaExperiment true in
 /-- There is an alg_hom from `ℂ` to any `ℝ`-algebra with an element that squares to `-1`.
 
@@ -357,7 +352,8 @@ def liftAux (I' : A) (hf : I' * I' = -1) : ℂ →ₐ[ℝ] A :=
       rw [add_mul, mul_add, mul_add, add_comm _ (y₁ • I' * y₂ • I'), add_add_add_comm]
       congr 1
       -- equate "real" and "imaginary" parts
-      · rw [smul_mul_smul, hf, smul_neg, ← Algebra.algebraMap_eq_smul_one, ← sub_eq_add_neg, ←
+      · let inst : SMulCommClass ℝ A A := by infer_instance  -- porting note: added
+        rw [smul_mul_smul, hf, smul_neg, ← Algebra.algebraMap_eq_smul_one, ← sub_eq_add_neg, ←
           RingHom.map_mul, ← RingHom.map_sub]
       · rw [Algebra.smul_def, Algebra.smul_def, Algebra.smul_def, ← Algebra.right_comm _ x₂, ←
           mul_assoc, ← add_mul, ← RingHom.map_mul, ← RingHom.map_mul, ← RingHom.map_add]
feat: port Data.Complex.Module (#3737)

Co-authored-by: int-y1 <jason_yuen2007@hotmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Dependencies 12 + 662

663 files ported (98.2%)
287278 lines ported (98.1%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file