Commit 2023-01-24 03:14 468b141b

View on Github →

refactor(analysis/complex/basic, data/complex/is_R_or_C): downgrade imports (#18217) The files data/complex/is_R_or_C and analysis/complex/basic are imported widely across the analysis library: for example

  • data/complex/is_R_or_C into inner product spaces
  • analysis/complex/basic into the construction of rpow and thence into Lp spaces and the Bochner integral So it is useful (for the port and for compilation time) to make them as elementary as possible. Currently they both import analysis/normed_space/operator_norm and analysis/normed_space/finite_dimension, rather heavy imports, but use quite little from these files: they provide lemmas about the operator norms of re/im/conj/of_real, and get cheaply some facts about the topology of /is_R_or_C via real-finite-dimensionality. This PR splits both files.
  • analysis/complex/basic is split in place, with substantially downgraded imports, and with a few heavier lemmas moved to analysis/complex/operator_norm. (And a few lemmas moved earlier to data/complex/module.). I wrote direct proofs for the completeness and properness of so that these facts can remain available by importing this file, even though with heavier imports these facts can be deduced from the real-finite-dimensionality of .
  • data/complex/is_R_or_C is split into data/is_R_or_C/basic (lightweight file containing most of the former file) and data/is_R_or_C/lemmas (a few heavier lemmas). Also rename equiv_real_prod_add_hom_lm to equiv_real_prod_lm (an apparent typo), and equiv_real_prodₗ to equiv_real_prod_clm (also an apparent error since in our naming convention usually refers to linearity, not continuous-linearity).

Estimated changes