Skip to content

Hahn banach 2026#1889

Draft
mkerjean wants to merge 35 commits intomath-comp:masterfrom
mkerjean:hahn_banach_2026
Draft

Hahn banach 2026#1889
mkerjean wants to merge 35 commits intomath-comp:masterfrom
mkerjean:hahn_banach_2026

Conversation

@mkerjean
Copy link
Copy Markdown
Collaborator

@mkerjean mkerjean commented Mar 6, 2026

Motivation for this change
Checklist
  • added corresponding entries in CHANGELOG_UNRELEASED.md
  • added corresponding documentation in the headers

Reference: How to document

Merge policy

As a rule of thumb:

  • PRs with several commits that make sense individually and that
    all compile are preferentially merged into master.
  • PRs with disorganized commits are very likely to be squash-rebased.
Reminder to reviewers

@affeldt-aist affeldt-aist mentioned this pull request Mar 11, 2026
2 tasks
@affeldt-aist affeldt-aist added this to the 1.17.0 milestone Mar 12, 2026
@affeldt-aist affeldt-aist added the enhancement ✨ This issue/PR is about adding new features enhancing the library label Mar 12, 2026
@mkerjean mkerjean force-pushed the hahn_banach_2026 branch 2 times, most recently from c18bf37 to 323445b Compare March 13, 2026 11:35
@mkerjean mkerjean force-pushed the hahn_banach_2026 branch 2 times, most recently from 224e82e to 18f2a80 Compare March 31, 2026 12:46
@mkerjean mkerjean force-pushed the hahn_banach_2026 branch 2 times, most recently from 065e12f to 6344896 Compare April 3, 2026 03:21
@mkerjean mkerjean force-pushed the hahn_banach_2026 branch 2 times, most recently from 23fe018 to 50b1d73 Compare April 15, 2026 04:04
@affeldt-aist
Copy link
Copy Markdown
Member

I made a pass on the file: moving a few lemmas to mathcomp_extra.v and unstable.v, linting the code, creating a functional_analysis sub-directory, starting the changelog (NB: it contains a fix for the changelog in master which is buggy, my bad).

Since topU is defined at the top-level and therefore exposed, maybe a name like sub_initial_topology is better (btw, it should be documented).

TODO: move the new structures out of this file.

@affeldt-aist
Copy link
Copy Markdown
Member

Compilation is fine with MathComp 2.5.0 but it looks like with a problem with the duplication of the SubNormedZmodule in MathComp and MathComp-Analysis:

Error:
You must declare the hierarchy bottom-up or add a missing join. 
There are two ways out: 
- declare structure SubNormedZmodule before structure Num.SubNormedZmodule if Num.SubNormedZmodule inherits from it; 
- declare an additional structure that inherits from both Num.SemiNormedZmodule and SubType and from which SubNormedZmodule and/or Num.SubNormedZmodule inherit.

It this is really the case, is there a trick to make it compile with both versions? @CohenCyril @gares
(It could even be a feature of HB? Again, not sure whether my diagnosis is correct...)

@affeldt-aist
Copy link
Copy Markdown
Member

Compilation is fine with MathComp 2.5.0 but it looks like with a problem with the duplication of the > is there a trick to make it compile with both versions? @CohenCyril @gares (It could even be a feature of HB? Again, not sure whether my diagnosis is correct...)

Like a "the version 2.X.Y of MathComp only" option?

@affeldt-aist
Copy link
Copy Markdown
Member

we tried this trick to cheat the CI: 4d044c8

but nix fails for other reasons so this is not yet conclusive

Comment thread theories/functional_analysis/hahn_banach_theorem.v Outdated
Comment thread theories/functional_analysis/hahn_banach_theorem.v Outdated
HB.instance Definition _ := SubLmodule_isSubNormedmodule.Build _ _ _ U.
HB.end.

(* TODO : use a lightweight factory to make every subLmodType a subnormedmodtype *)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mkerjean Can this comment be removed? It looks like we have addressed the TODO by creating the factory SubLmodule_isSubNormedmodule (just above in this file).

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SubLmodule_isSubNormedmodule can indeed turn a given subLmodule into a subnormedmottype, but we struggled to define a lightweight factory doing so, because of a dependency on K. I would leave that comment - or create an issue.

@affeldt-aist
Copy link
Copy Markdown
Member

I completed a pass of cleaning. As far as I am concerned, the scripts are good enough.
We still have to get HB structures (SubNormedModule, etc.) to the right files.
Right now, we are just trying to get SubNormedZmodule out of it, by putting into
mathcomp_extra.v, but we have to trick the CI to make it happy.
As soon as the CI is green (it is still red but for orthogonal reasons), this could be done quickly, and the PR merged imo.

@mkerjean
Copy link
Copy Markdown
Collaborator Author

mkerjean commented May 9, 2026

I completed a pass of cleaning. As far as I am concerned, the scripts are good enough. We still have to get HB structures (SubNormedModule, etc.) to the right files. Right now, we are just trying to get SubNormedZmodule out of it, by putting it into mathcomp_extra.v, but we have to trick the CI to make it happy. As soon as the CI is green (it is still red but for orthogonal reasons), this could be done quickly, and the PR merged imo.

The solution that uses isTmp in the SubNormedModule mixin apparently isn't enough to make the CI green. Should it still be left in the definition of substructures?

@affeldt-aist
Copy link
Copy Markdown
Member

I completed a pass of cleaning. As far as I am concerned, the scripts are good enough. We still have to get HB structures (SubNormedModule, etc.) to the right files. Right now, we are just trying to get SubNormedZmodule out of it, by putting it into mathcomp_extra.v, but we have to trick the CI to make it happy. As soon as the CI is green (it is still red but for orthogonal reasons), this could be done quickly, and the PR merged imo.

The solution that uses isTmp in the SubNormedModule mixin apparently isn't enough to make the CI green. Should it still be left in the definition of substructures?

I am not sure. The CI error look unrelated, they seem to be related with some build process within nix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement ✨ This issue/PR is about adding new features enhancing the library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants