Beside, there’re two other benefits:

1) Hurd’s original elegant long proof of CARATHEODORY is now preserved in 
old_measureTheory.
2) Coble’s “dining cryptographers” work (example/diningcryptos) can also be 
fixed (in the future) under old_measureTheory and old_probabilityTheory, 
because his work also doesn’t use anything from lebesgueTheory and 
extrealTheory (also these scripts were included).

—Chun

> Il giorno 07 gen 2019, alle ore 16:19, Chun Tian (binghe) 
> <binghe.l...@gmail.com> ha scritto:
> 
> Hi Micheal,
> 
> thanks for your trust.  Now I’ve done the following solution for preserving 
> some backwards compatibilities:
> 
> My goal is to make minimal efforts to make sure that Hurd's Miller-Rabin work 
> (examples/miller) can still build after my PR.    I found that, the code in 
> “miller” depends only on “measureTheory” and “probabilityTheory” but 
> “lebesgueTheory”.  Thus I thought maybe I can keep a minimal copy of just the 
> old “measureTheory” and “probabilityTheory” with all extreal and lebesgue 
> stuff removed.
> 
> This is indeed possible: 90% of the current probabilityTheory (1208 of 1348 
> lines) does not use “lebesgueTheory” at all. And the only part in the current 
> “measureTheory” which depends on extended reals are those related to “Borel” 
> measurable sets, which is not needed by Miller-Rabin example.
> 
> The result is: I kept the old version of measureTheory and probabilityTheory 
> with minimal deletions. Now they’re at 
> “src/probability/old_measureScript.sml” and 
> “src/probability/old_probabilityScript.sml.  And I've successfully fixed the 
> Miller-Rabin example using these “old” scripts.
> 
> The fact that these two old scripts (formalizing a minimal abstract 
> probabilityTheory based on real-valued measureTheory) can still support the 
> Miller-Rabin example, shows that it’s worthy to keep them in latest HOL4, I 
> think, unless one day someone completely ported Hurd’s code into the 
> forthcoming new probabilityTheory.
> 
> The working codebase with all above ideas implemented is at my working branch 
> [1]
> 
> Regards,
> 
> Chun Tian
> 
> [1] https://github.com/binghe/HOL/tree/Probability-6/
> 
>> Il giorno 07 gen 2019, alle ore 01:24, michael.norr...@data61.csiro.au ha 
>> scritto:
>> 
>> I am happy to let those most affected by or interested in the PR to discuss 
>> the best way forward, here, or on the hol-developers mailing list, or 
>> privately.
>> 
>> My main concern would be to minimise unnecessary backwards 
>> incompatibilities. As someone who introduces the most incompatibilities from 
>> release to release, it is clear that I don't view this as an absolute 
>> requirement, so I'm happy to trust the interested parties to come to an 
>> appropriate agreement about the right way forward.
>> 
>> Michael
>> 
>> On 5/1/19, 09:02, "Chun Tian (binghe)" <binghe.l...@gmail.com> wrote:
>> 
>>   Thanks.
>> 
>>   I think it’s better to let HOL maintainers to decide if we should keep the 
>> old version (14,700 lines) in “examples”, e.g. “examples/old-probability”. I 
>> personally don’t like this idea, because the old version is always 
>> accessible from previous HOL releases.  And there’re still many redundant 
>> probability-related scripts to be cleaned up from the example folder.
>> 
>>   Comparing with the proof scripts I get from HVG’s web site, beside a lot 
>> of additions, I actually didn’t change any definition, and almost didn’t 
>> change any theorem name. I believe it should be quite easy to load HVG’s 
>> other proof scripts on top of my current work.
>> 
>>   So far I haven’t touched or merged anything in the following scripts:
>> 
>>   - normal_rv_hvgScript.sml
>>   - PIE_EXTREALScript.sml
>>   - lebesgue_measure_hvgScript.sml
>>   - integration_hvgScript.sml
>>   - derivative_hvgScript.sml
>> 
>>   my future plan is to merge the first 3 (or 2) scripts and abandon last 
>> two, as the last two must be the so-called “Gauge integral” for constructing 
>> Lesbegue measure.  (Now with the new carathéodory theorem and the recent 
>> ported “real_topologyScript.sml” in HOL4, we can easily construct Lesbegue 
>> measure)  If their original authors (you and Qasim, e.g.) could help, that 
>> will be great!   We should finally work out a usable and feature-rich 
>> probability theory for HOL4, and let it become the standard theory library 
>> for other applications of future HOL4 users.
>> 
>>   In particular, If you have new theorems that can be added into my current 
>> version of “measureTheory”, I suggest you sending PRs to me for now. All 
>> your work will finally go into HOL official for sure!
>> 
>>   Regards,
>> 
>>   Chun Tian
>> 
>>> Il giorno 04 gen 2019, alle ore 22:08, Waqar Ahmad 
>>> <12phdwah...@seecs.edu.pk> ha scritto:
>>> 
>>> Hi Chun,
>>> 
>>> Great work!!! I briefly went through the proof script and looks good to me. 
>>> However, there are few things that need be discussed before this PR that 
>>> are as follows:
>>> 
>>> 1) The current version of the measure theory, which is still part of 
>>> HOL-sources, is formalized by taking a real-valued 'measure': ('a -> bool) 
>>> -> real ... whereas, you're working on the version having extreal-valued 
>>> 'measure': ('a -> bool) -> extreal ... Do you have any plan to keep the 
>>> previous version?
>>> 
>>> 2) My suggestion is to place the real-valued 'measure' theory somewhere in 
>>> HOL/examples and continue further development on extreal-valued 'measure' 
>>> theory.
>>> 
>>> 3) I've also further extended the Qasim's measure theory by porting more 
>>> necessary defs/thms from Isabelle. I'd like to make them part of future 
>>> measure theory PRs.. Let me know if you have any suggestions regarding it...
>>> 
>>> 
>>> Feel free to share your thoughts...
>>> 
>>> 
>>> On Fri, Jan 4, 2019 at 11:01 AM Chun Tian (binghe) <binghe.l...@gmail.com> 
>>> wrote:
>>> Hi all,
>>> 
>>> after 4 months’ hard work (mostly using my spare time), among other things, 
>>> finally I have (re)proved Carathéodory's extension theorem [6] under the 
>>> new [0, +Inf] measure theory (from HVG [5]). This is the most general 
>>> version based on semi-ring, also with uniqueness arguments:
>>> 
>>>  [CARATHEODORY_SEMIRING]  Theorem
>>> 
>>>     ⊢ ∀m0.
>>>           semiring (m_space m0,measurable_sets m0) ∧ premeasure m0 ⇒
>>>           ∃m.
>>>               measure_space m ∧
>>>               (∀s. s ∈ measurable_sets m0 ⇒ (measure m s = measure m0 s)) ∧
>>>               ((m_space m,measurable_sets m) =
>>>                sigma (m_space m0) (measurable_sets m0)) ∧
>>>               (sigma_finite m0 ⇒
>>>                ∀m'.
>>>                    measure_space m' ∧ (m_space m' = m_space m) ∧
>>>                    (measurable_sets m' = measurable_sets m) ∧
>>>                    (∀s.
>>>                         s ∈ measurable_sets m0 ⇒
>>>                         (measure m' s = measure m0 s)) ⇒
>>>                    ∀s.
>>>                        s ∈ measurable_sets m' ⇒
>>>                        (measure m' s = measure m s))
>>> 
>>> The original CARATHEODORY (back to Joe Hurd [1] and A. R. Coble [2]) now 
>>> becomes an easy corollary (as any algebra is also semiring):
>>> 
>>>  [CARATHEODORY]  Theorem
>>> 
>>>     ⊢ ∀m0.
>>>           algebra (m_space m0,measurable_sets m0) ∧ positive m0 ∧
>>>           countably_additive m0 ⇒
>>>           ∃m.
>>>               (∀s. s ∈ measurable_sets m0 ⇒ (measure m s = measure m0 s)) ∧
>>>               ((m_space m,measurable_sets m) =
>>>                sigma (m_space m0) (measurable_sets m0)) ∧ measure_space m
>>> 
>>> The new “src/probability/measureScript.sml” [3] (7737 lines), starting from 
>>> line 3783 were all newly written by me. The formal proof of 
>>> CARATHEODORY_SEMIRING strictly follows a newer textbook [4, p.38-43] with 
>>> all gaps filled and small mistakes corrected. This single proof has 1600+ 
>>> lines of code...
>>> 
>>> Before sending this huge PR to HOL official, I still need to merge a few 
>>> other changes from HVG’s version into “src/probability/lebesgueScript.sml” 
>>> and "“src/probability/probabilityScript.sml”, to make sure the PR doesn’t 
>>> remove any existing theorem in these scripts.   I also need to fix 
>>> “examples/miller” under the new [0, +inf] measure theory as it needs 
>>> CARATHEODORY to construct the discrete probability measure.
>>> 
>>> Comments and suggestions are welcome.
>>> 
>>> Regards,
>>> 
>>> Chun Tian
>>> FBK and University of Trento, Italy
>>> 
>>> [1] Hurd, J.: Formal verification of probabilistic algorithms. (2001).
>>> [2] Coble, A.R.: Anonymity, information, and machine-assisted proof, (2010).
>>> [3] 
>>> https://github.com/binghe/HOL/blob/Probability-6/src/probability/measureScript.sml
>>> [4] Schilling, R.L.: Measures, Integrals and Martingales. Cambridge 
>>> University Press (2005).
>>> [5] http://hvg.ece.concordia.ca/code/hol/DFT/index.php
>>> [6] https://en.wikipedia.org/wiki/Carathéodory%27s_extension_theorem
>>> 
>>>> Il giorno 11 ago 2018, alle ore 19:29, Waqar Ahmad 
>>>> <12phdwah...@seecs.edu.pk> ha scritto:
>>>> 
>>>> Hi,
>>>> 
>>>> 
>>>> I have a question about the new version of measureTheory 
>>>> (measure_hvgScript.sml): why the Carathéodory's extension theorem 
>>>> (CARATHEODORY), with all related definitions and lemmas, are removed?
>>>> 
>>>> [CARATHEODORY]
>>>> |- ∀m0.
>>>>           algebra (m_space m0,measurable_sets m0) ∧ positive m0 ∧
>>>>           countably_additive m0 ⇒
>>>>           ∃m.
>>>>               (∀s. s ∈ measurable_sets m0 ⇒ (measure m s = measure m0 s)) ∧
>>>>               ((m_space m,measurable_sets m) =
>>>>                sigma (m_space m0) (measurable_sets m0)) ∧ measure_space m
>>>> 
>>>> This is a fundamental result in measure theory. It is one way of arriving 
>>>> at the concept of Lebesgue measure. Without it, how did you manage to 
>>>> define the Lebesgue measure on all Borel sets? (sorry, I’ve lost in the 
>>>> long lebesgue_measure_hvgScript.sml to find out by myself)
>>>> 
>>>> P. S. If the goal is to just merge the latest version of measureTheory 
>>>> into HOL4, we cannot loose CARATHEODORY, as it’s needed by other work 
>>>> (e.g.. HOL’s "examples/miller/prob/probScript.sml”). I’m trying to fix its 
>>>> old proofs using under the new extrealTheory, it seems that each proof is 
>>>> a bit harder to prove, but essentially there’s no difficulty at al, 
>>>> CARATHEODORY must still hold.
>>>> 
>>>> 
>>>> I'm not sure why the original authors removed  CARATHEODORY properties in 
>>>> measure_hvg.sml (maybe its not needed at that time). However, Lebesgue 
>>>> measure (in lebesgue_measure_hvgScript.sml) is formalized using Gauge 
>>>> integral that has been ported from HOL-Light (Multivariate Calculus 
>>>> formalized by J. Horrison). You can find the details of this project from 
>>>> this link http://hvg.ece.concordia.ca/projects/prob-it/pr7.html
>>>> 
>>>> Let me know if you need any help regarding it.
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Waqar Ahmad, Ph.D.
>>>> Post Doc at Hardware Verification Group (HVG)
>>>> Department of Electrical and Computer Engineering
>>>> Concordia University, QC, Canada
>>>> Web: http://save.seecs.nust.edu.pk/waqar-ahmad/
>>> 
>>> _______________________________________________
>>> hol-info mailing list
>>> hol-info@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/hol-info
>>> 
>>> 
>>> --
>>> Waqar Ahmad, Ph.D.
>>> Post Doc at Hardware Verification Group (HVG)
>>> Department of Electrical and Computer Engineering
>>> Concordia University, QC, Canada
>>> Web: http://save.seecs.nust.edu.pk/waqar-ahmad/
>>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> hol-info mailing list
>> hol-info@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/hol-info
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to