-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #107 from cryspen/lucas/fstar-wip
Bertie Lax Typechecking
- Loading branch information
Showing
47 changed files
with
20,952 additions
and
10,472 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
use nix | ||
export HACL_HOME="/home/lucas/repos/hacl-star" | ||
export HAX_PROOF_LIBS_HOME="/home/lucas/repos/hax/latest-core/proof-libs/fstar" | ||
export HAX_LIBS_HOME="/home/lucas/repos/hax/latest-core/hax-lib/proofs/fstar/extraction" | ||
export FSTAR_HOME="/home/lucas/repos/hax/latest-core/proof-libs/fstar" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
let | ||
pkgs = import <nixpkgs> {}; | ||
in | ||
pkgs.mkShell { | ||
packages = with pkgs; [ | ||
python3 | ||
rustup | ||
]; | ||
|
||
HACL_HOME = "/home/lucas/repos/hacl-star"; | ||
HAX_PROOF_LIBS_HOME = "/home/lucas/repos/hax/latest-core/proof-libs/fstar"; | ||
HAX_LIBS_HOME = "/home/lucas/repos/hax/latest-core/hax-lib/proofs/fstar/extraction"; | ||
FSTAR_HOME = "/home/lucas/repos/hax/latest-core/proof-libs/fstar"; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
This directory holds the extracted F* code for the Bertie protocol layer. | ||
|
||
The `extraction` folder is generated by running `hax-driver.py extract-fstar` | ||
|
||
We then apply a patch to this folder for lax checking to obtain `extraction-lax`. | ||
|
||
This patch mainly performs the following fixes which will become unnecessary with future hax fixes: | ||
|
||
* Recursive functions are not produced with `let rec` in F* | ||
* IndexMut implementations need to implemented by hand in F* | ||
* Empty lists need type annotations in F* | ||
|
||
Finally, we edit the code in `extraction-lax` by hand to obtain panic-freedom proofs in `extraction-panic-free`. | ||
Eventually these hand-edits will be backported into Rust as pre- and post-conditions. | ||
|
||
|
||
|
||
|
||
|
Oops, something went wrong.