data.complex.module
⟷
Mathlib.Data.Complex.Module
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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 /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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 `ℝ`
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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 `ℝ × ℝ`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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 : ℂ ≃ₐ[ℝ] ℂ :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -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' :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/738054fa93d43512da144ec45ce799d18fd44248
@@ -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 `ℝ`
mathlib commit https://github.com/leanprover-community/mathlib/commit/39478763114722f0ec7613cb2f3f7701f9b86c8d
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/a4f99eae998680d3a2c240da4a2b16354c85ee49
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cd8fafa2fac98e1a67097e8a91ad9901cfde48af
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/17ad94b4953419f3e3ce3e77da3239c62d1d09f0
@@ -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 :
mathlib commit https://github.com/leanprover-community/mathlib/commit/17ad94b4953419f3e3ce3e77da3239c62d1d09f0
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/284fdd2962e67d2932fa3a79ce19fcf92d38e228
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/06a655b5fcfbda03502f9158bbf6c0f1400886f9
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/2af0836443b4cfb5feda0df0051acdb398304931
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ddec54a71a0dd025c05445d467f1a2b7d586a3ba
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/62e8311c791f02c47451bf14aa2501048e7c2f33
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -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 : ℝ × ℝ) :
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.
@@ -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
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
@@ -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"
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.
@@ -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]
@@ -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
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -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₂, ←
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>
@@ -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) :
refine
s (#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 refine
s, but maybe the current change is beneficial.
@@ -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
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 ℂ
.
@@ -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
@@ -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
•
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 elementAlgebra.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/9078Algebra.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.
@@ -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
@@ -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
This reveals that Smul.ext_iff
is hard to work with unless we also have a lemma to convert SMul.smul
to HSMul.hsMul
@@ -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]
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.
@@ -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
@@ -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
@@ -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]
@@ -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]
This incorporates changes from
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>
@@ -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]
rcases
, convert
and congrm
(#7725)
Replace rcases(
with rcases (
. Same thing for convert(
and congrm(
. No other change.
@@ -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]
@@ -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]
realPart
and imaginaryPart
(#7023)
Improve API for the realPart
and imaginaryPart
maps in a star module over ℂ
.
simp
attribute on realPart_apply_coe
and imaginaryPart_apply_coe
ℝ
-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.ℂ
) of selfAdjoint A
is ⊤ : Submodule ℂ A
@@ -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
ℂ
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
@@ -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
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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`. -/
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.
@@ -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`. -/
(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
@@ -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
@@ -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 `ℝ`
@@ -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]
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>
@@ -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
@@ -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 `ℝ × ℝ`. -/
Now that leanprover/lean4#2210 has been merged, this PR:
set_option synthInstance.etaExperiment true
commands (and some etaExperiment%
term elaborators)set_option maxHeartbeats
commandsCo-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>
@@ -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
See https://github.com/leanprover-community/mathlib/pull/18907
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -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]
The unported dependencies are
algebra.order.module
init.core
linear_algebra.free_module.finite.rank
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
linear_algebra.free_module.rank
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file