Zulip Chat Archive
Stream: general
Topic: Breaking cycles in `analysis/specific_limits`
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 01:11):
Is it reasonable to add a dependency on analysis.complex.basic
to analysis.specific_limits
?
I tried it but it leads to and import cycle, since analysis.complex.basic
currently depends on analysis.specific_limits
via the following path:
[ "mathlib:analysis.complex.basic",
"mathlib:data.complex.is_R_or_C",
"mathlib:analysis.normed_space.star.basic",
"mathlib:analysis.normed.group.hom",
"mathlib:analysis.specific_limits" ]
This seems wrong. specific_limits
feels like it should be a "leaf" in the dependency tree, but data.complex.is_R_or_C
seems more fundamental. Do others agree?
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 01:16):
(I need the fact that \C is a uniform_space
for the proof. Otherwise I would import data.complex.basic
)
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 01:18):
Also, the result is about the limit of a product of a real series and a (bounded) complex series. I don't think it's generalizable beyond the complex numbers, but I don't really know. See #general > Proving Dirichlet's test.
Mario Carneiro (Feb 20 2022 at 01:22):
Well, specific_limits
is... unspecific, so it's not a surprise that it is hazardous to dependency management. Probably there are both "leaf" type theorems in there and also basic theorems that are required for some constructions (for example, sum_i 1/x^i ~> 1/(1-x)
is needed for things like the construction of the exponential function)
Mario Carneiro (Feb 20 2022 at 01:23):
we might just need more_specific_limits
Mario Carneiro (Feb 20 2022 at 01:23):
or come up with a better name
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 01:24):
One way to break the import cycle is by moving cauchy_series_of_le_geometric''
into a different module. It's the only thing from specific_limits
used in normed.group.hom
here.
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 01:26):
I could also just put my stuff in a different module. It's very_specific
!
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 01:29):
data.complex.is_R_or_C
also could be changed to not depend on analysis.normed_space.star.basic
by moving the instance of cstar_ring
elsewhere.
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 01:51):
I'm going to open a PR with that last idea. In a vacuum, it seems better to have dependencies going from data
to analysis
rather than vice versa. I know that's not the status quo.
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 02:01):
Yury G. Kudryashov (Feb 20 2022 at 02:53):
I think that we should split specific_limits
into a few files. I'll look into this on Monday or Tuesday.
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 03:55):
My solution doesn't even fix the problem ,since there's a second dependency chain (just learned about import-graph --from ... --to ...
):
"analysis.specific_limits"
"topology.metric_space.hausdorff_distance"
"analysis.normed_space.riesz_lemma"
"analysis.normed_space.operator_norm"
"analysis.normed_space.finite_dimension"
"data.complex.is_R_or_C"
"analysis.complex.basic"
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 03:57):
That one's harder to get rid of.
Dylan MacKenzie (ecstatic-morse) (Feb 20 2022 at 04:01):
I'll wait for things to get split up. I was told to put things in specific_limits
during review, otherwise I wouldn't have tried this hard :stuck_out_tongue:. Presumably one of the submodules will be for results from complex analysis.
Last updated: Dec 20 2023 at 11:08 UTC