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

Supremums ereal #203

Merged
merged 6 commits into from
Jun 3, 2020
Merged

Supremums ereal #203

merged 6 commits into from
Jun 3, 2020

Conversation

affeldt-aist
Copy link
Member

The goal of this PR is to prove that a set of extended reals always has a supremum. For this purpose, I needed to generalize the definition of greatest elements, supremums, etc. from reals.v. I tried for a while to stick to the original pred-base definitions but sets from classical_sets.v turned out to be more handy and simplify proofs a bit.The first commit does the generalization, the second one adds the lemmas about extended reals.

@affeldt-aist
Copy link
Member Author

@amahboubi @strub do you have an opinion about replacing pred with set has done in this commit 48661cc ? It looked a bit more comfortable to me.

@affeldt-aist
Copy link
Member Author

@CohenCyril do you mean this commit f8d361a when you refer to the the new inE?

@affeldt-aist
Copy link
Member Author

@CohenCyril so your opinion is to stick to pred-based defnitions?

@affeldt-aist
Copy link
Member Author

(Trying to summarize.) pred-based predicates and the \in notation might be viable thanks to

For the time being, this PR sticks to set-based predicates, avoids the \in notation, and
tries not to unfold lb. ub, etc. That does not reduce the size of proofs much, but makes
appear a few factorizations and enables some generalizations.

@affeldt-aist
Copy link
Member Author

As an additional piece of information about pred vs. set, the commit 31f83c2 replays sequences.v with set-based predicates.

@affeldt-aist affeldt-aist added this to the 0.3.1 milestone May 26, 2020
@affeldt-aist affeldt-aist self-assigned this May 29, 2020
@affeldt-aist
Copy link
Member Author

We agreed on merging this PR during the last meeting but it seems that it incidentally implements one aspect of PR #117 (this was observed by @mkerjean ).

@amahboubi Are you also ok with merging?

- replace `pred` with `set` in `reals.v` and propagate
- replace `-' E` by `-%R @' E`
- move Section ArchiBound from `reals.v` to `classical_sets.v`
  + could factorize the two definitions of `nonempty`
- new lemmas `lee_ninfty_eq` and `lee_ninfty_eq`
- new lemma `image_set0` in `classical_sets.v`
- move `Section ERealOrderTheory` from `reals.v` to `ereal.v`
- new `Section ereal_supremum` in `ereal.v`
  + Lemma `ereal_supremums_neq0` (sets of supremums of extended reals are not empty)
- replace `case`s of `pselect` with `have`s of `pselect`
- replace expressions such as `(forall y, X y -> (x <= y)%O)`
  by `ub X` (resp. `lb`)
- avoid implicit unfolding of `ub`, `lb`, `down` by enforcing
  usage of `ubP`, `lbP`, `downP`
  + in particular, change the definition of supremum to
    `ub E `&` lb (ub E)`
- replace usage of `nonempty` by `!=set0`
- removed redundant `has_inP`, `has_supP`, `has_ubP`, `has_lbP`,
  `nonemptyPn`
@amahboubi
Copy link
Member

No objection.

@CohenCyril
Copy link
Member

No objection.

Thanks @amahboubi, I will merge then.

@CohenCyril CohenCyril merged commit d2d010f into master Jun 3, 2020
@affeldt-aist affeldt-aist deleted the supremums_ereal branch June 4, 2020 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants