Skip to content

Commit

Permalink
relicensing, new version
Browse files Browse the repository at this point in the history
  • Loading branch information
affeldt-aist committed Oct 31, 2020
1 parent cec5170 commit 837ccd9
Show file tree
Hide file tree
Showing 36 changed files with 581 additions and 12 deletions.
502 changes: 502 additions & 0 deletions LICENSE.txt

Large diffs are not rendered by default.

19 changes: 10 additions & 9 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,7 @@ This library has been applied to other formalizations:
- [[proba_monad_model.v][proba_monad_model.v]]: concrete model of the probability monad
- [[gcm_model.v][gcm_model.v]]: model of the geometrically convex monad
- [[altprob_model.v][altprob_model.v]]: model of a monad that mixes non-deterministic choice and probabilistic choice
- [[example_spark.v][example_spark.v]]: example of Spark aggregation
- [[example_nqueens.v][example_nqueens.v]]: example of the n-queens puzzle
- [[example_relabeling.v][example_relabeling.v]]: example of tree relabeling
- [[example_monty.v][example_monty.v]]: examples of Monty Hall problem
- example_*.v: various examples (Spark aggregation, the n-queens puzzle, tree relabeling, Monty Hall problem, monad transformers, etc.)
- [[smallstep.v][smallstep.v]]: semantics for an imperative language, with equivalence operational semantics/denotation and sample imperative programs

** Installation
Expand All @@ -62,14 +59,14 @@ This library has been applied to other formalizations:

*** Last stable version:

Version 0.1.2:
Version 0.2:
3. ~opam install coq-monae~

**** Requirements

- [[https://coq.inria.fr][Coq]] 8.11 or 8.12
- [[https://github.com/math-comp/math-comp][Mathematical Components library]] 1.11.0
- [[https://github.com/affeldt-aist/infotheo][infotheo]] 0.1.2 or 0.2
- [[https://github.com/affeldt-aist/infotheo][infotheo]] 0.2
+ which requires [[https://github.com/math-comp/analysis][MathComp-Analysis]] 0.3.2
* which requires
- [[https://github.com/math-comp/finmap][finmap]] 1.5.0
Expand Down Expand Up @@ -110,8 +107,12 @@ Once infotheo is installed:

** License

GNU GPLv3
LGPL-2.1-or-later

** Reference
[[https://staff.aist.go.jp/reynald.affeldt/bib/bib_en.html#affeldt2019mpc][MPC 2019 paper]]
(Before version 0.2, monae was distributed under the terms of the
~GPL-3.0-or-later~ license.)

** References
- [[https://staff.aist.go.jp/reynald.affeldt/bib/bib_en.html#affeldt2019mpc][MPC 2019 paper]]
- [[https://arxiv.org/abs/2003.09993][A Trustful Monad for Axiomatic Reasoning with Probability and Nondeterminism]] (arXiv 2020)

2 changes: 2 additions & 0 deletions altprob_model.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Require Import Reals.
From mathcomp Require Import all_ssreflect.
From mathcomp Require Import boolp classical_sets.
Expand Down
2 changes: 2 additions & 0 deletions category.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require Import boolp.
Require Import monae_lib.
Expand Down
2 changes: 2 additions & 0 deletions example_array.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Require Import monae_lib hierarchy monad_lib fail_lib state_lib.
Expand Down
2 changes: 2 additions & 0 deletions example_monad_transformer.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
Require Import monae_lib hierarchy monad_lib fail_lib state_lib.
Require Import monad_transformer.
Expand Down
2 changes: 2 additions & 0 deletions example_monty.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Require Import Reals Lra.
From mathcomp Require Import all_ssreflect.
From infotheo Require Import ssrR Reals_ext proba.
Expand Down
2 changes: 2 additions & 0 deletions example_nqueens.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Require Import ZArith.
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Expand Down
2 changes: 2 additions & 0 deletions example_quicksort.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Require Import monae_lib hierarchy monad_lib fail_lib.
Expand Down
2 changes: 2 additions & 0 deletions example_relabeling.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Require Import ZArith.
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Expand Down
2 changes: 2 additions & 0 deletions example_spark.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Require Import monae_lib hierarchy monad_lib fail_lib.
Expand Down
2 changes: 2 additions & 0 deletions fail_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Require Import monae_lib hierarchy monad_lib.
Expand Down
2 changes: 2 additions & 0 deletions fmt_lifting.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Require Import monae_lib hierarchy monad_lib monad_transformer.
Expand Down
2 changes: 2 additions & 0 deletions gcm_model.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Require Import Reals.
From mathcomp Require Import all_ssreflect.
From mathcomp Require Import boolp classical_sets.
Expand Down
2 changes: 2 additions & 0 deletions hierarchy.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Ltac typeof X := type of X.

Require Import ssrmatching Reals.
Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/iexample_monad_transformer.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
Require Import imonae_lib ihierarchy imonad_lib ifail_lib istate_lib
imonad_transformer imonad_model.
Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/ifail_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
Require Import imonae_lib ihierarchy imonad_lib.

Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/ifmt_lifting.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
Require Import imonae_lib ihierarchy imonad_lib imonad_transformer.

Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/ihierarchy.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Ltac typeof X := type of X.

Require Import ssrmatching.
Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/imonad_model.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require Import finmap.
From mathcomp Require Import classical_sets.
Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/imonad_transformer.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
Require Import imonae_lib ihierarchy imonad_lib ifail_lib istate_lib.

Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/imonae_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
Require FunctionalExtensionality ProofIrrelevance.

Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/iparametricity_codensity.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Declare ML Module "paramcoq".

From mathcomp Require Import all_ssreflect.
Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/istate_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Require Import ZArith.
From mathcomp Require Import all_ssreflect.
From infotheo Require Import ssrZ.
Expand Down
2 changes: 2 additions & 0 deletions impredicative_set/itrace_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Ltac typeof X := type of X.
Require Import ZArith.
From mathcomp Require Import all_ssreflect.
Expand Down
2 changes: 2 additions & 0 deletions monad_composition.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
Require Import monae_lib hierarchy monad_lib.

Expand Down
2 changes: 2 additions & 0 deletions monad_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Ltac typeof X := type of X.

Require Import ssrmatching.
Expand Down
2 changes: 2 additions & 0 deletions monad_transformer.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Require Import monae_lib hierarchy monad_lib fail_lib state_lib.
Expand Down
2 changes: 2 additions & 0 deletions monae_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Require ProofIrrelevance FunctionalExtensionality.
Expand Down
6 changes: 3 additions & 3 deletions opam
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ maintainer: "[email protected]"
homepage: "https://github.com/affeldt-aist/monae"
bug-reports: "https://github.com/affeldt-aist/monae/issues"
dev-repo: "git+https://github.com/affeldt-aist/monae.git"
license: "GPL-3.0-or-later"
license: "LGPL-2.1-or-later"
authors: [
"Reynald Affeldt"
"David Nowak"
Expand All @@ -22,7 +22,7 @@ install: [
]
depends: [
"coq" { >= "8.11" & < "8.13~" }
"coq-infotheo" { >= "0.1.2" & <= "0.2" }
"coq-infotheo" { >= "0.2" & < "0.3~" }
"coq-paramcoq" { >= "1.1.2" & < "1.2~" }
]
synopsis: "Monads and equational reasoning in Coq"
Expand All @@ -37,5 +37,5 @@ tags: [
"keyword: probability"
"keyword: nondeterminism"
"logpath:monae"
"date:2020-08-13"
"date:2020-10-31"
]
2 changes: 2 additions & 0 deletions parametricity_codensity.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Declare ML Module "paramcoq".

From mathcomp Require Import all_ssreflect.
Expand Down
2 changes: 2 additions & 0 deletions proba_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Require Import Reals Lra.
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Expand Down
2 changes: 2 additions & 0 deletions proba_monad_model.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
From infotheo Require Import Reals_ext ssr_ext fsdist.
Expand Down
2 changes: 2 additions & 0 deletions smallstep.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Require Import Eqdep JMeq List ssreflect.
Import ListNotations.
From mathcomp Require Import ssreflect ssrfun ssrbool eqtype ssrnat seq.
Expand Down
2 changes: 2 additions & 0 deletions state_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Require Import ZArith.
From mathcomp Require Import all_ssreflect.
From mathcomp Require boolp.
Expand Down
2 changes: 2 additions & 0 deletions trace_lib.v
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* monae: Monadic equational reasoning in Coq *)
(* Copyright (C) 2020 monae authors, license: LGPL-2.1-or-later *)
Ltac typeof X := type of X.
Require Import ZArith.
From mathcomp Require Import all_ssreflect.
Expand Down

0 comments on commit 837ccd9

Please sign in to comment.