https://github.com/EasyCrypt/easycrypt

sort by:
Revision Author Date Message Commit Date
0afb971 Clean some SMT calls in PRP-PRF 23 March 2023, 11:54:46 UTC
83d5143 Generalizing the distinguisher interface for PRF and PRP Allow input (independent from RF/RP initialization) and non-boolean output. 23 March 2023, 11:45:20 UTC
b2106aa An attempt at fixing pretty printing bugs in which formulas that end with implications, conditionals or quantifiers and appear to the left of binary operators have their scopes extended to include those following binary operators. E.g., (3 :: 4 :: let x = 1 in [x]) = ys. incorrectly pretty prints as 3 :: 4 :: let x = 1 in [x] = ys 21 March 2023, 10:59:33 UTC
ee4c20e [chore] update dependency versions in README 20 March 2023, 16:28:35 UTC
ed96ecf fix a failing proof in MEE-CBC this aligns the top-level proof with earlier changes to a leaf theory 20 March 2023, 16:28:35 UTC
ad96b3d simplify some smt calls 20 March 2023, 16:28:35 UTC
7a00b11 Remove raw smt in MEE-CBC 20 March 2023, 16:28:35 UTC
472a2d4 bump Why3 version in .nix files 20 March 2023, 16:28:35 UTC
9f46b97 Bump Why3 supported version (1.5 -> 1.6) This makes EC compatible with OCaml 5. Close #350 20 March 2023, 16:28:35 UTC
1365cea drop unused and obsolete theory files 17 March 2023, 13:57:32 UTC
189283a Move to github docker repository 15 March 2023, 07:41:31 UTC
bc97ee6 Extend definition of PKE to ROM from Kyber spec 14 March 2023, 14:39:11 UTC
c7500bd [nix] pin the Why3 version (#353) * [nix] pin the Why3 version This makes it easier to bump versions and rely on CI even if out of sync with nixpkgs PRs. 14 March 2023, 14:26:40 UTC
ad13f30 [theories]: add various individual lemmas 21 February 2023, 16:33:42 UTC
a347ecb [theories]: port "lock" from MathComp 21 February 2023, 14:47:31 UTC
5072789 [theories]: finite expectation (Jensen_fin_concave) 21 February 2023, 14:16:50 UTC
1ccf46b [theories]: lemmas for dcond and dbiased 21 February 2023, 11:29:39 UTC
cc31629 [ci]: workflow to compile with nix 17 February 2023, 12:12:25 UTC
d401307 [nix]: shell.nix + default.nix 17 February 2023, 12:12:25 UTC
ae4a816 default.nix: option to install provers + install Python3 deps 16 February 2023, 15:21:56 UTC
a9f3453 mention dune3/alt-ergo-2.4.2 issue 16 February 2023, 09:19:39 UTC
d47a0cd kill dead code 16 February 2023, 08:11:31 UTC
8eca6c7 default.nix: update dependencies 16 February 2023, 07:59:20 UTC
294e2a6 [dune]: auto-generate the list of EC files to be installed This requires dune >= 3.6 15 February 2023, 12:11:09 UTC
efab580 matrix library with support for arbitrary dynamic size (#267) 14 February 2023, 15:25:42 UTC
6f695ba Fix encoding of Why3 fixpoint containing higher-order calls to itself Fix #334 14 February 2023, 10:12:50 UTC
94ccd48 Implement a naive termination checker Termination is done via a simple subterm check on the last inductive argument. Ref #62, #144 14 February 2023, 10:12:41 UTC
a4e43d1 remove admitted proof in DJoin 14 February 2023, 10:10:22 UTC
88928de [theories]: ring with generic (choice based) inverse 13 February 2023, 15:20:47 UTC
2803f66 Attempt to implement `RingQuotientDflInv` 13 February 2023, 15:06:56 UTC
6890aca fix small bug in reduction of projection 04 February 2023, 10:59:08 UTC
472c8db Added cancellation variant for ofword that uses mkseq to Word.eca, and added lemmas about the integer values of onew and zerow to BitWord.eca. 31 January 2023, 13:42:57 UTC
701f4f0 Unify created variables correctly. 23 January 2023, 15:43:55 UTC
2f98c08 [tactic]: add the ability to create a memory from thin air. The syntax is `pose &m`. Close #320 20 January 2023, 09:28:31 UTC
7f08941 [tactic]: added hoare variant for `match` Here is an example of use: ``` require import AllCore. type t = [ A of int | B of bool | C ]. module M = { proc f(x : t) : int = { var y : int <- 0; match x with | A v => y <- `|v|; | B _ => y <- 1; | C => y <- 2; end; return y; } }. lemma L : hoare[M.f : true ==> 0 <= res]. proof. by proc; sp; match => [v|b|]; auto=> /> /#. qed. ``` 19 January 2023, 21:44:41 UTC
ba37062 runtest: ECRJOBS env. variable 05 January 2023, 13:05:38 UTC
e034e6c [internal]: fix detection of empty expression-level substitutions. 05 January 2023, 09:50:08 UTC
b1fe56d remove unused dependency (cmdliner) 04 January 2023, 14:01:27 UTC
c7ceb4f [runtest]: better display of multi-line error messages 04 January 2023, 14:01:09 UTC
ff6a4bb [runtest]: append scenarios to the CLI 04 January 2023, 13:06:36 UTC
36e617d [CLI]: ec-runtest is now accessible via a CLI subcommand - the subcommand is named `runtest` - the real script is now in `<libexec>/easycrypt/commands/` 04 January 2023, 12:46:39 UTC
796cc2d [tactic]: fix t_solve performance issues 14 December 2022, 09:49:19 UTC
f180466 operator to get maximal element in list use predicates formatting and replacing abstract theory with section disambiguate max operator patch smt failure 14 December 2022, 09:48:07 UTC
9656af6 Remove dependency to oldlibs for Group 14 December 2022, 09:46:38 UTC
d1dc434 Various bug fixes for clones (modules & lemmas) fix #292 14 December 2022, 09:23:39 UTC
ee7c5ff force delta on convertibility checks Closes #154 24 November 2022, 16:39:53 UTC
69c9c2e add few lemmas on dfun 16 November 2022, 08:40:22 UTC
1b369f9 add theory Dfun_sub + backport many lemma from deploy-quantum 10 November 2022, 10:06:28 UTC
9f4a2f7 [ec-runtest]: add the possibility to exclude file based on the name The entry is `file_exclude`. It is a space-separated list of globs. A file is excluded if its basename matches any of the glob. See `fnmatch.fnmatch` of the standard Python libraries to get a description of which glob patterns are supported. Fix #303 07 November 2022, 20:30:11 UTC
8d4e67d added lemma assoc_none. (#304) trivial proof by rewrite assocTP mem_map_fst. but smt(assocTP mem_map_fst) fails. 02 November 2022, 11:35:35 UTC
5834e92 add lemma mu_dlet_le : mu (dlet d F1) P1 <= mu (dlet d F2) P2 28 October 2022, 05:31:26 UTC
9c54096 generalize big_pow lemmas 27 October 2022, 12:04:41 UTC
f2011a3 telescoping_sum + sum p^i + sum i*p^i 27 October 2022, 12:04:41 UTC
6593a9e add cnvC cnv_pow 26 October 2022, 20:11:44 UTC
2df1d51 lim (x^n) = 0 26 October 2022, 17:24:14 UTC
024aa82 [stdlib] limit of a sequence of distributions 26 October 2022, 13:11:02 UTC
f36307f [stdlib]: extra properties on lim 26 October 2022, 10:47:29 UTC
d3da5af Fix bug in theory replay for modules. When checking for module convertibility, check the computed module flat expression (i.e. all module aliases have been resolved), not the module expression. Fix #292 26 October 2022, 10:47:29 UTC
c8bea89 Register for the pretty-printer 26 October 2022, 07:43:45 UTC
d277b49 remove admits in Ideal.ec 21 October 2022, 16:16:34 UTC
56054fd Fix typos in user messages 19 October 2022, 06:41:28 UTC
2a75df5 port Dexcepted to dresrict and deprecate Dfilter fixes #233 18 October 2022, 09:01:45 UTC
147daa0 tactic [byupto] add missing restriction in the case of adversary. 18 October 2022, 07:19:47 UTC
638229b Fix a bug when replaying a removed user reduction rule A local exception was raised but was not properly catched. Fix #268 17 October 2022, 13:50:21 UTC
1dd5130 [stdlib] bound collisions for ROmap 17 October 2022, 13:31:22 UTC
fc2bfba [stdlib] SmtMap: fsize and fcoll + some lemmas - #non-backward-compatible: May need to disambiguate SmtMap.mem_filter and List.mem_filter. 17 October 2022, 13:31:22 UTC
86472e0 add syntaxic upto tactic (#287) The tactic name is `byupto`. 16 October 2022, 23:52:10 UTC
9154d9a lossless for equiv 13 October 2022, 14:58:18 UTC
3d0f508 Fix new link 10 October 2022, 12:07:27 UTC
8e046e1 Fix pretty-printing of high-order postfix operators 09 October 2022, 06:24:47 UTC
ddb2336 Add postfix notations. Postfix operators are named "(%x)" where x is a low-ident. This generalizes the %r notation. 08 October 2022, 11:41:17 UTC
58d5547 Fix pretty-printing of %r 07 October 2022, 15:27:40 UTC
b2d6b7e [stdlib]: core theory conditional distributions 07 October 2022, 10:27:08 UTC
1198d07 doCheck = false, for merlin (solve a pb with ld warning on mac) 07 October 2022, 10:26:51 UTC
63e4ead [conv]: add case for program variables & globals 22 September 2022, 15:45:34 UTC
80dba47 [while (phl, >=)]: be more restrictive on the variant delta lower-bound The lower-bound should be independent from the variables written by the loop body. 07 September 2022, 16:10:30 UTC
f43464a Allow quotient ring elements to be matrix entries 05 September 2022, 20:15:21 UTC
97dc179 Add camlp-streams dependency to nix build 05 September 2022, 16:48:27 UTC
be40298 [stdlib]: Matrix: coeffs in a comm. ring instead of an ID. 05 September 2022, 14:49:50 UTC
750a491 [build]: use camlp-streams This resolves the deprecation warning about the Stream module. Fix #186 05 September 2022, 08:46:47 UTC
70ac960 [breaking] Fix unsound pHL while rule This fixes #212 and implements a version of the pHL while rule which does have a(n unpublished) pen-and-paper proof. This (obviously) makes using the pHL while rule generally less simple, but particularly so when the loop condition itself is probabilistically modified by the loop body (as, for example, in rejection sampling). In general, the bound given to the `while` tactic in those cases will need to be conditional. (Essentially capturing control-flow conditions in the bound itself.) Examples of proofs illustrating this case can be found in theories/distributions/Dexcepted.ec (starting line 299, including the conseq) and examples/PIR.ec (starting line 202, including also the conseq). Upper-bounds should be unaffected. On lower bounds, one can no longer apply the upper bound rule. On equalities, we have now added the lower-bound exit check (that if the loop is not entered and the event is true, then the probability should be 1), and further missing checks. In all cases, the inductive reasoning case was simplified to remove duplicated control-flow. co-authored-by: Benjamin Grégoire <benjamin.gregoire@inria.fr> co-authored-by: François Dupressoir <fdupress@gmail.com> 05 September 2022, 08:27:00 UTC
38fb166 In tactic apply[alpha]: instiantiate type-varaibles. Fix #255 05 September 2022, 08:25:14 UTC
f8c2cac Fix MEE-CBC example failing smt call 31 August 2022, 16:50:48 UTC
94be874 Remove unused PF-WP 31 August 2022, 09:58:51 UTC
7f37e97 Lemmas on dprod and djoin 30 August 2022, 09:20:18 UTC
af067ba In `cloning ... with lemma...`, disable inference for `apply` Ref #247 30 August 2022, 07:26:44 UTC
0aeaa74 Distinction between modules & module types path in the hi-level subst. Ref #247 30 August 2022, 07:26:44 UTC
c7fb3d9 Relate dbiased and dmap 29 August 2022, 13:03:15 UTC
b2273f0 Add a warning for useless delta-unfolding The option name is `und_delta`. It is disabled by default. The mechanism can emit false positive, e.g. in: `try rewrite /foo.` 29 August 2022, 13:02:25 UTC
f9d2bf6 When replaying a reduction rule, check that the rule does still exists. Currently, when the reduction rule does not exist anymore (because it has been removed by the inlining mechanism), the cloning fails with a lookup error. Ref #247 23 August 2022, 16:00:41 UTC
6d0e464 Enforce section restrictions on the types of declared modules. Fix #245 23 August 2022, 12:07:34 UTC
644ddc2 Fix a typing annotation bug in distribution tags' axioms fix #241 09 August 2022, 09:00:42 UTC
1587d64 Fix unprecise/invalid error message 09 August 2022, 07:53:49 UTC
c8d3d6c [theories]: Add scalar-vector multiplication 23 July 2022, 07:07:55 UTC
fec4d5f [build]: add option -f to codesign 23 July 2022, 06:12:54 UTC
aee8bfe CI: mechanism for checking external developments Currently, this mechanism is configured to check the Jasmin ECLib 22 July 2022, 12:34:18 UTC
b184b1d theories: add back "oldlibs" in the CI + fix 19 July 2022, 14:08:51 UTC
ea77e0e add looptransform 15 July 2022, 08:36:36 UTC
53f3e84 slightly reduce reliance on trivial SMT calls 12 July 2022, 16:44:15 UTC
bef5649 unify meaning of `by []` `lemma ... by [].` is now short for `lemma ... by (by []).` (instead of `by smt.`) Fixes #191. 12 July 2022, 16:44:15 UTC
back to top