Repository navigation
Add displays for topologies - #2143
nmolinamounier wants to merge 10 commits into
Conversation
a2ff513 to
2e40f3e
Compare
e0b18bf to
07a70c7
Compare
837bd9c to
39ab475
Compare
39ab475 to
e143ae8
Compare
| Filter F -> (F --> (x : T)) <-> (F --> (x : initialT)). | ||
| Proof. | ||
| move=> FF; split. | ||
| move=> FF; split. |
There was a problem hiding this comment.
| move=> FF; split. | |
| move=> FF; split. |
| Context (d : fdisp_t). | ||
| Context (V : topologicalType d) (S : pred V) (U : subChoiceType S). |
There was a problem hiding this comment.
| Context (d : fdisp_t). | |
| Context (V : topologicalType d) (S : pred V) (U : subChoiceType S). | |
| Context d (V : topologicalType d) (S : pred V) (U : subChoiceType S). |
|
Could you check for trailing spaces? (It looks your PR is introducing a few.) Regarding the order of declaration of displays, it looks like you put all the displays at the beginning of the type signature. An alternative could be to put the display just before the first type that uses it. I have the vague memory that we already discussed this in a meeting. Do you remember @proux01 ? Maybe we do not need to indicate the type of displays in type signatures. This is an advantage of using |
|
Maybe we need to update the documentation. For example, |
|
(If it is possible, maybe several PRs introducing the notations incrementally could help organizing the work (including documentation, changelog, and review).) |
|
|
||
| Arguments nbhs_subspaceP {T} A x. | ||
| Notation "{ 'within' A , 'continuous' f }" := | ||
| (continuous (f :> subspace A -> _)) (only parsing) : classical_set_scope. |
| (forall x, @continuous_at (subspace_fdisp A) _ _ _ x f) | ||
| (only printing) : classical_set_scope. | ||
| Notation "{ 'within' A , E @[ x --> F ] --> l }" := | ||
| (E @[x --> (F :> set_system (subspace A))] --> l) |
|
Shouldn't |
They are different, |
Is this documented somewhere? If not, it is maybe worth at least a comment in the code, as I don't see this usage mentioned in |
Yes, here in the Rocq manual. |
|
Ah, I didn't know. I assumed this was coming from ssreflect which always had a similar syntax for equality. No documentation issue then. |
|
( |
Here for example the displays are not put at the beginning of the type signature: HB.mixin Record isPath {d} {i : bpTopologicalType d}
{d'} {T : topologicalType d'} (x y : T) (f : i -> T)
& isContinuous d i d' T f := {(other occurrences in |
|
You're looking at a recent commit, I'm changing them to be before the relevant type because that's what mathcomp does for orders. |
|
I am soon going to rename
|
Motivation for this change
Fixes #758 by adding extra display arguments to topologies, in the same way as orders in math-comp.
A new type
filter_displayis added infilter.v, and every topology is associated with an instance offilter_display, which can be used in notations for proper display.Since it is common to define specific topologies in terms of more generic ones,
with_fdisp d' Thas the same topology asT, but with displayd'.This PR requires changing every single definition involving a filtered type to add a display argument, hence its very large footprint.
Notations have been intentionally left out of this PR for ease of review, and will be addressed by a future PR.
Checklist
CHANGELOG_UNRELEASED.mdReference: How to document
Merge policy
As a rule of thumb:
all compile are likely to be merged as they are into master.
Reminder to reviewers