-
Notifications
You must be signed in to change notification settings - Fork 45
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
Conversation
7cc74de
to
ebca9ca
Compare
it looks like rebasing will require a bit more thinking |
ebca9ca
to
f4b6571
Compare
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.
The hierarchy makes sense, but I've got a few questions about HB quirks. But this generally looks good.
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) |
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.
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?
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.
This is indeed a generality that we do not use, see f4b6571 . It looks fine to me to eliminate it. @CohenCyril ?
Is it ok to keep both definitions |
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.
Happy either way with the extra parameter.
f3a762e
to
ee484f4
Compare
I have applied a few more comments that I received offline except one requesting a set parameter to |
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 |
- inserted so as to form of hierarchy
daf0fad
to
a9b7c16
Compare
* add a type for finite measures - s-finite measures from branch kernels - add subprobabilities - dirac instance of probability - rm finite_measure - renaming - minor fix
* add a type for finite measures - s-finite measures from branch kernels - add subprobabilities - dirac instance of probability - rm finite_measure - renaming - minor fix
Motivation for this change
This PR improves the hierarchy of measures as follows:
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
andCharge
come with PR #777 (rebased on this PR)This PR is necessary to rebase the branch
kernels
PR #749 becausethe 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 ofs-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
CHANGELOG_UNRELEASED.md
Automatic note to reviewers
Read this Checklist and put a milestone if possible.