https://github.com/EasyCrypt/easycrypt

sort by:
Revision Author Date Message Commit Date
ec65ae2 . 30 January 2024, 10:16:11 UTC
8b5d405 . 30 January 2024, 10:09:44 UTC
0b5fe57 remove unecessary assert 11 December 2023, 09:43:18 UTC
bf70e2c add small remarks 09 December 2023, 07:47:32 UTC
648f621 make the use of freshen explicite, we should inspect when freshen is really necessary 08 December 2023, 06:48:38 UTC
df768b5 remove deadcode, try to use ecCoreSubst as much as possible in ecReduction 07 December 2023, 15:46:34 UTC
7814666 refresh memory binding in hoare judgment when necessary 07 December 2023, 13:07:48 UTC
db28551 fix last rebase 07 December 2023, 12:56:12 UTC
2e5c61a fix rebase 07 December 2023, 12:56:11 UTC
af51c86 fix rebase 07 December 2023, 12:56:11 UTC
5cd0e48 fix rebase 07 December 2023, 12:56:10 UTC
90c7b86 remove option in f_subst_tvar 07 December 2023, 12:56:10 UTC
e010664 remove unused function 07 December 2023, 12:56:10 UTC
85974e7 introduce fs_fv 07 December 2023, 12:56:09 UTC
3e4b2fb small internal refactoring for mod subst 07 December 2023, 12:56:09 UTC
8e9c440 simplify instantiation of schema 07 December 2023, 12:56:08 UTC
6388953 small refactoring 07 December 2023, 12:56:08 UTC
95ff65f introduce Tvar.f_subst 07 December 2023, 12:56:07 UTC
e550dfd small cleanup 07 December 2023, 12:56:07 UTC
4bc4c4d rename subst_xpath into x_subst 07 December 2023, 12:56:06 UTC
1e2f70a rename subst_me into me_subst 07 December 2023, 12:56:06 UTC
3f1365f rename subst_gty into gty_subst 07 December 2023, 12:56:05 UTC
5bfdf05 rename subst_oi into oi_subst 07 December 2023, 12:56:05 UTC
9b4ade2 rename subst_ty into ty_subst 07 December 2023, 12:56:04 UTC
32890d0 rename subst_m into m_subst 07 December 2023, 12:56:04 UTC
57158af rename subst_e into e_subst 07 December 2023, 12:56:03 UTC
7ee880f rename subst_stmt into s_subst 07 December 2023, 12:56:03 UTC
43982dd rename subst_lpattern into lp_subst 07 December 2023, 12:56:03 UTC
d12d925 small cleanup 07 December 2023, 12:56:02 UTC
6aba0e8 remove f_subst_init_rm 07 December 2023, 12:56:02 UTC
7f7ce50 start removing use of f_subst_init_rm 07 December 2023, 12:56:01 UTC
6841edb remove e_subst_init 07 December 2023, 12:56:00 UTC
4e8b595 new interface to f_subst_init 07 December 2023, 12:56:00 UTC
e6e7023 remove type ty_subst and e_subst 07 December 2023, 12:55:59 UTC
b98d6b8 merge all subst types 07 December 2023, 12:55:59 UTC
03b81a6 type f_subst become abstract 07 December 2023, 12:55:58 UTC
9acb9b0 type e_subst become abstract 07 December 2023, 12:55:58 UTC
e7995db add missing files ... 07 December 2023, 12:55:57 UTC
b45b94a ty_subst is abstract 07 December 2023, 12:55:57 UTC
febb46d move substitution function to EcCoreSubst 07 December 2023, 12:55:56 UTC
6576223 Fix reduction w.r.t. memory types. This commit fixes two bugs: - the memory types (in all hoare logic constructor) were not taken into account in conversion. - the bounded memories where not substituted for alpha conversion. 07 December 2023, 10:35:52 UTC
9e85ab1 Add tactic `weakmem` This tactic allows to weaken the memory of a phoare hypothesis by adding new variables to it. This tactic is needed in the while rule for phoare, when one wants to apply the induction hypothesis & the memories are not compatible. Currently, the convertibility check does not enforce that memories are equal, but a to-come PR is going to fix that point. 07 December 2023, 10:21:48 UTC
d248e73 rndsem: new version that only computes the distribution for used variables This version was already available internally. This commits only add the needed syntax for accessing it. The syntax is: `rndsem* <options>`. closes #415 06 December 2023, 15:25:53 UTC
7c0adea In substitutions, lazyly refresh the codomain of the univar map This map is allowed to do name capture and is hence sensitive to bound variables renaming. 05 December 2023, 16:33:38 UTC
dd02a37 In view application, close cut formula after substitution If not, we are creating a capture. The bug is hidden because we are not using a refreshing substitution in this case. 05 December 2023, 14:03:35 UTC
0de7f16 Compile in `dev` mode by default. Until now, `make` was building EasyCrypt in release mode. The set of warning flags in release mode is weaker then in development mode. Switching to dev mode caused the apparition of some warnings. This commit fixes them. 04 December 2023, 15:39:51 UTC
068fdd9 nix: do not pin provers versions nix-flake should be used to pin provers to a given version. 02 December 2023, 11:10:24 UTC
c0376b7 Bump the minimal version of Why to 1.7 This allows us to use more recent versions of the provers. The docker images have been updated accordingly. Docker now comes with the following provers: - Z3 4.12.2 - CVC4 1.8 - CVC5 1.0.6 - Alt-Ergo 2.5.2 02 December 2023, 08:24:16 UTC
14a397c runtest: new option: why3 (why3 configuration file location) 01 December 2023, 21:44:34 UTC
23e603e runtest: allows to specify provers from the CLI 01 December 2023, 21:27:04 UTC
42a7841 runtest: do not try to load pyyaml when reporting is disabled 01 December 2023, 16:53:46 UTC
15f0751 Allows selecting a prover by its version number. Syntax is name@version. The selected prover is the prover with name `name` and with the lowest version that is greater (or equal) than `version`. For example, if Z3 4.8.0, Z3 4.8.2 & Z3 4.12.2 are installed, Z3@4.8 selects Z3 4.8.2. 01 December 2023, 16:15:50 UTC
27edb8a opam: allow Why3 1.7.x 30 November 2023, 08:37:08 UTC
d9d7bcf Removed two unused type declarations. 28 November 2023, 20:14:47 UTC
d43887b Share the definition of the datatypes in EcAst.ml 25 November 2023, 10:05:04 UTC
b79290f SMT timeout can now be configured in INI files The configuration key is "timeout" 24 November 2023, 17:30:52 UTC
3be7cb9 Support project-local ini files EasyCrypt now reads project-local files for getting its configuration settings. This configuration file takes precedence over the system-level configuration file. The project-local configuration file is named 'easycrypt.project'. It is identical to the system-level configuration file. When compiling a file, the configuration file is searched upward from the target file directory. When ran in interactive mode, the configuration file is searched upward from the current working directory. Note that when ProofGeneral starts EasyCrypt, the working directory is set to the directory of the focused file. 24 November 2023, 17:25:58 UTC
9fd429a When rewriting in the local env, do not fail on identity rewriting fix #463 08 November 2023, 17:06:32 UTC
ff7b698 added adversary and qselect examples 08 November 2023, 11:03:26 UTC
99ec9f4 ehoare Co-authored-by: Benjamin Grégoire <benjamin.gregoire@inria.fr> Co-authored-by: Martin Avanzini <martin.avanzini@inria.fr> 08 November 2023, 11:03:26 UTC
9275a29 Nits: choiceb induction principle 19 October 2023, 14:57:04 UTC
a214a56 opsem: generate spec lemmas 26 September 2023, 11:14:56 UTC
5e383f5 Internal: do not consider an applied abstract module as a non-functor abstract module fix #455 26 September 2023, 07:28:36 UTC
13296e5 In subst, when crossing a binding, remove the bound variable. If not, the substitution can lead to name captures. 25 September 2023, 18:44:32 UTC
8fa2f94 op: fix creation of refined operators Do the operator substitution and then close the formula. 22 September 2023, 19:27:28 UTC
50bcef7 Remove references 22 September 2023, 11:49:02 UTC
ef42e9d Fixed glob unsoundess through eager normalization of globs when type checking and substituting modules. 22 September 2023, 11:49:02 UTC
755fe93 stdlib: new lemma on summable 22 September 2023, 08:09:07 UTC
d5a04f5 Read library paths from the EC_IDIRS/EC_RDIRS env. vars. Library paths can be specified using the environment variables EC_IDIRS and EC_RDIRS. They contain each a list of specifications separated by semicolumns (;). Each said specification is a path, optionally qualified (when present, the qualifier is followed by a colon (:)). Specifications given in the EC_IDIRS variable behave the same as the ones given in the idirs configuration entry or on the command line following a -I argument. Specifications given in the EC_RDIRS variable behave the same as the ones given in the rdirs configuration entry or on the command line following a -R argument. 21 September 2023, 11:27:48 UTC
a9ae1ae add more lemmas on converto 21 September 2023, 09:32:44 UTC
c410d3c remove hyp in normrV 21 September 2023, 09:32:15 UTC
c60092d stdlib: limit of the inverse of a sequence 21 September 2023, 09:08:56 UTC
eb00ea4 Fix the printing of operator bodies fix #442 15 September 2023, 12:25:39 UTC
8746da3 cloning: fix regression bug in operators convertibilty check The check should use the full conversion. fix #437 14 September 2023, 10:51:55 UTC
287106a [nix] vendor prover derivations 13 September 2023, 20:57:12 UTC
480c0ea Operator unfolding when applied to enough arguments When declaring an operator, it is now possible to specify which arguments are mandatory before an operator application is automtically unfolded during simplification. Syntax is: ``` op name (x1 : t1) (xp : tp) / (x_p+1 : t_p+1) ... = ... ``` where the optional `/` indicated that the operator `name` will be automatically unfolded when applied to at least `p` arguments. 06 September 2023, 13:42:47 UTC
8243791 [runtest]: new CLI argument --bin This argument tells `runtest` which binary to use for EasyCrypt. It takes precedence over what is found in the INI file (in default/bin). Moreover, `easycrypt runtest` automatically set --bin to itself. This allows to select the correct version of EasyCrypt without having to tweak the INI file accordingly. 06 September 2023, 11:44:57 UTC
7d59877 hint simplify now extracts rewriting rules from <=> 05 September 2023, 12:52:06 UTC
bcdb9cb Fixed the type given to a constructor when matching directly. 04 September 2023, 16:43:08 UTC
46d6948 Operators body can now be formulas When cloning a theory, inlined operator definitions must be expressions s.t. their substitution can be done in procedures bodies. 04 September 2023, 08:59:09 UTC
35e3849 get rid of axiom in `Birthday` 30 August 2023, 11:43:29 UTC
faedf01 Additional List lemmas. Additional lemmas in StdBigop and RealSeries. 29 August 2023, 12:08:44 UTC
c13b549 [internal] EcSubst does not rely anymore on the low-level substitutions Co-authored-by: Pierre-Yves Strub <pierre-yves@strub.nu> Co-authored-by: Benjamin Grégoire <Benjamin.Gregoire@inria.fr> 28 August 2023, 10:36:37 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
back to top