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

add a type for finite measures #836

Merged
merged 13 commits into from
Feb 24, 2023

Conversation

affeldt-aist
Copy link
Member

@affeldt-aist affeldt-aist commented Feb 6, 2023

Motivation for this change

This PR improves the hierarchy of measures as follows:

charge_tred

Rounded boxes were already there.
Finite measures were already there but through the predicate finite_measure only.
Square boxes are new.
Dashed boxes and FinNumFun come with this PR.
AdditiveCharge and Charge come with PR #777 (rebased on this PR)

This PR is necessary to rebase the branch kernels PR #749 because
the latter proves Fubini for s-finite measures which relies
on Fubini for sigma-finite measures which are given
a type using HB which calls for automatic inference
of the type of s-finite measures from the type
of sigma-finite measures.
In the branch kernels we also need to equip the return type of
s-finite kernels with the type of s-finite measures to apply Fubini
for s-finite measures in the proof of commutativity of let-in.

This PR also adde subprobability measures (just to match the hierarchy of kernels)

Things done/to do
  • added corresponding entries in CHANGELOG_UNRELEASED.md
  • added corresponding documentation in the headers
Automatic note to reviewers

Read this Checklist and put a milestone if possible.

@affeldt-aist
Copy link
Member Author

it is also required to rebase PR #749

it looks like rebasing will require a bit more thinking

@affeldt-aist affeldt-aist marked this pull request as ready for review February 9, 2023 06:32
@affeldt-aist affeldt-aist mentioned this pull request Feb 9, 2023
2 tasks
@hoheinzollern
Copy link
Collaborator

This PR is interesting for PR #790, since we need finite measures to prove $L_2 \subset L_1$, which only holds in the case the measure is finite, like with probabilities. See for example here.

Copy link
Contributor

@zstone1 zstone1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hierarchy makes sense, but I've got a few questions about HB quirks. But this generally looks good.

theories/measure.v Show resolved Hide resolved
theories/measure.v Show resolved Hide resolved
forall n, finite_measure (s n) &
forall U, measurable U -> mu U = mseries s 0 U.

Definition sigma_finite d (T : semiRingOfSetsType d) (R : numDomainType)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Taking this A : set T is slightly uncomfortable for all of the substructuring reasons we've discussed before.

While building better support for substructures is something we're working on elsewhere. For now it looks like we only use (A := setT) anyway. Is it better to just eliminate A as an argument?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is indeed a generality that we do not use, see f4b6571 . It looks fine to me to eliminate it. @CohenCyril ?

@affeldt-aist
Copy link
Member Author

Is it ok to keep both definitions finite_measure and fin_num_fun or should I try to get rid of the former for the latter?

@affeldt-aist
Copy link
Member Author

affeldt-aist commented Feb 22, 2023

Is it ok to keep both definitions finite_measure and fin_num_fun or should I try to get rid of the former for the latter?

It seems clearer to get rid of finite_measure and keep fin_num_fun only, see the las commit af15a0c

NB: pr #749 , pr #777 , pr #849 rebase fine so that maybe an ok change

Copy link
Contributor

@zstone1 zstone1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy either way with the extra parameter.

@affeldt-aist
Copy link
Member Author

I have applied a few more comments that I received offline except one requesting a set parameter to fin_num_fun. Is it ok if I issue about it and take care of it later?

@affeldt-aist affeldt-aist added this to the 0.6.1 milestone Feb 23, 2023
@zstone1
Copy link
Contributor

zstone1 commented Feb 23, 2023

If you're asking me, I think that's fine. It doesn't sound like a big burden to do later, and I'd rather get you unblocked now.

@CohenCyril
Copy link
Member

If you're asking me, I think that's fine. It doesn't sound like a big burden to do later, and I'd rather get you unblocked now.

I agree

- split sfinite_measure in 2
- rename sfinite_measure_def
@affeldt-aist affeldt-aist merged commit 00fed87 into math-comp:master Feb 24, 2023
@affeldt-aist affeldt-aist deleted the finite_measure branch February 24, 2023 07:44
hoheinzollern pushed a commit to hoheinzollern/analysis that referenced this pull request Mar 9, 2023
* add a type for finite measures

- s-finite measures from branch kernels
- add subprobabilities
- dirac instance of probability
- rm finite_measure
- renaming
- minor fix
proux01 pushed a commit that referenced this pull request Mar 25, 2023
* add a type for finite measures

- s-finite measures from branch kernels
- add subprobabilities
- dirac instance of probability
- rm finite_measure
- renaming
- minor fix
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.

4 participants