Skip to content

Commit

Permalink
Add more disclaimers about only using What4-based tactics
Browse files Browse the repository at this point in the history
  • Loading branch information
RyanGlScott committed Jan 24, 2022
1 parent cae4828 commit 519d295
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions tests/saw/spec/handshake/handshake.saw
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,13 @@ let equalNat_ite = core_axiom
"(x y z : Nat) -> (b : Bool) -> Eq Bool (equalNat x (ite Nat b y z)) (ite Bool b (equalNat x y) (equalNat x z))";

// Low-level handshake_io correspondence proof
//
// WARNING: Because `enable_lax_loads_and_stores` is enabled in this module,
// these proofs must use What4-based proof tactics (i.e., those with a `w4_`
// prefix). Otherwise, they will fail, likely with an error message to the
// effect of:
//
// FOTArray unimplemented for backend
let prove_handshake_io_lowlevel = do {
print "Beginning the low-level spec equivalence proof";

Expand Down Expand Up @@ -89,6 +96,12 @@ let prove_handshake_io_lowlevel = do {
return ();
};

// WARNING: Because `enable_lax_loads_and_stores` is enabled in this module,
// these proofs must use What4-based proof tactics (i.e., those with a `w4_`
// prefix). Otherwise, they will fail, likely with an error message to the
// effect of:
//
// FOTArray unimplemented for backend
let prove_state_machine = do {
print "Checking proof that the TLS1.2 RFC simulates our Cryptol s2n spec";
prove_print (w4_unint_z3 []) {{ tls12rfcSimulatesS2N `{16} }};
Expand All @@ -99,6 +112,12 @@ let prove_state_machine = do {
return ();
};

// WARNING: Because `enable_lax_loads_and_stores` is enabled in this module,
// these proofs must use What4-based proof tactics (i.e., those with a `w4_`
// prefix). Otherwise, they will fail, likely with an error message to the
// effect of:
//
// FOTArray unimplemented for backend
let prove_cork_uncork = do {
print "Verifying the low-level->high-level cork-uncork simulation";
prove_print (w4_unint_z3 []) {{ highLevelSimulatesLowLevel `{16} }};
Expand Down

0 comments on commit 519d295

Please sign in to comment.