realType structure over fourcolor's reals #1692
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
During an internship with @CohenCyril, I worked on proving the equivalence between math-comp's realType and fourcolor's Real.model.
The original idea was to transfer Fourcolor's proof of categoricity for their reals to math-comp using Trocq.
However, it turns out that fourcolor's real type is missing some properties to obtain a realType structure over them. Notably:
Real.eq
predicate to state equalities properties. So, we need aeqR_is_eq : forall {x y: R}, Real.eq x y -> x = y
inv00 : Real.eq (Real.inv (Real.zero R)) (Real.zero R)
trunc : R -> nat
. We also need to have a property satisfied by this operator:sup_adherent_subdef
property, so I assumed it. I think we could obtain it classically. I didn't investigate this further.I defined a new
realModel
record that adds these properties to fourcolor'sReal.model
. We won't have an equivalence betweenReal.model
andrealType
, so our original plan is a bit foiled...The proof is incomplete because I struggle to obtain a
normedModType R
structure onR
to apply the math-comp's continuity lemmas. Moreover, my proof of the Intermediate value theorem is incomplete becauselra
/nra
creates many shelved subgoals and I don't understand why (and I don't want to prove inequalities by hand). Another possibility for the proof of the IVT would be to proceed by connectedness ofp([a, b])
, by continuity ofp
but I didn't find this easier.I'm fed up with this so I didn't bother to properly include my proof file as part of math-comp analysis, sorry. A nicer and reproductible environment is available there. I lack automony so it's difficult to solve the remaining issues, hence why I'm stopping there.