Zulip Chat Archive

Stream: mathlib4

Topic: data.real.basic


Heather Macbeth (Nov 29 2022 at 22:32):

I started a project of removing module and finset from the imports of data.real.basic. #17758, #17760, #17761 are the first steps.

Ruben Van de Velde (Nov 29 2022 at 22:57):

Heh, I had #17761 just about ready as well. Pushed my final fixes to your branch

Ruben Van de Velde (Nov 29 2022 at 23:17):

I also pushed #17764, but now I'm off :)

Heather Macbeth (Nov 30 2022 at 00:06):

Can anyone suggest how to fix the broken test in #17760? The task is

filter.map g (map f A)  filter.map g B,

the timing-out proof is by library_search!, and I can't see how this would be affected by splitting char_zero into two files.

(I tried adding back in both post-split files, in case it was a missing import, but the timeout remains.)

Junyan Xu (Nov 30 2022 at 04:31):

Maybe use docs#tactic.interactive.try_for

Heather Macbeth (Nov 30 2022 at 16:14):

Heather Macbeth said:

I started a project of removing module and finset from the imports of data.real.basic. #17758, #17760, #17761 are the first steps.

#17768 and #17772 are also in pursuit of this goal.

Heather Macbeth (Dec 03 2022 at 19:14):

The number of lines to reach data.real.basic dropped from 120,374 yesterday to 92,135
today! This is thanks to the elimination of finset from its imports with #17791, #17768 and #17792 landing (as well as a series of previous PRs by myself and @Ruben Van de Velde, which reduced the finset imports to those three paths).

The submonoid object disappeared the day before that, thanks to @Eric Wieser in #17786. The module import will be gone after #17804. There's more that could be done, but I'm going to stop here.

Eric Wieser (Dec 04 2022 at 13:56):

What's the motivation for pulling algebra.module.basicout of the import path? Are there heavy imports there that perhaps suggest algebra.module.basic should be split instead?

Eric Wieser (Dec 04 2022 at 13:57):

module doesn't strike me as a particularly complex thing to depend on, especially from the perspective that many mul lemmas can be stated as special cases of a smul lemma.

Yaël Dillies (Dec 04 2022 at 16:40):

In general, I'm afraid that the file atomisation taking place currently will work towards rebuilding more things from scratch rather than using general theory (because the general theory requires more imports).

Heather Macbeth (Dec 04 2022 at 17:45):

@Eric Wieser @Yaël Dillies Perhaps you don't realise that removing module from the import path of data/real/basic did not actually require changing any proofs. The chain of declarations leading to this file was already independent of module, it just happened that some of these declarations lived in the same files as declarations depending on module.

Heather Macbeth (Dec 04 2022 at 17:51):

Personally, I would also be happy to change a few proofs in order to eliminate an import (for example, one or two proofs of the kind conjectured by Eric:
Eric Wieser said:

many mul lemmas can be stated as special cases of a smul lemma.

) if the duplication is not too egregious. We already are effectively doing that by constructing real using the special-purpose docs#cau_seq rather than by using docs#uniform_space.completion. But I agree that such changes are more controversial.


Last updated: Dec 20 2023 at 11:08 UTC