Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Path conflict on theories/homotopy_theory/path.v with core ssreflect path.v #1425

Closed
MSoegtropIMC opened this issue Dec 4, 2024 · 5 comments · Fixed by #1426
Closed

Path conflict on theories/homotopy_theory/path.v with core ssreflect path.v #1425

MSoegtropIMC opened this issue Dec 4, 2024 · 5 comments · Fixed by #1426
Labels
"bug" 🐛 This issue (resp. PR) describes (resp. fixes) a "bug"
Milestone

Comments

@MSoegtropIMC
Copy link

Recently the file

https://github.com/math-comp/analysis/commits/master/theories/homotopy_theory/path.v

was introduced. This produces a path conflict:

.../CP.2024.10.1~8.20~2025.01/lib/coq/user-contrib/mathcomp/analysis/homotopy_theory/path.vo and
.../CP.2024.10.1~8.20~2025.01/lib/coq/user-contrib/mathcomp/ssreflect/path.vo

e.g. in Finmap.v which contains

From mathcomp Require Import choice path finset finfun fintype bigop.

This has the effect that one can compile finmap only before mathcomp-analysis, but not after it. Maybe mathcomp-analysis depends on it, so that this cannot happen, but it is still bad and might break existing code.

I would suggest to rename this file.

@affeldt-aist affeldt-aist added this to the 1.8.0 milestone Dec 4, 2024
@affeldt-aist affeldt-aist added the "bug" 🐛 This issue (resp. PR) describes (resp. fixes) a "bug" label Dec 4, 2024
@affeldt-aist
Copy link
Member

affeldt-aist commented Dec 4, 2024

Yes, we already identified the issue #1412 .
This PR to finmap math-comp/finmap#114 is partly addressing the issue
by removing the explicit Require Import to path.
But anyway the true solution in the current state is indeed to rename the file.
(Sorry for the inconvenience.)

@MSoegtropIMC
Copy link
Author

The other option is to write in FinMap:

From mathcomp.ssreflect Require Import ssreflect ssrbool ssrnat eqtype ssrfun seq.
From mathcomp.ssreflect Require Import choice path finset finfun fintype bigop.

@MSoegtropIMC
Copy link
Author

And sorry for not searching the issues first.

@MSoegtropIMC
Copy link
Author

IMHO it should be discussed in Zulip how mathcomp wants to handle this. Either one says From mathcomp Require is recommended - then duplicate files should be avoided, and this should be tested for.

Or one recommends to use a more specific require like From mathcomp.ssreflect Require - that is at least specify the top level module under mathcomp, so that file names need only be unique per module.

I would think long term the second solution is more feasible, but both are fine.

@CohenCyril
Copy link
Member

CohenCyril commented Dec 4, 2024

Either one says From mathcomp Require is recommended - then duplicate files should be avoided, and this should be tested for.

This ☝️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
"bug" 🐛 This issue (resp. PR) describes (resp. fixes) a "bug"
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants