https://github.com/EasyCrypt/easycrypt

sort by:
Revision Author Date Message Commit Date
1e4e582 Variant of FMap where get samples randomly 14 June 2023, 14:00:26 UTC
b0eeedc Take PolyReduce theory from Kyber project Add choice-based inverses and fix broken proofs from subtype changes Co-authored-by: Pierre-Yves Strub <pierre-yves@strub.nu> 13 June 2023, 09:09:31 UTC
dfec6be restore name 13 June 2023, 07:53:12 UTC
a4a0332 Tighten the ROM bad call results 13 June 2023, 07:53:12 UTC
d481338 [lib] FSet: fcard_eq1 Co-authored-by: Christian Doczkal <christian.doczkal@mpi-sp.org> 13 June 2023, 07:30:41 UTC
c73033b [lib] List: remove all raw smt calls 13 June 2023, 07:14:59 UTC
ab21d3a New rewrite-pr lemma: Pr[muE] Transform a Pr[...] statement into its pointwise summation. 12 June 2023, 12:22:39 UTC
16747c7 properly fail early if one SMT returns `Invalid` This was seemingly intended, but racy 10 June 2023, 22:35:56 UTC
cf55a7c warn on `Invalid` SMT results 10 June 2023, 22:35:56 UTC
eaba09c [theories]: p_max (maximum probability for atomic events) Co-authored-by: Ethan Lee <ylee1228@umd.edu> 05 June 2023, 14:39:42 UTC
4650947 Removed Smart constructors for types, expressions, formulae, paths, and statements. 05 June 2023, 06:53:24 UTC
dc50f44 Forbid the usage of [declare] for concrete modules. Fix #328 26 May 2023, 12:06:42 UTC
8f15fcb Fix datatype comparisons for theory replays We do not need to check the inductive schemas: - if the constructors are compatible, so are the schemas, - anyway, they are going to be checked right after, and - at that point, they are not convertible because they come from incomaptible enclosing theories. Fix #381 25 May 2023, 14:30:11 UTC
926927a Accept non-printed variable only abbreviations. fix #382 25 May 2023, 14:23:31 UTC
242e996 New command: proc op. This command generates an operator that computes the output distribution of a stateless proc. The command is in beta-mode. It misses: - a support for a larger set of instructions, - better error messages, - a registry of generated proc ops, and - a hoare/phoare statement that links the operator to the procedure. 25 May 2023, 14:16:01 UTC
cf79f50 [theories] FunRO: RO for FinType using dfun for init 23 May 2023, 10:49:03 UTC
860dc3f use polymorpic wrapper to enable theory cloning 17 May 2023, 04:25:30 UTC
d77676c clean up SubType theory 17 May 2023, 04:25:30 UTC
a672c38 Updated examples to match new Subtype. 17 May 2023, 04:25:30 UTC
957afc7 New Subtype theory. Updated stdlib to match. 17 May 2023, 04:25:30 UTC
ee26cc5 Commit b2106aa suppressed additional parentheses around match ... end in all circumstances, even though on the left and right of applications the parser requires parentheses, the theory being this makes it easier for humans to scan. So this commit inserts parentheses around matches in applications, but not elsewhere (e.g., not in infix operators). See below for examples. [The pretty printer needs a major redesign, so this is another stopgap measure.] require import AllCore List. type t = [ A of int | B of bool]. (* the following formulas now parse and pretty-print the same *) lemma foo1 (f : int -> bool) : f (match A 3 with | A a => a | B b => if b then 1 else 2 end). proof. abort. lemma foo2 : (match A 3 with | A a => fun _ => a | B b => fun _ => 2 end) 3 = 4. proof. abort. lemma foo3 (f : (int -> int) -> (int -> int)) : f (match A 3 with | A a => fun _ => a | B b => fun _ => 2 end) 3 = 4. proof. abort. lemma foo4 (f : int -> bool) : f (1 + match A 3 with | A a => a | B b => if b then 1 else 2 end). proof. abort. lemma foo5 (f : int -> bool) : f (match A 3 with | A a => a | B b => if b then 1 else 2 end + 1). proof. abort. lemma foo6 (f : int -> bool) : f (3 + match A 3 with | A a => a | B b => if b then 1 else 2 end + 1). proof. abort. 16 May 2023, 07:04:10 UTC
94538c5 [ci] update actions to avoid node deprecation 02 May 2023, 09:38:51 UTC
bde8af8 Track the argument variables as well. Also update ROM proof. 02 May 2023, 09:38:19 UTC
f626259 [tactic] Rewrite Equiv 24 March 2023, 13:44:07 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
back to top