https://github.com/EasyCrypt/easycrypt

sort by:
Revision Author Date Message Commit Date
32f0ee5 [cost v2] printing of full mpath + first wrapped mpath in the parser 25 August 2023, 16:20:56 UTC
f688844 [cost v2] wrapped module path in CHoare 25 August 2023, 14:05:00 UTC
e5e946c [cost v2] minor 25 August 2023, 13:50:05 UTC
237f245 [cost v2] minor 25 August 2023, 13:33:20 UTC
15804c7 [cost v2] typing of module paths 25 August 2023, 13:08:49 UTC
9809974 [cost v2] resolution of parsed module path, typing unfinished 25 August 2023, 12:50:17 UTC
9211dcb [cost v2] parsing rules for module path, typing remains to be done 24 August 2023, 16:52:35 UTC
a6a0195 [cost v2] removed quantification over agents in formulas 24 August 2023, 14:22:51 UTC
fb5e115 [cost v2] fixed a bug where conversion was stronger than it should 24 August 2023, 14:10:34 UTC
358ec8f [cost v2] various changes to help debugging 24 August 2023, 14:05:12 UTC
5e7284a [cost v2] various small changes disable some checks in EcEnv.Agent, as it is unused for now minor fix in EcLowGoal sub-hyp check printing of agent names in sequents cost simplification + somes tests 24 August 2023, 11:32:10 UTC
dd9ed5b [cost v2] cost simplification + somes tests 24 August 2023, 09:44:09 UTC
3b2e441 [cost v2] a few test files 24 August 2023, 08:44:14 UTC
01adbed [cost v2] commented-out some more cost-related examples 24 August 2023, 08:42:01 UTC
8d1c9d1 [cost v2] fixed Cramer Shoup: desambiguate ZModE.zero from Cost.zero 24 August 2023, 08:39:14 UTC
9f10127 [cost v2] moved functions that need to be globally available to Pervasive 24 August 2023, 08:38:48 UTC
f76a5a2 [cost v2] commented-out some cost-related examples for now 24 August 2023, 08:38:41 UTC
ddd405e [cost v2] fix compilation 23 August 2023, 14:13:23 UTC
fe23a65 Merge remote-tracking branch 'origin/main' into deploy-new-cost2 23 August 2023, 12:11:17 UTC
6a203df fix smt that regressed with z3 bump to 4.12.2 all else being equal, works with 4.12.1, fails with 4.12.2 fails with all other solvers 12 August 2023, 08:57:48 UTC
ae29508 pin alt-ergo, z3 12 August 2023, 08:57:48 UTC
705bafe refactor nix to avoid repetition 12 August 2023, 08:57:48 UTC
95cabb9 add support for test config 'report' option there is currently no way of asking for a report with 'easycrypt runtest' 07 August 2023, 17:56:12 UTC
da3be5c [chore] whitespace 07 August 2023, 17:56:12 UTC
a72dada Propagate subtype changes to Word 02 August 2023, 00:47:04 UTC
917bba2 Ring/field tactics available as soon as an instance is found. 20 July 2023, 13:49:02 UTC
e75a7cf get rid of unbounded smt calls outside examples 20 July 2023, 13:22:13 UTC
1bb2e2d Additonal lemmas on fset equality establishing an equivalence, and additional lemma on perm_eq and undup (making the oflist_perm_eq lemma redundant). 19 July 2023, 08:46:42 UTC
6e066e6 Fix wording of error messages "function" -> "procedure" fix #417 13 July 2023, 11:07:33 UTC
add9232 [chore] fix more raw smt calls 11 July 2023, 20:01:13 UTC
0c60516 [chore] fix raw smt calls (theories/distributions) 11 July 2023, 20:01:13 UTC
757ec09 [chore] remove more raw smt calls 29 June 2023, 13:20:43 UTC
85d03a2 [chore] fix some warnings and flaky smt calls (#408) 29 June 2023, 11:18:26 UTC
cddd7d9 [theories] define product using allpairs (#411) 28 June 2023, 14:58:53 UTC
60c3179 Renaming the easycrypt lib (making it easyier for external imports) (#410) 28 June 2023, 12:25:32 UTC
73ac095 proc op: add support for the "local" modifier 27 June 2023, 13:55:48 UTC
3693e61 [theories] additional elimination rules for finite sums (#401) 22 June 2023, 13:18:15 UTC
c0eeee4 Refactor out Fermat's little theorem from ZModP to IntDiv 21 June 2023, 10:34:00 UTC
4965377 Prove Fermat's little theorem 21 June 2023, 10:34:00 UTC
e38fac3 Keep f_let_simp 16 June 2023, 10:40:43 UTC
d1858f6 Remove dead code relating to substitution; instead, the f_subst mechanism should be used. (And this is in fact done for simplification of let formulas in EcReduction.) 16 June 2023, 10:40:43 UTC
341cc08 New inline tactic We realized that sometimes we want to inline everything besides one procedure and found that it is cumbersome to have to list everything that has to be inlined instead of listing what should remain as is. So we decided to add this to the current inline. We should have kept the previous use cases identical as supported by the fact that nothing broke while not touching any old ec files. In doing so, we also added the possibility to provide the name of a module leading to inlining all the procedure in this module. Finally, one can now provide the name of a procedure and it will inline all the procedures with that name regardless of the module in which they belong. As already mentioned, one can find examples at the following link. https://github.com/EasyCrypt/easycrypt/blob/deploy-inline/examples/tactics/inline.ec start with parsing pattern matching on inline add some examples fix 16 June 2023, 10:39:43 UTC
f0e15c2 Turned the files in src into a lib called Core. (#397) * Turned the files in src into a lib called core. * Removed reference to dead code in dune file The file ecCoreHiPhl was removed as dead code, no need to exclude it in the dune file anymore. --------- Co-authored-by: Romain Tetley <rtetley@inria.fr> 15 June 2023, 14:57:04 UTC
8232d04 Remove dead code (#398) The file ecCoreHiPhl.ml seems to be dead code because: - It contains an open EcLogic which was deleted in 2014 (commit 6fe0ea944a53ffc89bdde9bb70f81629ff764c97) - The last time it was modified (apart from licence headers) was in 2013 (commit f2e05e2688ab1894daf760ed255060253839286c) 15 June 2023, 14:19:31 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
38e63de [cost v2] WIP, adding module wrappers in module paths 12 May 2023, 16:37:35 UTC
19b32c9 [cost v2] finished adding module path wrappers in EcPath Remains to add them in the rest of the code 10 May 2023, 09:42:51 UTC
f7cba73 [cost v2] started to add wrappers in module paths 10 May 2023, 09:31:00 UTC
d80bc3a commented debug printing which caused the test script to crash 04 May 2023, 14:33:46 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
dc7ea88 [cost v2] changed internal representation of module path Preparing adding agent (for wrapped modules) in module paths 28 April 2023, 16:43:56 UTC
d9e0b37 [cost v2] made type mpath private 28 April 2023, 10:05:25 UTC
b90a0b8 [cost v2] replaced all access to field m_top by function calls 28 April 2023, 09:38:12 UTC
354ea9b [cost v2] minor 27 April 2023, 13:10:28 UTC
18dd603 [cost v2] wip 26 April 2023, 13:02:53 UTC
a862304 [cost v2] wip 26 April 2023, 12:18:53 UTC
0163d0d [cost v2] printing agent names parameters in lemmas 26 April 2023, 09:26:40 UTC
4cded5c [cost v2] added missing agent files 26 April 2023, 09:07:12 UTC
2a1bbd4 [cost v2] fixed bug in proof-term construction (cut) 26 April 2023, 09:06:41 UTC
4788a8c [cost v2] constraint checker for agent name disjointness 25 April 2023, 15:30:31 UTC
a82e428 [cost v2] agent names handled in a parametrized fashion (similarly to type parameters) 25 April 2023, 12:58:57 UTC
993c4e3 [cost v2] fixed printing bug 14 April 2023, 15:37:34 UTC
236a7c7 [cost v2] fixed substitution bug 14 April 2023, 15:24:55 UTC
3dc5e47 [cost v2] fixed error 14 April 2023, 12:02:37 UTC
0070bc6 [cost v2] conversion of agent binders 14 April 2023, 09:18:28 UTC
69fdb31 [cost v2] agents in proof-terms 14 April 2023, 08:44:15 UTC
5b443c0 Merge remote-tracking branch 'origin/main' into deploy-new-cost2 13 April 2023, 16:22:54 UTC
34e68a8 Merge remote-tracking branch 'origin/main' into deploy-new-cost2 13 April 2023, 16:20:35 UTC
f7af981 [cost v2] wip 13 April 2023, 16:20:10 UTC
08d696b [cost v2] record module information in the environment 12 April 2023, 16:58:02 UTC
8fedd0c [cost v2] use agent names in cost records 12 April 2023, 15:17:15 UTC
863309b [cost v2] parser for external agents 12 April 2023, 12:35:51 UTC
1b95ad4 [cost v2] removed module opacity 29 March 2023, 07:46:24 UTC
b0a1c6e [cost v2] wip 29 March 2023, 07:33:17 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
back to top