Commit 2021-03-10 20:43 547bf551
View on Github →feat(data/complex/module): transfer all has_scalar ℝ structures to ℂ (#6562)
This provides (for an R with the same instance on ℝ) the instances:
has_scalar R ℂis_scalar_tower R S ℂsmul_comm_class R S ℂmul_action R ℂdistrib_mul_action R ℂsemimodule R ℂalgebra R ℂnormed_algebra R ℂThis has the downside thatsmul_coeis no longer arfllemma, but means thatℂis automatically an algebra overℝ≥0. It renamessmul_reandsmul_imtoof_real_mul_reandof_real_mul_im, since the previous statements did not usesmulat all, and renaming frees up these names for lemmas which do usesmul. This removesnormed_space.restrict_scalars_real E(implemented asnormed_space.restrict_scalars ℝ ℂ E) as:- As an instance, it now causes unwanted diamonds
- After downgrading to a def, it is never used
- The docs for
normed_space.restrict_scalarssuggest judicious use, and that if you want this instance you should use the type synonymsemimodule.restrict_scalars ℝ ℂ Ewhich will have this instance for free.