Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] What's the best way to extract programs that use random numbers?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] What's the best way to extract programs that use random numbers?


Chronological Thread 
  • From: Ilmārs Cīrulis <ilmars.cirulis AT gmail.com>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] What's the best way to extract programs that use random numbers?
  • Date: Tue, 22 Nov 2016 13:46:58 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=ilmars.cirulis AT gmail.com; spf=Pass smtp.mailfrom=ilmars.cirulis AT gmail.com; spf=None smtp.helo=postmaster AT mail-yw0-f171.google.com
  • Ironport-phdr: 9a23:IgfJCRLS9GlO+63FmtmcpTZWNBhigK39O0sv0rFitYgeKv7xwZ3uMQTl6Ol3ixeRBMOAuqkC0bed6fCocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbQhFgDSwbalsIBi2ogndqMobipZ+J6gszRfEvmFGcPlMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLDQheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2ThLjlSUJOCMj8GzPiMNwgqJVrhyiqRJi3YDbfJqYO+Bicq7HZ94WWXZNU8RXWidcAo28dYwPD+8ZMOhbq4n9ol0LrQGlBQKxGu7vyyVIhmLy3a07yOQqDAbL3A0kH9ILqnvUts71OL0OXuC01qnI0DHDb/JN2Trm54jIdwouofCIXb5qbcXRzkwvGhrDg16Np4LlODaV2f4Ms2id9+dgVOSvi3Qmqw5ruDSvyN0shpHNhoIPy1DI7yt5wJwzKNalS0B7ecapHIVMuyyeLYd7QcMvT3t1tCs717EKo4O3cSoXxJkh2hXRceaIc5KS7RLmTOuRISl3hHZieL+ngha960mgyunlWsi03ldGsjNJktfRun0PyhDf8MeHSvx6/keu3TaAyRrf5f1DIUAxjabbKpghzaAslpcLr0jPAiv7lF/1gaKWbEko5+ml5/n9brn7pJKQKpd4igTkPaQvnsy/D/44Mg8LX2WD+OS80Ljj8lfjQLVRlPE5jqjZsIrHJcQfp665GBRY0okm6xmlDjem1M4UkmUALFJAYB6HlZTmO0nSIPDkCveym0ijkDByx/zfIrLhBojNIWPYnbf6fbd97lZcxxApwdBe4ZJUELABL+jpVk//rtyLRiM+Zka/xP+iA9Fg3KsfX3iOC+mXKuma5VSP/6ckJ/SGTI4Tojf0bfY/sa3Al3g8zH4ZeAKzxtM8aWqlGvV9axGYZX/lmMxHGmYQow4/V8TljVSDVXhYYHPkDPF03S0yFI/zVdSLfYuqmrHUhCo=

Using Coq 8.5, I get error in the file Ccpo.v (of Alea, version 8), line 1729

> apply (fmonotonic2 F); auto.

> Unable to unify "monotonic2 (fun2 F)" with
>  "(F (mlub cte nat k)) (lub h) <= lub (F k @ h)".

I will try to fix it myself, of course, but I will be thankful for any hints. :)


On Mon, Nov 21, 2016 at 6:31 PM, Ilmārs Cīrulis <ilmars.cirulis AT gmail.com> wrote:
Big thank you!

Yes, it helps.
It seems that Alea must be ported to Coq 8.5, but that seems easy to do. In progress.

--
Ilmars

On Mon, Nov 21, 2016 at 2:01 PM, Xavier Leroy <Xavier.Leroy AT inria.fr> wrote:
On 11/21/2016 10:59 AM, Ilmārs Cīrulis wrote:
> I am thinking about the best way to use Coq for extracting correct programs
> that uses random numbers? (Preferably, into Haskell.)
> Is there some good library for such purposes? Or, if there's not, what's the
> best literature / articles to get useful insights.

You could certainly program (in Coq) using a probability monad, which
should extract nicely to Haskell or to Caml.

To formally reason about your probabilistic programs, the following
Coq libraries and tools could help:
- Alea  https://www.lri.fr/~paulin/ALEA/
- Certicrypt  http://certicrypt.gforge.inria.fr/

Hope this helps,

- Xavier Leroy





Archive powered by MHonArc 2.6.18.

Top of Page