-
Notifications
You must be signed in to change notification settings - Fork 64
WIP / Experiment : Remove the dependency on R #112
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
Conversation
+ translate compatibility lemmas about derivative from Coquelicot
|
A theory of bigrmax is definitely needed (e.g., https://github.com/affeldt-aist/infotheo/blob/master/Rbigop.v). (Warning: that's old code.) |
| PointedType (T * T') (point, point). | ||
| Canonical matrix_pointedType m n (T : pointedType) := | ||
| PointedType 'M[T]_(m, n) (\matrix_(_, _) point)%R. | ||
| Canonical zmod_pointedType (V : zmodType) := PointedType V 0%R. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having a pointed type structure over something that is stable by product (and matrix) introduces a risk of inconsistency of the point operator. Indeed there would be two ways of getting it: as a pointed type of a product of as the product of two pointed type.
It would be ok to start with a realField (or realDomain? even though unnecessary), because the product of two realDomains cannot be a realDomain again.
|
Summary of a discussion with @CohenCyril:
|
|
@drouhling I think this issue was completely solved after the merge of #246, am I right? |
Indeed, this PR had no purpose any more. |
I need feedback on this branch which:
replaces
ballwithentouragesas primitive for the definition ofuniformType.removes
absRingTypeand usesnumDomainTypeinstead (related to Refactor norm and absolute value #4).instantiates the hierarchy on mathcomp's algebraic structures (see
classical_sets.vandhierarchy.v).replaces
Rfrom standard library with anyrealFieldType/realTypeandRbarwithrealFieldBar.moves non norm-related structures to
topology.v.Using entourages tends to lengthen proofs. In particular, I am not very satisfied with the way
entourages_splitreplacesball_splitbut I haven't found any solution yet.In normed spaces it is less problematic since we can still use the balls defined by the norm.
This branch only use a small part of
Rstruct.v, and this part does not depend onRany more. I believe this file should move tomisc/, be extended with the structures from our hierarchy, and come with an example file onRcontaining the compatibility lemmas from Coquelicot aboutcontinuity_ptandderive_pt.The file
derive.valso takes a very long time to compile. I mean more than before. I don't know why yet. In particular Coq takes a long time to go through the proof script ofdiffM. I looked at the debug script for typeclasses and it seems that Coq is stuck after typeclass inference finds how to close all generated subgoals.TODO-list:
Generalize
erealand merge withrealFieldBar(related to Merge Rbar and ereal #3).erealis now generalized to anynumDomainTypeand used everywhere. The+ooand-oonotations replace\+infand\-inf.I suggest to delete
Rbar.vbut first we need to finish the discussion in Merge Rbar and ereal #3: does there remain any part of the arithmetic inRbar.vwe want to port toereal?Move
bigmaxrtheory out ofRstruct.v? Or reimplement usingbigop, generalizing and extendingbigRmaxtheory ?A theory of min/max using
bigopis now inhierarchy.v. This is probably not perfect and should be extended (see discussion in tentative definition of bigmaxr with bigop #114), but it is sufficient for the purpose of this PR.Move
Rstruct.vtomisc/and extend it with our structures.Reintroduce commented out lemmas about
RandRbar, either translating them torealFieldType/realType/realFieldBaror putting them in an example file inmisc/.Investigate
derive.v's compilation issue.Clean up.
Be consistent with names (sometimes
entouragesis used, sometimes it isentourage).Rework the existing documentation.
Rename
hierarchy.v(andtopology.v?) to reflect the new organization.Make sure each lemma is in the right file and no lemma has been dropped.