Name | Status of the F* extraction |
---|---|
chacha20 | Typechecks |
limited-order-book | Typechecks |
sha256 | Lax-typechecks |
barrett | Typechecks |
kyber_compress | Typechecks |
Requirements
First, make sure to have hax installed in PATH. Then:
-
With Nix,
nix develop .#fstar
setups a shell automatically for you. -
Without Nix:
- install F*
v2024.01.13
manually (see https://github.com/FStarLang/FStar/blob/master/INSTALL.md);- make sure to have
fstar.exe
in PATH; - or set the
FSTAR_HOME
environment variable.
- make sure to have
- clone Hacl* somewhere;
export HACL_HOME=THE_DIRECTORY_WHERE_YOU_HAVE_HACL_STAR
.
- install F*
To generate F* code for all the example and then typecheck
everything, just run make
in this directory.
Running make
will run make
in each example directory, which in
turn will generate F* modules using hax and then typecheck those
modules using F*.
Note the generated modules live in the
<EXAMPLE>/proofs/fstar/extraction
folders.
For those examples, we generated Coq modules without typechecking them.
The <EXAMPLE>/proofs/coq/extraction
folders contain the generated Coq modules.