From 9e2a92b977c225b6d2945846731c9450d43295ee Mon Sep 17 00:00:00 2001 From: Tahina Ramananandro Date: Tue, 11 Jul 2023 15:22:10 -0700 Subject: [PATCH 01/15] add unused annotation on ptr_gen --- lib/steel/c/Steel.ST.C.Types.Base.fsti | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/steel/c/Steel.ST.C.Types.Base.fsti b/lib/steel/c/Steel.ST.C.Types.Base.fsti index 7b8a32552..7bd2e124e 100644 --- a/lib/steel/c/Steel.ST.C.Types.Base.fsti +++ b/lib/steel/c/Steel.ST.C.Types.Base.fsti @@ -76,7 +76,7 @@ val void_null: void_ptr // To be extracted as: *t [@@noextract_to "krml"] // primitive -let ptr_gen (t: Type) : Tot Type0 = void_ptr +let ptr_gen ([@@@unused] t: Type) : Tot Type0 = void_ptr [@@noextract_to "krml"] // primitive let null_gen (t: Type) : Tot (ptr_gen t) = void_null From bc1c41725446f2c34bb347a40b533b0ef223f8b3 Mon Sep 17 00:00:00 2001 From: Tahina Ramananandro Date: Wed, 12 Jul 2023 13:27:32 -0700 Subject: [PATCH 02/15] mutually-defined union and struct, extracts but fails to compile --- share/steel/examples/steelc/MutualUnion.fst | 57 +++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 share/steel/examples/steelc/MutualUnion.fst diff --git a/share/steel/examples/steelc/MutualUnion.fst b/share/steel/examples/steelc/MutualUnion.fst new file mode 100644 index 000000000..97d459d64 --- /dev/null +++ b/share/steel/examples/steelc/MutualUnion.fst @@ -0,0 +1,57 @@ +module MutualUnion +open Steel.ST.Util +open Steel.ST.C.Types + +module U32 = FStar.UInt32 +module U16 = FStar.UInt16 + +(* The following correctly extracts to: +<< + +typedef union { + uint32_t as_u32; + uint16_t *as_u16; +} +MutualUnion_test_union_OK; + +>> +*) +type test_union_OK = union_t "MutualUnion.test_union_OK" ( + field_description_cons "as_u32" (scalar U32.t) ( + field_description_cons "as_u16" (scalar (ptr_gen U16.t)) ( + field_description_nil)) + ) + +(* The following SHOULD extract to something like: +<< + +typedef struct MutualUnion_test_struct_s MutualUnion_test_struct; + +typedef union { + uint32_t as_u32; + MutualUnion_test_struct *as_ptr; +} +MutualUnion_test_union_FAIL; + +typedef struct MutualUnion_test_struct_s +{ + bool tag; + MutualUnion_test_union_FAIL payload; +} +MutualUnion_test_struct; + +>> +But right now, KaRaMel generates the struct before the union, so the generated C code fails to compile. +*) +noeq +type test_union_FAIL = union_t "MutualUnion.test_union_FAIL" ( + field_description_cons "as_u32" (scalar U32.t) ( + field_description_cons "as_ptr" (scalar (ptr_gen test_struct)) ( + field_description_nil)) + ) +and test_struct = { + tag: bool; + payload: test_union_FAIL; +} + +let test_fun () = 0s From 90d00ee96ee1a4c32719c85fc642736448aca881 Mon Sep 17 00:00:00 2001 From: Tahina Ramananandro Date: Wed, 12 Jul 2023 13:51:01 -0700 Subject: [PATCH 03/15] add an example with a struct before as well --- share/steel/examples/steelc/MutualUnion.fst | 49 +++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/share/steel/examples/steelc/MutualUnion.fst b/share/steel/examples/steelc/MutualUnion.fst index 97d459d64..7562138fa 100644 --- a/share/steel/examples/steelc/MutualUnion.fst +++ b/share/steel/examples/steelc/MutualUnion.fst @@ -54,4 +54,53 @@ and test_struct = { payload: test_union_FAIL; } +#push-options "--__no_positivity" + +(* The following SHOULD extract to something like: +<< + +typedef union MutualUnion_test_union2_FAIL_u MutualUnion_test_union2_FAIL; + +typedef struct MutualUnion_test_struct2_before_s { + bool tag; + MutualUnion_test_union2_FAIL *payload; +} MutualUnion_test_struct2_before; + +typedef struct MutualUnion_test_struct2_after_s MutualUnion_test_struct2_after; + +typedef union MutualUnion_test_union2_FAIL_u { + MutualUnion_test_struct2_before as_struct; + MutualUnion_test_struct2_after *as_ptr; +} +MutualUnion_test_union2_FAIL; + +typedef struct MutualUnion_test_struct2_after_s +{ + bool tag; + MutualUnion_test_union2_FAIL payload; +} +MutualUnion_test_struct2_after; + +>> +But right now, KaRaMel generates struct2_after before the union, and +does not generate any forward declaration for union2, so the generated +C code fails to compile. +*) +noeq +type test_struct2_before = { + tag: bool; + payload: ptr_gen test_union2_FAIL; +} +and test_union2_FAIL = union_t "MutualUnion.test_union2_FAIL" ( + field_description_cons "as_struct" (scalar test_struct2_before (* TODO TR: solve positivity issue here, independently of extraction *)) ( + field_description_cons "as_ptr" (scalar (ptr_gen test_struct2_after)) ( + field_description_nil)) + ) +and test_struct2_after = { + tag: bool; + payload: test_union2_FAIL; +} + +#pop-options + let test_fun () = 0s From cbfddbffcd4639aef0fe5e878472e3f13bf1487d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= Date: Tue, 27 Jun 2023 14:49:56 -0700 Subject: [PATCH 04/15] Pulse match support --- lib/steel/pulse/Pulse.Checker.Match.fst | 346 + lib/steel/pulse/Pulse.Checker.Match.fsti | 17 + lib/steel/pulse/Pulse.Checker.Pure.fst | 4 +- lib/steel/pulse/Pulse.Checker.fst | 28 +- lib/steel/pulse/Pulse.Common.fst | 140 + lib/steel/pulse/Pulse.Elaborate.Core.fst | 27 + lib/steel/pulse/Pulse.Elaborate.Pure.fst | 21 +- lib/steel/pulse/Pulse.Reflection.Util.fst | 1 + lib/steel/pulse/Pulse.Soundness.Match.fst | 69 + lib/steel/pulse/Pulse.Soundness.Match.fsti | 23 + lib/steel/pulse/Pulse.Soundness.WithLocal.fst | 1 + lib/steel/pulse/Pulse.Soundness.fst | 6 + lib/steel/pulse/Pulse.Syntax.Base.fst | 61 + lib/steel/pulse/Pulse.Syntax.Base.fsti | 14 + lib/steel/pulse/Pulse.Syntax.Builder.fst | 5 + lib/steel/pulse/Pulse.Syntax.Naming.fst | 8 +- lib/steel/pulse/Pulse.Syntax.Naming.fsti | 68 +- lib/steel/pulse/Pulse.Syntax.Printer.fst | 19 +- lib/steel/pulse/Pulse.Typing.Env.fst | 2 +- lib/steel/pulse/Pulse.Typing.FV.fst | 6 + lib/steel/pulse/Pulse.Typing.LN.fst | 22 +- lib/steel/pulse/Pulse.Typing.fst | 106 + share/steel/examples/pulse/Assert.fst | 2 +- share/steel/examples/pulse/Fibo32.fst | 2 +- share/steel/examples/pulse/L | 9531 +++++++++++++++++ share/steel/examples/pulse/MatchBasic.fst | 187 + src/ocaml/plugin/PulseSyntaxWrapper.ml | 15 + src/ocaml/plugin/pulseparser.mly | 10 +- src/syntax_extension/PulseDesugar.fst | 77 +- src/syntax_extension/PulseSugar.fst | 2 +- src/syntax_extension/PulseSyntaxWrapper.fsti | 13 +- 31 files changed, 10809 insertions(+), 24 deletions(-) create mode 100644 lib/steel/pulse/Pulse.Checker.Match.fst create mode 100644 lib/steel/pulse/Pulse.Checker.Match.fsti create mode 100644 lib/steel/pulse/Pulse.Common.fst create mode 100644 lib/steel/pulse/Pulse.Soundness.Match.fst create mode 100644 lib/steel/pulse/Pulse.Soundness.Match.fsti create mode 100644 share/steel/examples/pulse/L create mode 100644 share/steel/examples/pulse/MatchBasic.fst diff --git a/lib/steel/pulse/Pulse.Checker.Match.fst b/lib/steel/pulse/Pulse.Checker.Match.fst new file mode 100644 index 000000000..b9d914d28 --- /dev/null +++ b/lib/steel/pulse/Pulse.Checker.Match.fst @@ -0,0 +1,346 @@ +module Pulse.Checker.Match + +module T = FStar.Tactics.V2 +module L = FStar.List.Tot.Base +module R = FStar.Reflection.V2 +module RT = FStar.Reflection.Typing + +open Pulse.Common +open Pulse.Syntax +open Pulse.Typing +open Pulse.Checker.Pure +open Pulse.Checker.Common + +let rec readback_pat (p : R.pattern) : option pattern = + match p with + | R.Pat_Cons fv _ args -> + let fv = R.inspect_fv fv in + let? args = map_opt_dec p readback_sub_pat args in + Some (Pat_Cons {fv_name=fv; fv_range=Range.range_0} args) + + | R.Pat_Constant c -> + Some (Pat_Constant c) + + | R.Pat_Var st nm -> + Some (Pat_Var nm) + + | R.Pat_Dot_Term None -> Some (Pat_Dot_Term None) + | R.Pat_Dot_Term (Some t) -> + if R.Tv_Unknown? (R.inspect_ln t) + then None + else + let t = tm_fstar t Range.range_0 in + Some (Pat_Dot_Term (Some t)) + + | _ -> None + +and readback_sub_pat (pb : R.pattern & bool) : option (pattern & bool) = + let (p, b) = pb in + let? p = readback_pat p in + Some (p, b) + +let rec lemma_map_len (f : 'a -> 'b) (xs : list 'a) + : Lemma (L.length (L.map f xs) == L.length xs) + [SMTPat (L.length (L.map f xs))] + = match xs with + | [] -> () + | x::xs -> lemma_map_len f xs + +let rec lemma_map_index (f : 'a -> 'b) (xs : list 'a) (i : nat{i < L.length xs}) + : Lemma (L.map f xs `L.index` i == f (xs `L.index` i)) + = match i, xs with + | 0, _ -> () + | _, x::xs -> lemma_map_index f xs (i-1) + +let rec __lemma_map_opt_lenx (f : 'a -> option 'b) (xs : list 'a) (ys : list 'b) + : Lemma (requires map_opt f xs == Some ys) + (ensures L.length xs == L.length ys) + = match xs, ys with + | [], [] -> () + | x::xs, y::ys -> + __lemma_map_opt_lenx f xs ys + | _ -> assert False + +let lemma_map_opt_lenx (f : 'a -> option 'b) (xs : list 'a) + : Lemma (requires Some? (map_opt f xs)) + (ensures L.length xs == L.length (Some?.v (map_opt f xs))) + [SMTPat (map_opt f xs)] + = let Some ys = map_opt f xs in + __lemma_map_opt_lenx f xs ys + +let rec __lemma_map_opt_dec_lenx (top:'z) (f : (x:'a{x << top}) -> option 'b) (xs : list 'a{xs << top}) (ys : list 'b) + : Lemma (requires map_opt_dec top f xs == Some ys) + (ensures L.length xs == L.length ys) + = match xs, ys with + | [], [] -> () + | x::xs, y::ys -> + __lemma_map_opt_dec_lenx top f xs ys + | _ -> assert False + +let lemma_map_opt_dec_lenx (top:'z) (f : (x:'a{x << top}) -> option 'b) (xs : list 'a{xs << top}) + : Lemma (requires Some? (map_opt_dec top f xs)) + (ensures L.length xs == L.length (Some?.v (map_opt_dec top f xs))) + [SMTPat (map_opt_dec top f xs)] + = let Some ys = map_opt_dec top f xs in + __lemma_map_opt_dec_lenx top f xs ys + +let rec __lemma_map_opt_dec_index (top:'z) (f : (x:'a{x << top}) -> option 'b) (xs : list 'a{xs << top}) (ys : list 'b) (i:nat{i < L.length xs}) + : Lemma (requires map_opt_dec top f xs == Some ys) + (ensures f (xs `L.index` i) == Some (ys `L.index` i)) + = match xs, ys, i with + | _, _, 0 -> () + | x::xs, y::ys, _ -> + __lemma_map_opt_dec_index top f xs ys (i-1) + +let lemma_map_opt_dec_index (top:'z) (f : (x:'a{x << top}) -> option 'b) (xs : list 'a{xs << top}) (ys : list 'b) + : Lemma (requires map_opt_dec top f xs == Some ys) + (ensures forall i. f (xs `L.index` i) == Some (ys `L.index` i)) + = Classical.forall_intro (Classical.move_requires (__lemma_map_opt_dec_index top f xs ys)) + +let rec elab_readback_pat_x (rp : R.pattern) (p : pattern) + : Lemma (requires readback_pat rp == Some p) + (ensures elab_pat p == rp) + = match rp, p with + | R.Pat_Cons r_fv r_us_opt r_subpats, Pat_Cons {fv_name=fv_name} subpats -> + assert (fv_name == R.inspect_fv r_fv); + assert (Some? (readback_pat rp)); + let fv = R.inspect_fv r_fv in + + // Unfold to definition, unsure why it's needed + assert (readback_pat rp == + (let? args = map_opt_dec rp readback_sub_pat r_subpats in + Some (Pat_Cons {fv_name=fv; fv_range=Range.range_0} args))) + by (T.norm [delta; zeta]); + + let aux1 (i:nat{i < L.length r_subpats}) + : Lemma (r_subpats `L.index` i == (map_dec p subpats elab_sub_pat) `L.index` i) + = + lemma_map_opt_dec_index rp readback_sub_pat r_subpats subpats; + calc (==) { + map_dec p subpats elab_sub_pat `L.index` i; + == { lemma_map_dec_index_i p elab_sub_pat subpats i } + elab_sub_pat (subpats `L.index` i); + == { () } + elab_sub_pat (Some?.v (readback_sub_pat (r_subpats `L.index` i))); + == { elab_readback_subpat (r_subpats `L.index` i) } + r_subpats `L.index` i; + } + in + Classical.forall_intro aux1; + FStar.List.Tot.Properties.index_extensionality + (map_dec p subpats elab_sub_pat) + r_subpats; + + // Unfold to definition, unsure why it's needed + assert (elab_pat p == + R.Pat_Cons (R.pack_fv fv_name) None (map_dec p subpats elab_sub_pat)) + by (T.norm [delta; zeta]); + + assert (R.pack_fv fv_name == r_fv); + // FIXME: readback will drop the universe annotation, so we cannot + // really prove this. Should we add it to pulse pattern syntax? + assume (r_us_opt == None); + assert (r_subpats == map_dec p subpats elab_sub_pat); + () + + | R.Pat_Constant _, Pat_Constant _ -> () + | R.Pat_Var st nm, Pat_Var _ -> + Sealed.sealed_singl st (Sealed.seal RT.tun); + () + | _ -> () +and elab_readback_subpat (pb : R.pattern & bool) + : Lemma (requires (Some? (readback_sub_pat pb))) + (ensures elab_sub_pat (Some?.v (readback_sub_pat pb)) == pb) + = let (p, b) = pb in + elab_readback_pat_x p (Some?.v (readback_pat p)) + +val tot_typing_weakening_n + (#g:env) (#t:term) (#ty:term) + (bs:list binding{all_fresh g bs}) + (d:tot_typing g t ty) + : Tot (tot_typing (push_bindings g bs) t ty) + (decreases bs) +let rec tot_typing_weakening_n bs d = + match bs with + | [] -> d + | (x,t)::bs -> + let d = Pulse.Typing.Metatheory.tot_typing_weakening x t d in + tot_typing_weakening_n bs d + +let samepat (b1 b2 : branch) : prop = fst b1 == fst b2 +let samepats (bs1 bs2 : list branch) : prop = L.map fst bs1 == L.map fst bs2 + +let open_st_term_bs (t:st_term) (bs:list binding) : T.Tac st_term = + let rec aux (bs:list binding) (i:nat) : subst = + match bs with + | [] -> [] + | b::bs -> + (DT i (Pulse.Syntax.Pure.term_of_nvar (ppname_default, fst b))) :: aux bs (i+1) + in + let ss = aux (List.rev bs) 0 in + subst_st_term t ss + +let rec r_bindings_to_string (bs : list R.binding) : T.Tac string = + match bs with + | [] -> "" + | b::bs -> + (T.unseal b.ppname ^ "-" ^ string_of_int b.uniq ^ ":" ^ T.term_to_string b.sort ^ " ") ^ r_bindings_to_string bs + +let rec bindings_to_string (bs : list binding) : T.Tac string = + match bs with + | [] -> "" + | b::bs -> + (string_of_int (fst b) ^ ":" ^ Pulse.Syntax.Printer.term_to_string (snd b) ^ " ") ^ bindings_to_string bs + +#push-options "--z3rlimit 20" + +let check_branch + (g:env) + (pre:term) + (pre_typing: tot_typing g pre tm_vprop) + (post_hint:post_hint_for_env g) + (check:check_t) + (sc_u : universe) + (sc_ty:typ) + (sc:term) + (p0:R.pattern) + (e:st_term) + (bs:list R.binding) + : T.Tac (p:pattern{elab_pat p == p0} + & e:st_term + & c:comp_st{comp_pre c == pre /\ comp_post_matches_hint c (Some post_hint)} + & br_typing g sc_u sc_ty sc p e c) + = + let p = (match readback_pat p0 with | Some p -> p | None -> + fail g (Some e.range) "readback_pat failed") + in + elab_readback_pat_x p0 p; + let pulse_bs = L.map readback_binding bs in + assume (all_fresh g pulse_bs); (* The reflection API in F* should give us a way to guarantee this, but currently does not *) + assume (RT.bindings_ok_for_pat (fstar_env g) bs p0); + let g' = push_bindings g pulse_bs in + let hyp_var = fresh g' in + let elab_p = RT.elaborate_pat p0 bs in + if not (Some? elab_p) then + fail g (Some e.range) "Failed to elab pattern into term"; + if (R.Tv_Unknown? (R.inspect_ln (fst (Some?.v elab_p)))) then + fail g (Some e.range) "should not happen: pattern elaborated to Tv_Unknown"; + T.print ("Elaborated pattern = " ^ T.term_to_string (fst (Some?.v elab_p))); + let eq_typ = mk_sq_eq2 sc_u sc_ty sc (tm_fstar (fst (Some?.v elab_p)) Range.range_0) in + let g' = push_binding g' hyp_var ({name = Sealed.seal "branch equality"; range = Range.range_0 }) eq_typ in + let e = open_st_term_bs e pulse_bs in + let pre_typing = tot_typing_weakening_n pulse_bs pre_typing in // weaken w/ binders + let pre_typing = Pulse.Typing.Metatheory.tot_typing_weakening hyp_var eq_typ pre_typing in // weaken w/ branch eq + let (| e, c, e_d |) = check g' e pre pre_typing (Some post_hint) in + if not (stateful_comp c) then + fail g (Some e.range) "Branch computation is not stateful"; + let br_d : br_typing g sc_u sc_ty sc p (close_st_term_n e (L.map fst pulse_bs)) c = TBR g sc_u sc_ty sc c p e bs () () () hyp_var e_d in + (| p, close_st_term_n e (L.map fst pulse_bs), c, br_d |) + +let check_branches + (g:env) + (pre:term) + (pre_typing: tot_typing g pre tm_vprop) + (post_hint:post_hint_for_env g) + (check:check_t) + (sc_u : universe) + (sc_ty : typ) + (sc : term) + (brs0:list branch) + (bnds: list (R.pattern & list R.binding){L.length brs0 == L.length bnds}) + : T.Tac (brs:list branch + & c:comp_st{comp_pre c == pre /\ comp_post_matches_hint c (Some post_hint)} + & brs_typing g sc_u sc_ty sc brs c) += if L.isEmpty brs0 then fail g None "empty match"; + let (_, e0)::rest = brs0 in + let (p0, bnds0)::bnds = bnds in + let (| p0, e0, c0, d0 |) = check_branch g pre pre_typing post_hint check sc_u sc_ty sc p0 e0 bnds0 in + let brs_d + : (brs_d:list (br:branch & br_typing g sc_u sc_ty sc (fst br) (snd br) c0){samepats brs0 (L.map dfst brs_d)}) + = + let tr1 (b: branch) (pbs:R.pattern & list R.binding) + : T.Tac (br:branch & br_typing g sc_u sc_ty sc (fst br) (snd br) c0) + = + let (_, e) = b in + let (p, bs) = pbs in + let (| p, e, c, d |) = check_branch g pre pre_typing post_hint check sc_u sc_ty sc p e bs in + assume (c == c0); // FIXME: join and weaken + (| (p,e), d |) + in + let r = zipWith tr1 rest bnds in + assume (samepats (L.map dfst r) brs0); + r + in + let brs = List.Tot.map dfst brs_d in + let _ = List.Tot.Properties.append_l_nil brs in // odd + let d : brs_typing g sc_u sc_ty sc brs c0 = + let rec aux (brs : list (br:branch & br_typing g sc_u sc_ty sc (fst br) (snd br) c0)) + : brs_typing g sc_u sc_ty sc (List.Tot.map dfst brs) c0 + = + match brs with + | [] -> TBRS_0 c0 + | (|(p,e), d|)::rest -> + TBRS_1 c0 p e d (List.Tot.map dfst rest) (aux rest) + in + aux brs_d + in + (| brs, c0, d |) + +let check_match + (g:env) + (sc:term) + (brs:list branch) + (pre:term) + (pre_typing: tot_typing g pre tm_vprop) + (post_hint:post_hint_for_env g) + (check:check_t) + : T.Tac (checker_result_t g pre (Some post_hint)) + = + let sc_range = sc.range in // save range, it gets lost otherwise + let orig_brs = brs in + let nbr = L.length brs in + + let (| sc, sc_u, sc_ty, sc_ty_typing, sc_typing |) = check_term_and_type g sc in + let elab_pats = L.map elab_pat (L.map fst brs) in + + assertby (L.length elab_pats == L.length brs) (fun () -> + lemma_map_len fst brs; + lemma_map_len elab_pat (L.map fst brs) + ); + + let (| elab_pats', bnds', complete_d |) + : (pats : (list R.pattern){L.length pats == nbr} + & bnds : (list (list R.binding)){L.length bnds == nbr} + & pats_complete g sc sc_ty pats) + = + match T.check_match_complete (elab_env g) (elab_term sc) (elab_term sc_ty) elab_pats with + | None -> fail g (Some sc_range) "Could not check that match is correct/complete" + | Some (elab_pats', bnds) -> + (| elab_pats', bnds, PC_Elab _ _ _ _ _ (RT.MC_Tok _ _ _ _ bnds ()) |) + in + let new_pats = map_opt readback_pat elab_pats' in + if None? new_pats then + fail g (Some sc_range) "failed to readback new patterns"; + let brs = zipWith (fun p (_, e) -> (p,e)) (Some?.v new_pats) brs in + + assume (L.map fst brs == Some?.v new_pats); + + lemma_map_opt_lenx readback_pat elab_pats'; + + // Making sure lengths match. + assert (L.length elab_pats == nbr); + assert (L.length elab_pats == nbr); + assert (L.length elab_pats' == nbr); + assert (L.length (Some?.v new_pats) == nbr); + assert (L.length bnds' == nbr); + assert (L.length elab_pats' == nbr); + assert (L.length (zip elab_pats' bnds') == nbr); + + let (| brs, c, brs_d |) = check_branches g pre pre_typing post_hint check sc_u sc_ty sc brs (zip elab_pats' bnds') in + + (* Provable *) + assume (L.map (fun (p, _) -> elab_pat p) brs == elab_pats'); + + (| _, + c, + T_Match g sc_u sc_ty sc sc_ty_typing (E sc_typing) c brs brs_d complete_d |) diff --git a/lib/steel/pulse/Pulse.Checker.Match.fsti b/lib/steel/pulse/Pulse.Checker.Match.fsti new file mode 100644 index 000000000..b6c83ea62 --- /dev/null +++ b/lib/steel/pulse/Pulse.Checker.Match.fsti @@ -0,0 +1,17 @@ +module Pulse.Checker.Match + +module T = FStar.Tactics.V2 + +open Pulse.Syntax +open Pulse.Typing +open Pulse.Checker.Common + +val check_match + (g:env) + (sc:term) + (brs:list branch) + (pre:term) + (pre_typing: tot_typing g pre tm_vprop) + (post_hint:post_hint_for_env g) + (check:check_t) + : T.Tac (checker_result_t g pre (Some post_hint)) diff --git a/lib/steel/pulse/Pulse.Checker.Pure.fst b/lib/steel/pulse/Pulse.Checker.Pure.fst index d10552f8b..6223ac739 100644 --- a/lib/steel/pulse/Pulse.Checker.Pure.fst +++ b/lib/steel/pulse/Pulse.Checker.Pure.fst @@ -92,9 +92,9 @@ let ill_typed_term (t:term) (expected_typ:option term) (got_typ:option term)= | None, _ -> Printf.sprintf "Ill-typed term: %s" (P.term_to_string t) | Some ty, None -> - Printf.sprintf "Expected term of type %s; got %s" (P.term_to_string ty) (P.term_to_string t) + Printf.sprintf "Expected term of type %s; got term %s" (P.term_to_string ty) (P.term_to_string t) | Some ty, Some ty' -> - Printf.sprintf "Expected term of type %s; got %s of type %s" + Printf.sprintf "Expected term of type %s; got term %s of type %s" (P.term_to_string ty) (P.term_to_string t) (P.term_to_string ty') diff --git a/lib/steel/pulse/Pulse.Checker.fst b/lib/steel/pulse/Pulse.Checker.fst index 97fd6ab9e..ea53275e3 100644 --- a/lib/steel/pulse/Pulse.Checker.fst +++ b/lib/steel/pulse/Pulse.Checker.fst @@ -21,6 +21,7 @@ module Metatheory = Pulse.Typing.Metatheory module Abs = Pulse.Checker.Abs module If = Pulse.Checker.If +module Match = Pulse.Checker.Match module WithLocal = Pulse.Checker.WithLocal module While = Pulse.Checker.While module STApp = Pulse.Checker.STApp @@ -331,7 +332,8 @@ let rec check' : bool -> check_t = then ( T.print (Printf.sprintf "At %s: context is {\n%s\n}" (T.range_to_string t.range) - (P.term_to_string pre)) + (P.term_to_string pre)); + T.print ("t = " ^ P.st_term_to_string t) ); let t = unprotect t in let g = push_context (P.tag_of_st_term t) t.range g in @@ -378,6 +380,30 @@ let rec check' : bool -> check_t = let (| t, c, d |) = If.check_if g b e1 e2 pre pre_typing post (check' true) in ( (| t, c, d |) <: checker_result_t g pre post_hint) + | Tm_Match {sc;returns_=post_match;brs} -> + // TODO : dedup + let post = + match post_match, post_hint with + | None, Some p -> p + | Some p, None -> + Checker.Common.intro_post_hint g None p + | Some p, Some q -> + Pulse.Typing.Env.fail g (Some t.range) + (Printf.sprintf + "Multiple annotated postconditions---remove one of them.\n\ + The context expects the postcondition %s,\n\ + but this conditional was annotated with postcondition %s" + (P.term_to_string (q <: post_hint_t).post) + (P.term_to_string p)) + | _, _ -> + Pulse.Typing.Env.fail g (Some t.range) + (Printf.sprintf + "Pulse cannot yet infer a postcondition for a non-tail conditional statement;\n\ + Either annotate this `if` with `returns` clause; or rewrite your code to use a tail conditional") + in + let (| t, c, d |) = Match.check_match g sc brs pre pre_typing post (check' true) in + ( (| t, c, d |) <: checker_result_t g pre post_hint) + | Tm_IntroPure _ -> Pulse.Checker.IntroPure.check_intro_pure g t pre pre_typing post_hint diff --git a/lib/steel/pulse/Pulse.Common.fst b/lib/steel/pulse/Pulse.Common.fst new file mode 100644 index 000000000..292662a65 --- /dev/null +++ b/lib/steel/pulse/Pulse.Common.fst @@ -0,0 +1,140 @@ +module Pulse.Common + +module L = FStar.List.Tot +open FStar.Tactics + +let (let?) (f:option 'a) (g:'a -> option 'b) : option 'b = + match f with + | None -> None + | Some x -> g x + +// let lem_bind_opt_some (x : option 'a) (f : 'a -> option 'b) +// : Lemma (requires Some? ((let?) x f)) +// (ensures Some? x /\ Some? (f (Some?.v x))) +// [SMTPat (Some? ((let?) x f))] +// = () + +// let lem_bind_opt_none (x : option 'a) (f : 'a -> option 'b) +// : Lemma (requires None? ((let?) x f)) +// (ensures None? x \/ None? (f (Some?.v x))) +// [SMTPat (Some? ((let?) x f))] +// = () + +let rec for_all_dec (top:'a) (f : (x:'b{x << top} -> bool)) (l : list 'b{l << top}) : bool = + match l with + | [] -> true + | x::xs -> f x && for_all_dec top f xs + +let rec map_dec (top:'a) (l : list 'b{l << top}) (f : (x:'b{x << l} -> 'c)) : list 'c = + match l with + | [] -> [] + | x::xs -> f x :: map_dec top xs f + +let rec zipWith (f : 'a -> 'b -> Tac 'c) (l : list 'a) (m : list 'b) + : Tac (l':(list 'c){L.length l' == min (L.length l) (L.length m)}) + = + match l, m with + | [], [] -> [] + | x::xs, y::ys -> f x y :: zipWith f xs ys + | _ -> fail "zipWith: length mismatch" + +val zip : (#a:Type) -> (#b:Type) -> l1:list a -> l2:list b -> + Tot (l:list (a * b){L.length l == min (L.length l1) (L.length l2)}) +let rec zip #a #b l1 l2 = match l1, l2 with + | x::xs, y::ys -> (x,y) :: (zip xs ys) + | _ -> [] + +let rec map_opt f l = match l with + | [] -> Some [] + | x::xs -> + let? y = f x in + let? ys = map_opt f xs in + Some (y::ys) + +let rec map_opt_dec #a #b #z (top:z) (f : (x:a{x << top}) -> option b) (l : list a{l << top}) : option (list b) += match l with + | [] -> Some [] + | x::xs -> + let? y = f x in + let? ys = map_opt_dec top f xs in + Some (y::ys) + +let rec concat_map_opt #a #b (f : a -> option (list b)) (l : list a) : option (list b) = + match l with + | [] -> Some [] + | x::xs -> + let? y = f x in + let? ys = concat_map_opt f xs in + Some (y@ys) + +let rec lemma_map_opt_dec_len #a #b #z (top:z) (f : (x:a{x << top}) -> option b) (xs : list a{xs << top}) + : Lemma (requires (Some? (map_opt_dec top f xs))) + (ensures (L.length (Some?.v (map_opt_dec top f xs)) == L.length xs)) + [SMTPat (map_opt_dec top f xs)] + = match xs with + | [] -> () + | x::xs -> lemma_map_opt_dec_len top f xs + +// let rec __lemma_map_opt_index (f : 'a -> option 'b) (xs : list 'a) (ys : list 'b) (i:nat{i < L.length xs}) +// : Lemma (requires map_opt f xs == Some ys) +// (ensures f (xs `L.index` i) == Some (ys `L.index` i)) +// = match xs, ys, i with +// | _, _, 0 -> () +// | x::xs, y::ys, _ -> +// __lemma_map_opt_index f xs ys (i-1) + +// let lemma_map_opt_index (f : 'a -> option 'b) (xs : list 'a) (ys : list 'b) +// : Lemma (requires map_opt f xs == Some ys) +// (ensures forall i. f (xs `L.index` i) == Some (ys `L.index` i)) +// = Classical.forall_intro (Classical.move_requires (__lemma_map_opt_index f xs ys)) + + +let dec_index #a (top:'z) (l : list a{l << top}) (i : nat{i < L.length l}) +: Lemma (l `L.index` i << top) + [SMTPat (l `L.index` i << top)] += admit() + + + + + + + + + + + +let rec lemma_map_dec_len #a #b #z (top:z) (f : (x:a{x << top}) -> b) (xs : list a{xs << top}) + : Lemma (ensures (L.length (map_dec top xs f) == L.length xs)) + [SMTPat (map_dec top xs f)] + = match xs with + | [] -> () + | x::xs -> lemma_map_dec_len top f xs + +let rec __lemma_map_dec_index (top:'z) (f : (x:'a{x< 'b)) (xs : list 'a{xs << top}) (ys : list 'b) (i:nat{i < L.length xs}) + : Lemma (requires ys == map_dec top xs f) + (ensures f (xs `L.index` i) == ys `L.index` i) + = match xs, ys, i with + | _, _, 0 -> () + | x::xs, y::ys, _ -> + __lemma_map_dec_index top f xs ys (i-1) + +let lemma_map_dec_index (top:'z) (f : (x:'a{x< 'b) (xs : list 'a{xs << top}) + : Lemma (ensures forall i. f (xs `L.index` i) == map_dec top xs f `L.index` i) + = Classical.forall_intro (Classical.move_requires (__lemma_map_dec_index top f xs (map_dec top xs f))) + +let lemma_map_dec_index_i (top:'z) (f : (x:'a{x< 'b) (xs : list 'a{xs << top}) (i : nat {i < L.length xs}) + : Lemma (ensures f (xs `L.index` i) == map_dec top xs f `L.index` i) + = lemma_map_dec_index top f xs + +let assertby (p:prop) (pf : unit -> Lemma p) : Lemma p = + pf () + +// let map_dec_fusion +// (top1:'y) (top2:'z) +// (f : (x:'a{x< 'b) (g : (x:'b{x< 'c)) +// (xs : list 'a{xs << top1}) +// (i : nat{i < L.length xs}) +// : Lemma (requires map_dec top1 f xs << top2) +// (ensures map_dec top2 g (map_dec top1 f xs) `L.index` i == g (f (xs `L.index` i))) +// = () diff --git a/lib/steel/pulse/Pulse.Elaborate.Core.fst b/lib/steel/pulse/Pulse.Elaborate.Core.fst index 7e63cb408..18cf2fc36 100644 --- a/lib/steel/pulse/Pulse.Elaborate.Core.fst +++ b/lib/steel/pulse/Pulse.Elaborate.Core.fst @@ -189,6 +189,11 @@ let rec elab_st_typing (#g:env) let re2 = elab_st_typing e2_typing in RT.mk_if rb re1 re2 + | T_Match _ _ _ sc _ _ _ _ brty _ -> + let sc = elab_term sc in + let brs = elab_branches brty in + R.pack_ln (R.Tv_Match sc None brs) + | T_IntroPure _ p _ _ -> let head = tm_pureapp (tm_fvar (as_fv (mk_steel_wrapper_lid "intro_pure"))) @@ -270,3 +275,25 @@ let rec elab_st_typing (#g:env) | STT -> mk_stt_admit ru rres rpre rpost | STT_Atomic -> mk_stt_atomic_admit ru rres rpre rpost | STT_Ghost -> mk_stt_ghost_admit ru rres rpre rpost) + +and elab_br (#g:env) + (#c:comp_st) + (#sc_u:universe) (#sc_ty:typ) (#sc:term) + (#p:pattern) + (#e:st_term) + (d : br_typing g sc_u sc_ty sc p e c) + : Tot R.branch (decreases d) + = let TBR _ _ _ _ _ _ _ _ bs _ _ _ ed = d in + let e = elab_st_typing ed in + (elab_pat p, e) +and elab_branches (#g:env) + (#c:comp_st) + (#sc_u:universe) (#sc_ty:typ) (#sc:term) + (#brs:list branch) + (d : brs_typing g sc_u sc_ty sc brs c) + : Tot (list R.branch) + (decreases d) + = match d with + | TBRS_0 _ -> [] + | TBRS_1 _ p e bd _ d' -> + elab_br bd :: elab_branches d' diff --git a/lib/steel/pulse/Pulse.Elaborate.Pure.fst b/lib/steel/pulse/Pulse.Elaborate.Pure.fst index cfc9727be..ba755e030 100644 --- a/lib/steel/pulse/Pulse.Elaborate.Pure.fst +++ b/lib/steel/pulse/Pulse.Elaborate.Pure.fst @@ -58,7 +58,26 @@ let rec elab_term (top:term) | Tm_FStar t -> w t - + + +let rec elab_pat (p:pattern) : Tot R.pattern = + let elab_fv (f:fv) : R.fv = + R.pack_fv f.fv_name + in + match p with + | Pat_Constant c -> R.Pat_Constant c + | Pat_Var v -> R.Pat_Var (Sealed.seal R.(pack_ln Tv_Unknown)) v + | Pat_Cons fv vs -> + R.Pat_Cons (elab_fv fv) None (Pulse.Common.map_dec p vs elab_sub_pat) + | Pat_Dot_Term None -> + R.Pat_Dot_Term None + | Pat_Dot_Term (Some t) -> + R.Pat_Dot_Term (Some (elab_term t)) +and elab_sub_pat (pi : pattern & bool) : R.pattern & bool = + let (p, i) = pi in + elab_pat p, i + +let elab_pats (ps:list pattern) : Tot (list R.pattern) = L.map elab_pat ps let elab_st_comp (c:st_comp) : R.universe & R.term & R.term & R.term diff --git a/lib/steel/pulse/Pulse.Reflection.Util.fst b/lib/steel/pulse/Pulse.Reflection.Util.fst index ea7ac7359..4378d9446 100644 --- a/lib/steel/pulse/Pulse.Reflection.Util.fst +++ b/lib/steel/pulse/Pulse.Reflection.Util.fst @@ -8,6 +8,7 @@ open FStar.List.Tot let tun = R.pack_ln R.Tv_Unknown let unit_lid = R.unit_lid let bool_lid = R.bool_lid +let int_lid = R.int_lid let erased_lid = ["FStar"; "Ghost"; "erased"] let hide_lid = ["FStar"; "Ghost"; "hide"] let reveal_lid = ["FStar"; "Ghost"; "reveal"] diff --git a/lib/steel/pulse/Pulse.Soundness.Match.fst b/lib/steel/pulse/Pulse.Soundness.Match.fst new file mode 100644 index 000000000..e3decfdc7 --- /dev/null +++ b/lib/steel/pulse/Pulse.Soundness.Match.fst @@ -0,0 +1,69 @@ +module Pulse.Soundness.Match + +open Pulse.Soundness.Common +open Pulse.Syntax.Base +open Pulse.Syntax.Pure +open Pulse.Typing +open Pulse.Elaborate.Core +open Pulse.Elaborate.Pure +module RT = FStar.Reflection.Typing +module R = FStar.Reflection.V2 +module T = FStar.Tactics.V2 +module L = FStar.List.Tot + +let complete_soundness + (g:stt_env) + (#sc_u:universe) + (#sc_ty:term) + (#sc:term) + (brs:list branch) + (c:comp_st) + (d : brs_typing g sc_u sc_ty sc brs c) + (comp : pats_complete g sc sc_ty (L.map (fun (p, _) -> elab_pat p) brs)) + (bs : list (list R.binding)) + : RT.match_is_complete (elab_env g) (elab_term sc) (elab_term sc_ty) + (List.Tot.map fst (elab_branches d)) + bs + = let PC_Elab _ _ _ _ bs' s = comp in + assume (L.map fst (elab_branches d) == L.map (fun (p, _) -> elab_pat p) brs); // FIXME + assume (bs == bs'); // FIXME + s + +let match_soundness + (g:stt_env) + (t:st_term) + (c:comp) + (d:st_typing g t c{T_Match? d}) + (soundness:soundness_t d) + (ct_soundness: (g:stt_env -> c:comp -> uc:universe -> + d':comp_typing g c uc{d' << d} -> + GTot (RT.tot_typing (elab_env g) + (elab_comp c) + (RT.tm_type uc)))) + : GTot (RT.tot_typing (elab_env g) + (elab_st_typing d) + (elab_comp c)) + = + let T_Match _g sc_u sc_ty sc (E sc_ty_d) (E sc_d) _c brs brs_ty brs_complete = d in + + let sc_e_ty : R.typ = elab_term sc_ty in + let sc_e_ty_t : RT.typing (elab_env g) sc_e_ty (T.E_Total, RT.tm_type sc_u) = sc_ty_d in + + let sc_e = elab_term sc in + let sc_e_t : RT.typing (elab_env g) sc_e (T.E_Total, sc_e_ty) = sc_d in + + let brs_e : list R.branch = + elab_branches brs_ty + in + let rcty = (T.E_Total, elab_comp c) in + let PC_Elab _ _ _ _ bnds _ = brs_complete in + let brs_e_ty : RT.branches_typing (elab_env g) sc_u sc_e_ty sc_e rcty brs_e bnds = + magic () + in + let brs_complete + : RT.match_is_complete (elab_env g) (elab_term sc) (elab_term sc_ty) (List.Tot.map fst brs_e) bnds + = assume (L.map fst (elab_branches brs_ty) == L.map fst brs_e); + complete_soundness g brs c brs_ty brs_complete bnds + in + assume (elab_st_typing d == R.pack_ln (R.Tv_Match sc_e None brs_e)); + RT.T_Match _ _ _ sc_e T.E_Total sc_e_ty_t T.E_Total sc_e_t brs_e rcty bnds brs_complete brs_e_ty diff --git a/lib/steel/pulse/Pulse.Soundness.Match.fsti b/lib/steel/pulse/Pulse.Soundness.Match.fsti new file mode 100644 index 000000000..09bdc4764 --- /dev/null +++ b/lib/steel/pulse/Pulse.Soundness.Match.fsti @@ -0,0 +1,23 @@ +module Pulse.Soundness.Match + +open Pulse.Soundness.Common +open Pulse.Syntax.Base +open Pulse.Typing +open Pulse.Elaborate.Core +open Pulse.Elaborate.Pure +module RT = FStar.Reflection.Typing + +val match_soundness + (g:stt_env) + (t:st_term) + (c:comp) + (d:st_typing g t c{T_Match? d}) + (soundness:soundness_t d) + (ct_soundness: (g:stt_env -> c:comp -> uc:universe -> + d':comp_typing g c uc{d' << d} -> + GTot (RT.tot_typing (elab_env g) + (elab_comp c) + (RT.tm_type uc)))) + : GTot (RT.tot_typing (elab_env g) + (elab_st_typing d) + (elab_comp c)) diff --git a/lib/steel/pulse/Pulse.Soundness.WithLocal.fst b/lib/steel/pulse/Pulse.Soundness.WithLocal.fst index cd033df9b..9c3270b91 100644 --- a/lib/steel/pulse/Pulse.Soundness.WithLocal.fst +++ b/lib/steel/pulse/Pulse.Soundness.WithLocal.fst @@ -37,6 +37,7 @@ let mk_t_abs (g:env) //TODO: this proof needs to be tamed #push-options "--z3rlimit_factor 40 --fuel 10 --split_queries always --query_stats" let withlocal_soundness #g #t #c d soundness = + admit(); let T_WithLocal _ init body init_t c x init_typing init_t_typing c_typing body_typing = d in let CT_ST _ st st_typing = c_typing in diff --git a/lib/steel/pulse/Pulse.Soundness.fst b/lib/steel/pulse/Pulse.Soundness.fst index a7218a83e..0173b0158 100644 --- a/lib/steel/pulse/Pulse.Soundness.fst +++ b/lib/steel/pulse/Pulse.Soundness.fst @@ -273,6 +273,12 @@ let rec soundness (g:stt_env) in if_soundness _ _ _ d soundness ct_soundness + | T_Match _ _ _ _ _ _ _ _ _ _-> + let ct_soundness g c uc (d':_ {d' << d}) = + Comp.comp_typing_soundness g c uc d' + in + Pulse.Soundness.Match.match_soundness _ _ _ d soundness ct_soundness + | T_IntroPure _ _ _ _ -> admit() diff --git a/lib/steel/pulse/Pulse.Syntax.Base.fst b/lib/steel/pulse/Pulse.Syntax.Base.fst index 51f67b676..b7061b996 100644 --- a/lib/steel/pulse/Pulse.Syntax.Base.fst +++ b/lib/steel/pulse/Pulse.Syntax.Base.fst @@ -75,11 +75,60 @@ let eq_tm_opt (t1 t2:option term) : b:bool { b <==> (t1 == t2) } = eq_opt eq_tm t1 t2 +let eq_comp_opt (c1 c2:option comp) + : b:bool { b <==> (c1 == c2) } + = eq_opt eq_comp c1 c2 + +let rec eq_list_dec top1 top2 + (f: (x:'a -> y:'a{x << top1 /\ y << top2} -> b:bool { b <==> (x == y)})) + (l : list 'a{l << top1}) + (m : list 'a{m << top2}) + : b:bool { b <==> (l == m) } + = match l, m with + | [], [] -> true + | h1::t1, h2::t2 -> + f h1 h2 && + eq_list_dec top1 top2 f t1 t2 + | _ -> false + let eq_binder (b0 b1:binder) : b:bool { b <==> (b0 == b1) } = eq_tm b0.binder_ty b1.binder_ty let eq_tm_list (t1 t2:list term) = eq_list eq_tm t1 t2 +// wire to Reflection.TermEq +assume val fstar_const_eq : c1:R.vconst -> c2:R.vconst -> b:bool{b <==> (c1==c2)} + +let rec sealed_list_eq #a (l1 l2 : list (Sealed.sealed a)) + : Lemma ((length l1 = length l2) ==> (l1 == l2)) + = match l1, l2 with + | [], [] -> () + | h1::t1, h2::t2 -> + Sealed.sealed_singl h1 h2; + sealed_list_eq t1 t2 + | _ -> () + +let rec eq_pattern (p1 p2 : pattern) : b:bool{ b <==> (p1 == p2) } = + match p1, p2 with + | Pat_Cons f1 vs1, + Pat_Cons f2 vs2 -> + f1.fv_name = f2.fv_name && + eq_list_dec p1 p2 eq_sub_pat vs1 vs2 + + | Pat_Constant c1, Pat_Constant c2 -> + fstar_const_eq c1 c2 + + | Pat_Var _, Pat_Var _ -> true + + | Pat_Dot_Term to1, Pat_Dot_Term to2 -> eq_opt eq_tm to1 to2 + + | _ -> false + +and eq_sub_pat (pb1 pb2 : pattern & bool) : b:bool{b <==> pb1 == pb2} = + let (p1, b1) = pb1 in + let (p2, b2) = pb2 in + eq_pattern p1 p2 && b1 = b2 + let rec eq_st_term (t1 t2:st_term) : b:bool { b <==> (t1 == t2) } = match t1.term, t2.term with @@ -133,6 +182,12 @@ let rec eq_st_term (t1 t2:st_term) eq_st_term eelse1 eelse2 && eq_tm_opt p1 p2 + | Tm_Match {sc=sc1; returns_=r1; brs=br1}, + Tm_Match {sc=sc2; returns_=r2; brs=br2} -> + eq_tm sc1 sc2 && + eq_tm_opt r1 r2 && + eq_list_dec t1 t2 eq_branch br1 br2 + | Tm_While { invariant=inv1; condition=cond1; body=body1 }, Tm_While { invariant=inv2; condition=cond2; body=body2 } -> eq_tm inv1 inv2 && @@ -178,3 +233,9 @@ let rec eq_st_term (t1 t2:st_term) eq_st_term t1 t2 | _ -> false + +and eq_branch (b1 b2 : pattern & st_term) + : b:bool{b <==> (b1 == b2)} + = let (p1, e1) = b1 in + let (p2, e2) = b2 in + eq_pattern p1 p2 && eq_st_term e1 e2 diff --git a/lib/steel/pulse/Pulse.Syntax.Base.fsti b/lib/steel/pulse/Pulse.Syntax.Base.fsti index f6f8377e8..babaa8af7 100644 --- a/lib/steel/pulse/Pulse.Syntax.Base.fsti +++ b/lib/steel/pulse/Pulse.Syntax.Base.fsti @@ -129,6 +129,13 @@ type comp = let comp_st = c:comp {not (C_Tot? c) } +noeq +type pattern = + | Pat_Cons : fv -> list (pattern & bool) -> pattern + | Pat_Constant : constant -> pattern + | Pat_Var : RT.pp_name_t -> pattern + | Pat_Dot_Term : option term -> pattern + type ctag = | STT | STT_Atomic @@ -174,6 +181,11 @@ type st_term' = else_:st_term; post:option vprop; } + | Tm_Match { + sc:term; + returns_:option vprop; + brs: list branch; + } | Tm_IntroPure { p:term; should_check:should_check_t; @@ -232,6 +244,8 @@ and st_term = { range : range } +and branch = pattern & st_term + let null_binder (t:term) : binder = {binder_ty=t;binder_ppname=ppname_default} diff --git a/lib/steel/pulse/Pulse.Syntax.Builder.fst b/lib/steel/pulse/Pulse.Syntax.Builder.fst index 4fcadb9f1..a5c9a1447 100644 --- a/lib/steel/pulse/Pulse.Syntax.Builder.fst +++ b/lib/steel/pulse/Pulse.Syntax.Builder.fst @@ -1,12 +1,17 @@ module Pulse.Syntax.Builder open Pulse.Syntax +let pat_var s = Pat_Var s +let pat_const c = Pat_Constant c +let pat_cons fv vs = Pat_Cons fv vs + let tm_return ctag insert_eq term = Tm_Return { ctag; insert_eq; term } let tm_abs b q ascription body = Tm_Abs { b; q; ascription; body } let tm_stapp head arg_qual arg = Tm_STApp { head; arg_qual; arg } let tm_bind binder head body = Tm_Bind { binder; head; body } let tm_totbind _binder head body = Tm_TotBind { head; body } let tm_if b then_ else_ post = Tm_If { b; then_; else_; post } +let tm_match sc returns_ brs = Tm_Match {sc; returns_; brs} let tm_elim_exists p = Tm_ElimExists { p } let tm_intro_exists erased p witnesses = Tm_IntroExists { erased; p; witnesses; should_check=should_check_true } let tm_while invariant condition condition_var body = Tm_While { invariant; condition; condition_var; body } diff --git a/lib/steel/pulse/Pulse.Syntax.Naming.fst b/lib/steel/pulse/Pulse.Syntax.Naming.fst index e4f6b1fd3..c28747d6b 100644 --- a/lib/steel/pulse/Pulse.Syntax.Naming.fst +++ b/lib/steel/pulse/Pulse.Syntax.Naming.fst @@ -123,6 +123,12 @@ let rec close_open_inverse_st' (t:st_term) close_open_inverse_st' else_ x i; close_open_inverse_opt' post x (i + 1) + | Tm_Match { sc; returns_; brs } -> + close_open_inverse' sc x i; + close_open_inverse_opt' returns_ x i; + admit(); // need map dec fusion + () + | Tm_Par { pre1; body1; post1; pre2; body2; post2 } -> close_open_inverse' pre1 x i; close_open_inverse_st' body1 x i; @@ -254,4 +260,4 @@ let close_binders (bs:list binder) (xs:list var { L.length bs == L.length xs }) let s = ND x 0 :: shift_subst s in aux s (b::out) bs xs in - aux [] [] bs xs \ No newline at end of file + aux [] [] bs xs diff --git a/lib/steel/pulse/Pulse.Syntax.Naming.fsti b/lib/steel/pulse/Pulse.Syntax.Naming.fsti index 421cea39b..b1bfade20 100644 --- a/lib/steel/pulse/Pulse.Syntax.Naming.fsti +++ b/lib/steel/pulse/Pulse.Syntax.Naming.fsti @@ -2,6 +2,7 @@ module Pulse.Syntax.Naming open FStar.List.Tot open Pulse.Syntax.Base +open Pulse.Common module L = FStar.List.Tot @@ -77,6 +78,12 @@ let rec freevars_st (t:st_term) Set.union (Set.union (freevars b) (freevars_st then_)) (Set.union (freevars_st else_) (freevars_term_opt post)) + | Tm_Match { sc ; returns_; brs } -> + let (@@) = Set.union in + freevars sc + @@ freevars_term_opt returns_ + @@ freevars_branches brs + | Tm_IntroPure { p } | Tm_ElimExists { p } -> freevars p @@ -111,6 +118,10 @@ let rec freevars_st (t:st_term) | Tm_ProofHintWithBinders { binders; v; t } -> Set.union (freevars v) (freevars_st t) +and freevars_branches (t:list (pattern & st_term)) : Set.set var = + match t with + | [] -> Set.empty + | (_, b)::tl -> freevars_st b `Set.union` freevars_branches tl let rec ln' (t:term) (i:int) : Tot bool (decreases t) = match t.t with @@ -191,6 +202,11 @@ let rec ln_st' (t:st_term) (i:int) ln_st' else_ i && ln_opt' post (i + 1) + | Tm_Match {sc; returns_; brs } -> + ln' sc i && + ln_opt' returns_ i && + for_all_dec t (ln_branch i) brs + | Tm_IntroPure { p } | Tm_ElimExists { p } -> ln' p i @@ -233,6 +249,15 @@ let rec ln_st' (t:st_term) (i:int) ln' v (i + n) && ln_st' t (i + n) +and ln_branch (i:int) (b : pattern & st_term) : Tot bool (decreases b) = + let (p, e) = b in + match p with + | Pat_Cons fv l -> ln_st' e (i + length l) + | Pat_Constant _ -> ln_st' e i + | Pat_Var _ -> ln_st' e (i+1) + | Pat_Dot_Term None -> true + | Pat_Dot_Term (Some e) -> false // FIXME come back to this + let ln (t:term) = ln' t (-1) let ln_st (t:st_term) = ln_st' t (-1) let ln_c (c:comp) = ln_c' c (-1) @@ -383,6 +408,11 @@ let rec subst_st_term (t:st_term) (ss:subst) else_ = subst_st_term else_ ss; post = subst_term_opt post (shift_subst ss) } + | Tm_Match { sc; returns_; brs } -> + Tm_Match { sc = subst_term sc ss; + returns_ = subst_term_opt returns_ ss; + brs = subst_branches t ss brs } + | Tm_IntroPure { p; should_check } -> Tm_IntroPure { p = subst_term p ss; should_check } @@ -437,6 +467,24 @@ let rec subst_st_term (t:st_term) (ss:subst) in { t with term = t' } +and subst_branches (t:st_term) (ss:subst) (brs : list branch{brs << t}) +: Tot (list branch) (decreases brs) += + map_dec t brs (fun br -> subst_branch ss br) + +and subst_branch (ss:subst) (b : pattern & st_term) : Tot (pattern & st_term) (decreases b) = + let (p, e) = b in + let pat_n_binders (p:pattern) : nat = + match p with + | Pat_Constant _ -> 0 + | Pat_Var _ -> 1 + | Pat_Cons _ args -> L.length args + | Pat_Dot_Term _ -> 0 + in + let nn = pat_n_binders p in + let ss = shift_subst_n nn ss in + p, subst_st_term e ss + let open_st_term' (t:st_term) (v:term) (i:index) : st_term = subst_st_term t [ DT i v ] @@ -481,6 +529,24 @@ let close_term t v = close_term' t v 0 let close_st_term t v = close_st_term' t v 0 let close_comp t v = close_comp' t v 0 +let close_term_n t vs = + let rec aux (i:nat) (vs:list var) (t:term) : Tot term (decreases vs) = + match vs with + | [] -> t + | v::vs -> + aux (i+1) vs (close_term' t v i) + in + aux 0 (List.rev vs) t + +let close_st_term_n t vs = + let rec aux (i:nat) (vs:list var) (t:st_term) : Tot st_term (decreases vs) = + match vs with + | [] -> t + | v::vs -> + aux (i+1) vs (close_st_term' t v i) + in + aux 0 (List.rev vs) t + val close_open_inverse' (t:term) (x:var { ~(x `Set.mem` freevars t) } ) (i:index) @@ -543,4 +609,4 @@ val close_comp_with_non_free_var (c:comp) (x:var) (i:nat) (ensures close_comp' c x i == c) val close_binders (bs:list binder) (vs:list var { L.length bs == L.length vs }) - : list binder \ No newline at end of file + : list binder diff --git a/lib/steel/pulse/Pulse.Syntax.Printer.fst b/lib/steel/pulse/Pulse.Syntax.Printer.fst index 8061b59b3..572988acd 100644 --- a/lib/steel/pulse/Pulse.Syntax.Printer.fst +++ b/lib/steel/pulse/Pulse.Syntax.Printer.fst @@ -175,6 +175,11 @@ let rec st_term_to_string' (level:string) (t:st_term) (st_term_to_string' (indent level) else_) level + | Tm_Match {sc; brs} -> + sprintf "match (%s) with %s" + (term_to_string sc) + (branches_to_string brs) + | Tm_IntroPure { p } -> sprintf "introduce pure (\n%s%s)" (indent level) @@ -250,6 +255,15 @@ let rec st_term_to_string' (level:string) (t:st_term) (term_to_string v) (st_term_to_string' level t) +and branches_to_string brs : T.Tac _ = + match brs with + | [] -> "" + | b::bs -> branch_to_string b ^ branches_to_string bs + +and branch_to_string br : T.Tac _ = + let (pat, e) = br in + st_term_to_string' "" e + let st_term_to_string t = st_term_to_string' "" t @@ -274,6 +288,7 @@ let tag_of_st_term (t:st_term) = | Tm_Bind _ -> "Tm_Bind" | Tm_TotBind _ -> "Tm_TotBind" | Tm_If _ -> "Tm_If" + | Tm_Match _ -> "Tm_Match" | Tm_IntroPure _ -> "Tm_IntroPure" | Tm_ElimExists _ -> "Tm_ElimExists" | Tm_IntroExists _ -> "Tm_IntroExists" @@ -303,6 +318,7 @@ let rec print_st_head (t:st_term) | Tm_Bind _ -> "Bind" | Tm_TotBind _ -> "TotBind" | Tm_If _ -> "If" + | Tm_Match _ -> "Match" | Tm_While _ -> "While" | Tm_Admit _ -> "Admit" | Tm_Par _ -> "Par" @@ -329,6 +345,7 @@ let rec print_skel (t:st_term) = | Tm_Bind { head=e1; body=e2 } -> Printf.sprintf "(Bind %s %s)" (print_skel e1) (print_skel e2) | Tm_TotBind { body=e2 } -> Printf.sprintf "(TotBind _ %s)" (print_skel e2) | Tm_If _ -> "If" + | Tm_Match _ -> "Match" | Tm_While _ -> "While" | Tm_Admit _ -> "Admit" | Tm_Par _ -> "Par" @@ -338,4 +355,4 @@ let rec print_skel (t:st_term) = | Tm_IntroPure _ -> "IntroPure" | Tm_IntroExists _ -> "IntroExists" | Tm_ElimExists _ -> "ElimExists" - | Tm_ProofHintWithBinders _ -> "AssertWithBinders" \ No newline at end of file + | Tm_ProofHintWithBinders _ -> "AssertWithBinders" diff --git a/lib/steel/pulse/Pulse.Typing.Env.fst b/lib/steel/pulse/Pulse.Typing.Env.fst index 430418411..92942f411 100644 --- a/lib/steel/pulse/Pulse.Typing.Env.fst +++ b/lib/steel/pulse/Pulse.Typing.Env.fst @@ -332,4 +332,4 @@ let fail (#a:Type) (g:env) (r:option range) (msg:string) = in let issue = FStar.Issue.mk_issue "Error" msg (Some r) None (ctxt_to_list g) in FStar.Tactics.log_issues [issue]; - T.fail "Pulse checker failed" \ No newline at end of file + T.fail "Pulse checker failed" diff --git a/lib/steel/pulse/Pulse.Typing.FV.fst b/lib/steel/pulse/Pulse.Typing.FV.fst index c408d1f38..61c9f02a8 100644 --- a/lib/steel/pulse/Pulse.Typing.FV.fst +++ b/lib/steel/pulse/Pulse.Typing.FV.fst @@ -120,6 +120,9 @@ let rec freevars_close_st_term' (t:st_term) (x:var) (i:index) freevars_close_st_term' else_ x i; freevars_close_term_opt' post x (i + 1) + | Tm_Match _ -> + admit () + | Tm_IntroPure { p } | Tm_ElimExists { p } -> freevars_close_term' p x i @@ -432,6 +435,9 @@ let rec st_typing_freevars (#g:_) (#t:_) (#c:_) }; comp_typing_freevars ct + | T_Match _ _ _ _ _ _ _ _ _ _ -> + admit () + | T_Frame _ _ _ _ df dc -> tot_typing_freevars df; st_typing_freevars dc diff --git a/lib/steel/pulse/Pulse.Typing.LN.fst b/lib/steel/pulse/Pulse.Typing.LN.fst index 464315f0c..c92ff30a3 100644 --- a/lib/steel/pulse/Pulse.Typing.LN.fst +++ b/lib/steel/pulse/Pulse.Typing.LN.fst @@ -23,7 +23,6 @@ val elab_ln_inverse (e:term) (requires RT.ln (elab_term e)) (ensures ln e) - assume val open_term_ln_host' (t:host_term) (x:R.term) (i:index) : Lemma @@ -137,6 +136,12 @@ let rec open_st_term_ln' (e:st_term) open_st_term_ln' else_ x i; open_term_ln_opt' post x (i + 1) + | Tm_Match {sc;returns_;brs} -> + open_term_ln' sc x i; + open_term_ln_opt' returns_ x i; + // TODO: this is pretty cumbersome, but should not be conceptually hard + admit() + | Tm_IntroPure { p } | Tm_ElimExists { p } -> open_term_ln' p x i @@ -178,7 +183,7 @@ let rec open_st_term_ln' (e:st_term) let n = L.length binders in open_term_ln' v x (i + n); open_st_term_ln' t x (i + n) - + let open_term_ln (e:term) (v:var) : Lemma (requires ln (open_term e v)) @@ -296,6 +301,9 @@ let rec ln_weakening_st (t:st_term) (i j:int) ln_weakening_st else_ i j; ln_weakening_opt post (i + 1) (j + 1) + | Tm_Match _ -> + admit () + | Tm_STApp { head; arg } -> ln_weakening head i j; ln_weakening arg i j @@ -457,6 +465,9 @@ let rec open_term_ln_inv_st' (t:st_term) open_term_ln_inv_st' else_ x i; open_term_ln_inv_opt' post x (i + 1) + | Tm_Match _ -> + admit () + | Tm_Bind { binder; head; body } -> open_term_ln_inv' binder.binder_ty x i; open_term_ln_inv_st' head x i; @@ -612,6 +623,9 @@ let rec close_st_term_ln' (t:st_term) (x:var) (i:index) close_st_term_ln' else_ x i; close_term_ln_opt' post x (i + 1) + | Tm_Match _ -> + admit () + | Tm_Bind { binder; head; body } -> close_term_ln' binder.binder_ty x i; close_st_term_ln' head x i; @@ -842,6 +856,10 @@ let rec st_typing_ln (#g:_) (#t:_) (#c:_) st_typing_ln d1; st_typing_ln d2 + | T_Match _ _ _ sc _ scd c _ _ _ -> + tot_typing_ln scd; + admit () + | T_Frame _ _ _ _ df dc -> tot_typing_ln df; st_typing_ln dc diff --git a/lib/steel/pulse/Pulse.Typing.fst b/lib/steel/pulse/Pulse.Typing.fst index c56bc26f0..af2e5de49 100644 --- a/lib/steel/pulse/Pulse.Typing.fst +++ b/lib/steel/pulse/Pulse.Typing.fst @@ -1,4 +1,5 @@ module Pulse.Typing + module RT = FStar.Reflection.Typing module R = FStar.Reflection.V2 open Pulse.Reflection.Util @@ -16,6 +17,7 @@ let debug_log (level:string) (g:env) (f: unit -> T.Tac string) : T.Tac unit = let tm_unit = tm_fvar (as_fv unit_lid) let tm_bool = tm_fvar (as_fv bool_lid) +let tm_int = tm_fvar (as_fv int_lid) let tm_true = tm_constant R.C_True let tm_false = tm_constant R.C_False @@ -43,6 +45,13 @@ let mk_eq2 (u:universe) (tm_pureapp (tm_pureapp (tm_uinst (as_fv R.eq2_qn) [u]) (Some Implicit) t) None e0) None e1 +let mk_sq_eq2 (u:universe) + (t:term) + (e0 e1:term) + : term + = let eq = mk_eq2 u t e0 e1 in + (tm_pureapp (tm_uinst (as_fv R.squash_qn) [u]) None eq) + let mk_eq2_prop (u:universe) (t:term) (e0 e1:term) : term = tm_pureapp @@ -92,6 +101,25 @@ let extend_env_l (f:R.env) (g:env_bindings) : R.env = f let elab_env (e:env) : R.env = extend_env_l (fstar_env e) (bindings e) + +(* + * If I call this fresh, I get: + * Pulse.Typing.fst(545,0-546,20): (Error 162) The qualifier list "[assume]" is not permissible for this element: definitions cannot be assumed or marked with equality qualifiers + * What!?!? Oh.. there's a fresh in Pulse.Typing.Env, which is *included*... + *) +let freshv (g:env) (x:var) : prop = + None? (lookup g x) + +let rec all_fresh (g:env) (xs:list binding) : Tot prop (decreases xs) = + match xs with + | [] -> True + | x::xs -> freshv g (fst x) /\ all_fresh (push_binding g (fst x) ppname_default (snd x)) xs + +let rec push_bindings (g:env) (bs:list binding{all_fresh g bs}) : Tot (g':env{env_extends g' g}) (decreases bs) = + match bs with + | [] -> g + | (x,t)::bs -> push_bindings (push_binding g x ppname_default t) bs + let elab_push_binding (g:env) (x:var { ~ (Set.mem x (dom g)) }) (t:typ) : Lemma (elab_env (push_binding g x ppname_default t) == RT.extend_env (elab_env g) x (elab_term t)) = () @@ -515,6 +543,16 @@ type st_comp_typing : env -> st_comp -> Type = tot_typing (push_binding g x ppname_default st.res) (open_term st.post x) tm_vprop -> st_comp_typing g st +let tr_binding (vt : var & typ) : Tot R.binding = + let v, t = vt in + { + uniq = v; + sort = elab_term t; + ppname = ppname_default.name; + } + +let tr_bindings = L.map tr_binding + [@@ no_auto_projectors] noeq type comp_typing : env -> comp -> universe -> Type = @@ -550,6 +588,15 @@ type comp_typing : env -> comp -> universe -> Type = let prop_validity (g:env) (t:term) = FTB.prop_validity_token (elab_env g) (elab_term t) +val readback_binding : R.binding -> binding +let readback_binding b = + assume (host_term == R.term); // fixme! expose this fact + match readback_ty b.sort with + | Some sort -> (b.uniq, sort) + | None -> + let sort : term = {t=Tm_FStar b.sort; range=T.range_of_term b.sort} in + (b.uniq, sort) + [@@ no_auto_projectors] noeq type st_typing : env -> st_term -> comp -> Type = @@ -649,6 +696,19 @@ type st_typing : env -> st_term -> comp -> Type = my_erased (comp_typing g c uc) -> st_typing g (wr (Tm_If { b; then_=e1; else_=e2; post=None })) c + | T_Match : + g:env -> + sc_u:universe -> + sc_ty:typ -> + sc:term -> + tot_typing g sc_ty (tm_type sc_u) -> + tot_typing g sc sc_ty -> + c:comp_st -> + brs:list (pattern & st_term) -> + brs_typing g sc_u sc_ty sc brs c -> + pats_complete g sc sc_ty (L.map (fun (p, _) -> elab_pat p) brs) -> + st_typing g (wr (Tm_Match {sc; returns_=None; brs})) c + | T_Frame: g:env -> e:st_term -> @@ -778,6 +838,52 @@ type st_typing : env -> st_term -> comp -> Type = st_typing g (wr (Tm_Admit { ctag=c; u=s.u; typ=s.res; post=None })) (comp_admit c s) +and pats_complete : env -> term -> typ -> list R.pattern -> Type0 = + // just check the elaborated term with the core tc + | PC_Elab : + g:env -> + sc:term -> + sc_ty:typ -> + pats:list R.pattern -> + bnds:list (list R.binding) -> + RT.match_is_complete (elab_env g) (elab_term sc) (elab_term sc_ty) pats bnds -> + pats_complete g sc sc_ty pats + +and brs_typing (g:env) (sc_u:universe) (sc_ty:typ) (sc:term) : list branch -> comp_st -> Type = + | TBRS_0 : + c:comp_st -> + brs_typing g sc_u sc_ty sc [] c + + | TBRS_1 : + c:comp_st -> + p:pattern -> + e:st_term -> + br_typing g sc_u sc_ty sc p e c -> + rest:list branch -> + brs_typing g sc_u sc_ty sc rest c -> + brs_typing g sc_u sc_ty sc ((p,e)::rest) c + +and br_typing : env -> universe -> typ -> term -> pattern -> st_term -> comp_st -> Type = + | TBR : + g:env -> + sc_u : universe -> + sc_ty : typ -> + sc:term -> + c:comp_st -> + p:pattern -> + e:st_term -> + bs:(list R.binding){RT.bindings_ok_for_pat (fstar_env g) bs (elab_pat p)} -> + _ : squash (all_fresh g (L.map readback_binding bs)) -> + _ : squash (Some? (RT.elaborate_pat (elab_pat p) bs)) -> + _ : squash (~(R.Tv_Unknown? (R.inspect_ln (fst (Some?.v (RT.elaborate_pat (elab_pat p) bs)))))) -> // should be provable from defn of elaborate_pat + hyp:var {freshv (push_bindings g (L.map readback_binding bs)) hyp} -> + st_typing ( + push_binding (push_bindings g (L.map readback_binding bs)) + hyp + ({name=Sealed.seal "branch equality"; range=FStar.Range.range_0}) + (mk_sq_eq2 sc_u sc_ty sc (tm_fstar (fst (Some?.v (RT.elaborate_pat (elab_pat p) bs))) Range.range_0)) + ) e c -> + br_typing g sc_u sc_ty sc p (close_st_term_n e (L.map fst (L.map readback_binding bs))) c (* this requires some metatheory on FStar.Reflection.Typing diff --git a/share/steel/examples/pulse/Assert.fst b/share/steel/examples/pulse/Assert.fst index 91d45882f..6ce898667 100644 --- a/share/steel/examples/pulse/Assert.fst +++ b/share/steel/examples/pulse/Assert.fst @@ -21,4 +21,4 @@ fn test_assert (r0 r1: ref nat) assert_ (pts_to r0 p0 (v0 + 0)); () } -``` \ No newline at end of file +``` diff --git a/share/steel/examples/pulse/Fibo32.fst b/share/steel/examples/pulse/Fibo32.fst index 3c85b80ba..ee01fb98e 100644 --- a/share/steel/examples/pulse/Fibo32.fst +++ b/share/steel/examples/pulse/Fibo32.fst @@ -55,4 +55,4 @@ fn fibo32 (k:U32.t) (_:squash(0ul < k /\ fits #U32.t (fib (v k)))) let r = !j; r } -``` \ No newline at end of file +``` diff --git a/share/steel/examples/pulse/L b/share/steel/examples/pulse/L new file mode 100644 index 000000000..ba00abce1 --- /dev/null +++ b/share/steel/examples/pulse/L @@ -0,0 +1,9531 @@ +Module after type checking: +module MatchBasic +Declarations: [ +#set-options "--error_contexts true" +irreducible +let test1 n = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | 0 -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +irreducible +let test2 n = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | 0 -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +irreducible +let test3 n = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | 0 -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + let + x + = + x + + 1 + in + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +noeq +type optionint = + | Some : _0: Prims.int -> MatchBasic.optionint + | None : MatchBasic.optionint + + + + + + +irreducible +let test4 n z = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | None -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | Some + _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +irreducible +let test5 n z = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | Pervasives.None -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | Pervasives.Some + _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +] +Exports: [ +#set-options "--error_contexts true" +irreducible +let test1 n = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | 0 -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +irreducible +let test2 n = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | 0 -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +irreducible +let test3 n = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | 0 -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + let + x + = + x + + 1 + in + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +noeq +type optionint = + | Some : _0: Prims.int -> MatchBasic.optionint + | None : MatchBasic.optionint + + + + + + +irreducible +let test4 n z = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | None -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | Some + _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +irreducible +let test5 n z = + Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt Steel.Effect.Common.emp + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.sub_stt (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp) + (fun _ -> + Steel.Effect.Common.star Steel.Effect.Common.emp + Steel.Effect.Common.emp) + () + () + (Pulse.Steel.Wrapper.frame_stt Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun _ -> + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.sub_stt + (Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + (fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + ) + () + () + (Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + (match + n + with + | Pervasives.None -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + | Pervasives.Some + _ -> + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + ( + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + () + () + ( + Pulse.Steel.Wrapper.sub_stt + Steel.Effect.Common.emp + ( + fun + _ + -> + Steel.Effect.Common.star + Steel.Effect.Common.emp + Steel.Effect.Common.emp + + ) + () + () + ( + Pulse.Steel.Wrapper.frame_stt + Steel.Effect.Common.emp + ( + Pulse.Steel.Wrapper.return + Pulse.Steel.Wrapper.return + ( + fun + _ + -> + Steel.Effect.Common.emp + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + ) + + )))) + )))))))))))))))))))) +] + +Verified module: MatchBasic +All verification conditions discharged successfully diff --git a/share/steel/examples/pulse/MatchBasic.fst b/share/steel/examples/pulse/MatchBasic.fst new file mode 100644 index 000000000..7ac84d2a3 --- /dev/null +++ b/share/steel/examples/pulse/MatchBasic.fst @@ -0,0 +1,187 @@ +module MatchBasic + +module T = FStar.Tactics +module PM = Pulse.Main +open Steel.ST.Util +open Steel.ST.Reference +open Steel.FractionalPermission +open FStar.Ghost +open Pulse.Steel.Wrapper + +```pulse +fn test1 (n:nat) + requires emp + returns r:int + ensures emp +{ + (* let v = n; *) + match n { + 0 -> { 1 } + _ -> { 0 } + } +} +``` + +```pulse +fn test2 (n:nat) + requires emp + returns r:int + ensures emp +{ + let v = n; + match n { + 0 -> { 1 } + x -> { x } + } +} +``` + +```pulse +fn test3 (n:nat) + requires emp + returns r:int + ensures emp +{ + match n { + 0 -> { 1 } + x -> { let y = x+1; y } + } +} + +``` + +// FIXME: Need to qualifiy the constructors or otherwise they desugar to +// the (not yet in scope) type below. Only in batch mode apparently. +```pulse +fn test3_5 (n:option int) (z:bool) + requires emp + returns r:int + ensures emp +{ + match n { + Pervasives.None -> { (-1) } + Pervasives.Some x -> { x } + } +} +``` + +noeq +type optionint = + | None + | Some of int + +```pulse +fn test4 (n:optionint) (z:bool) + requires emp + returns r:int + ensures emp +{ + match n { + None -> { 0 } + Some x -> { x } + } +} +``` + +```pulse +fn test5 (n:option int) (z:bool) + requires emp + returns r:int + ensures emp +{ + match n { + Pervasives.None -> { (-1) } + Pervasives.Some x -> { x } + } +} +``` + +```pulse +fn listid (xs : list int) + requires emp + returns r:(list int) + ensures emp +{ + match xs { + Nil -> { Nil #int } + Cons hd tl -> { Cons #int hd tl } + } +} +``` + +```pulse +fn hd (xs : list int) + requires emp + returns r:(int) + ensures emp +{ + match xs { + Nil -> { 0 } + Cons hd tl -> { let t = tl; hd } + } +} +``` + +```pulse +fn tl (xs : list int) + requires emp + returns r:(list u#0 int) + ensures emp +{ + match xs { + Nil -> { Nil #int } + Cons hd tl -> { tl } + } +} +``` + +[@@expect_failure [228]] +```pulse +fn incomplete (xs : list int) + requires emp + returns r:int + ensures emp +{ + match xs { + Nil -> { 1 } + } +} +``` + +```pulse +fn partial_complete (xs : (xs:list int{List.length xs == 0})) + requires emp + returns r:int + ensures emp +{ + match xs { + Nil -> { 1 } + } +} +``` + +```pulse +fn breq_1 (xs : list int) + requires emp + returns r:int + ensures emp +{ + match xs { + Nil -> { assert (pure (List.Tot.length xs == 0)); 0 } // works because of branch eq + Cons _ _ -> { 1 } // assert (pure (isCons xs)); cons_hd xs } + } +} +``` + +```pulse +fn breq_2 (xs : list int) + requires emp + returns r:int + ensures emp +{ + match xs { + Nil -> { assert (pure (List.Tot.length xs == 0)); 0 } + Cons _ _ -> { Cons?.hd xs } + } +} +``` diff --git a/src/ocaml/plugin/PulseSyntaxWrapper.ml b/src/ocaml/plugin/PulseSyntaxWrapper.ml index cbb91ef62..0a1daac34 100755 --- a/src/ocaml/plugin/PulseSyntaxWrapper.ml +++ b/src/ocaml/plugin/PulseSyntaxWrapper.ml @@ -79,7 +79,18 @@ let atomic_comp (inames:term) (pre:term) (ret:binder) (post:term) : comp = C_STAtomic (inames, mk_st_comp pre ret post) module PSB = Pulse_Syntax_Builder +type constant = Pulse_Syntax_Base.constant +let inspect_const = FStar_Reflection_V2_Builtins.inspect_const + +type pattern = Pulse_Syntax_Base.pattern + +let pat_var s _r = PSB.(pat_var s) +let pat_constant c _r = PSB.(pat_const c) +let pat_cons fv vs _r = PSB.(pat_cons fv (List.map (fun v -> (v,false)) vs)) + type st_term = Pulse_Syntax_Base.st_term +type branch = Pulse_Syntax_Base.branch + let tm_return (t:term) r : st_term = PSB.(with_range (tm_return STT false t) r) let tm_ghost_return (t:term) r : st_term = PSB.(with_range (tm_return STT_Ghost false t) r) @@ -110,6 +121,9 @@ let tm_while (head:st_term) (invariant: (ident * vprop)) (body:st_term) r : st_t let tm_if (head:term) (returns_annot:vprop option) (then_:st_term) (else_:st_term) r : st_term = PSB.(with_range (tm_if head then_ else_ returns_annot) r) +let tm_match (sc:term) (returns_:vprop option) (brs:branch list) r : st_term = + PSB.(with_range (tm_match sc returns_ brs) r) + let tm_intro_exists (erased:bool) (p:vprop) (witnesses:term list) r : st_term = PSB.(with_range (tm_intro_exists erased p witnesses) r) @@ -147,6 +161,7 @@ let tm_admit r : st_term = let close_term t v = Pulse_Syntax_Naming.close_term t v let close_st_term t v = Pulse_Syntax_Naming.close_st_term t v +let close_st_term_n t v = Pulse_Syntax_Naming.close_st_term_n t v let close_comp t v = Pulse_Syntax_Naming.close_comp t v let comp_pre c = match c with diff --git a/src/ocaml/plugin/pulseparser.mly b/src/ocaml/plugin/pulseparser.mly index 971946474..aa36615c5 100644 --- a/src/ocaml/plugin/pulseparser.mly +++ b/src/ocaml/plugin/pulseparser.mly @@ -115,7 +115,7 @@ pulseStmtNoSeq: { PulseSugar.mk_block s } | IF tm=appTermNoRecordExp vp=option(returnsVprop) LBRACE th=pulseStmt RBRACE e=option(elseBlock) { PulseSugar.mk_if tm vp th e } - | MATCH tm=appTermNoRecordExp c=option(returnsAnnot) LBRACE brs=list(pulseMatchBranch) RBRACE + | MATCH tm=appTermNoRecordExp c=option(returnsVprop) LBRACE brs=list(pulseMatchBranch) RBRACE { PulseSugar.mk_match tm c brs } | WHILE LPAREN tm=pulseStmt RPAREN INVARIANT i=lident DOT v=pulseVprop LBRACE body=pulseStmt RBRACE { PulseSugar.mk_while tm i v body } @@ -144,17 +144,13 @@ withBindersOpt: { List.flatten bs } | { [] } -%inline -returnsAnnot: - | RETURNS s=pulseComputationType - { s } - +/* TODO: change to ENSURES */ returnsVprop: | RETURNS s=pulseVprop { s } pulseMatchBranch: - | LBRACE pat=pulsePattern RARROW e=pulseStmt RBRACE + | pat=pulsePattern RARROW LBRACE e=pulseStmt RBRACE { (pat, e) } pulsePattern: diff --git a/src/syntax_extension/PulseDesugar.fst b/src/syntax_extension/PulseDesugar.fst index 9116abf30..197752970 100755 --- a/src/syntax_extension/PulseDesugar.fst +++ b/src/syntax_extension/PulseDesugar.fst @@ -37,6 +37,10 @@ let rec map_err (f:'a -> err 'b) (l:list 'a) let? tl = map_err f tl in return (hd :: tl) +let map_err_opt (f : 'a -> err 'b) (o:option 'a) : err (option 'b) = + match o with + | None -> return None + | Some v -> let? v' = f v in return (Some v') let as_term (t:S.term) : SW.term @@ -58,12 +62,23 @@ let push_bv env x = let env = { env with tcenv } in env, bv +let rec push_bvs env xs = + match xs with + | [] -> env, [] + | x::xs -> + let env, bv = push_bv env x in + let env, bvs = push_bvs env xs in + env, bv::bvs + let push_namespace env lid = let dsenv = D.push_namespace env.tcenv.dsenv lid in let tcenv = { env.tcenv with dsenv } in let env = {env with tcenv} in env +let desugar_const (c:FStar.Const.sconst) : SW.constant = + SW.inspect_const c + let r_ = FStar.Compiler.Range.dummyRange let admit_lid = Ident.lid_of_path ["Prims"; "admit"] r_ let star_lid = Ident.lid_of_path ["Steel"; "Effect"; "Common"; "star"] r_ @@ -299,6 +314,20 @@ let resolve_hint_type (env:env_t) (ht:Sugar.hint_type) let? ns = resolve_names env ns in return (FOLD ns) +// FIXME +// should just mimic let resolve_lid +let desugar_datacon (env:env_t) (l:lid) : err SW.fv = + let rng = Ident.range_of_lid l in + let t = A.mk_term (A.Name l) rng A.Expr in + let? tt = tosyntax env t in + let? sfv = + match (SS.compress tt).n with + | S.Tm_fvar fv -> Inl fv + | S.Tm_uinst ({n = S.Tm_fvar fv}, _) -> Inl fv + | _ -> fail (BU.format1 "Not a datacon? %s" (Ident.string_of_lid l)) rng + in + Inl (SW.mk_fv (S.lid_of_fv sfv) rng) + (* s has already been transformed with explicit dereferences for r-values *) let rec desugar_stmt (env:env_t) (s:Sugar.stmt) : err SW.st_term @@ -353,7 +382,10 @@ let rec desugar_stmt (env:env_t) (s:Sugar.stmt) return (SW.tm_if head join_vprop then_ else_ s.range) | Match { head; returns_annot; branches } -> - failwith "Match is not yet handled" + let? head = desugar_term env head in + let? returns_annot = map_err_opt (desugar_vprop env) returns_annot in + let? branches = map_err (desugar_branch env) branches in + return (SW.tm_match head returns_annot branches s.range) | While { guard; id; invariant; body } -> let? guard = desugar_stmt env guard in @@ -393,6 +425,46 @@ let rec desugar_stmt (env:env_t) (s:Sugar.stmt) | LetBinding _ -> fail "Terminal let binding" s.range +and desugar_branch (env:env_t) (br:A.pattern & Sugar.stmt) + : err SW.branch + = let (p, e) = br in + let? (p, vs) = desugar_pat env p in + let env, bvs = push_bvs env vs in + let? e = desugar_stmt env e in + let e = SW.close_st_term_n e (L.map (fun (v:S.bv) -> v.index) bvs) in + return (p,e) + +and desugar_pat (env:env_t) (p:A.pattern) + : err (SW.pattern & list ident) + = let r = p.prange in + match p.pat with + | A.PatVar (id, _, _) -> + return (SW.pat_var (Ident.string_of_id id) r, [id]) + | A.PatWild _ -> + let id = Ident.mk_ident ("_", r) in + return (SW.pat_var "_" r, [id]) + | A.PatConst c -> + let c = desugar_const c in + return (SW.pat_constant c r, []) + | A.PatName lid -> + let? fv = desugar_datacon env lid in + return (SW.pat_cons fv [] r, []) + | A.PatApp ({pat=A.PatName lid}, args) -> + let? fv = desugar_datacon env lid in + let? idents = map_err (fun (p:A.pattern) -> + match p.pat with + | A.PatVar (id, _, _) -> return id + | A.PatWild _ -> return (Ident.mk_ident ("_", r)) + | _ -> fail "invalid pattern: no deep patterns allowed" r + ) args + in + let strs = L.map Ident.string_of_id idents in + let pats = L.map (fun s -> SW.pat_var s r) strs in + return (SW.pat_cons fv pats r, idents) + + | _ -> + fail "invalid pattern" r + and desugar_bind (env:env_t) (lb:_) (s2:Sugar.stmt) (r:R.range) : err SW.st_term = let open Sugar in @@ -467,7 +539,7 @@ and desugar_binders (env:env_t) (bs:Sugar.binders) let? env, bs, bvs = aux env bs in return (env, L.map (fun (aq, b, t) -> aq, SW.mk_binder b t) bs, bvs) -let desugar_computation_type (env:env_t) (c:Sugar.computation_type) +and desugar_computation_type (env:env_t) (c:Sugar.computation_type) : err SW.comp = let? pre = desugar_vprop env c.precondition in let? ret = desugar_term env c.return_type in @@ -536,4 +608,3 @@ let initialize_env (env:TcEnv.env) tcenv = env; local_refs = [] } - diff --git a/src/syntax_extension/PulseSugar.fst b/src/syntax_extension/PulseSugar.fst index 809ffb88b..07296cdcd 100755 --- a/src/syntax_extension/PulseSugar.fst +++ b/src/syntax_extension/PulseSugar.fst @@ -82,7 +82,7 @@ type stmt' = | Match { head:A.term; - returns_annot:option computation_type; + returns_annot:option vprop; branches:list (A.pattern & stmt); } diff --git a/src/syntax_extension/PulseSyntaxWrapper.fsti b/src/syntax_extension/PulseSyntaxWrapper.fsti index 9a15c6ada..5862b4d36 100755 --- a/src/syntax_extension/PulseSyntaxWrapper.fsti +++ b/src/syntax_extension/PulseSyntaxWrapper.fsti @@ -45,7 +45,16 @@ val mk_comp (pre:term) (ret:binder) (post:term) : comp val ghost_comp (inames:term) (pre:term) (ret:binder) (post:term) : comp val atomic_comp (inames:term) (pre:term) (ret:binder) (post:term) : comp +new val constant : Type0 +val inspect_const : FStar.Const.sconst -> constant + +new val pattern : Type0 +val pat_var (ppname:string) (_:range) : pattern +val pat_constant (c:constant) (_:range) : pattern +val pat_cons (head:fv) (ps:list pattern) (_:range) : pattern + new val st_term : Type0 +type branch = pattern & st_term val tm_return (t:term) (_:range) : st_term val tm_ghost_return (t:term) (_:range) : st_term val tm_abs (b:binder) (q:option qualifier) (_:comp) (body:st_term) (_:range) : st_term @@ -55,6 +64,7 @@ val tm_totbind (x:binder) (e1:term) (e2:st_term) (_:range) : st_term val tm_let_mut (x:binder) (v:term) (k:st_term) (_:range) : st_term val tm_while (head:st_term) (invariant: (ident & vprop)) (body:st_term) (_:range) : st_term val tm_if (head:term) (returns_annot:option vprop) (then_ else_:st_term) (_:range) : st_term +val tm_match (head:term) (returns_:option vprop) (brs:list branch) (_:range) : st_term val tm_intro_exists (erased:bool) (vp:vprop) (witnesses:list term) (_:range) : st_term val is_tm_intro_exists (x:st_term) : bool val tm_protect (s:st_term) : st_term @@ -65,6 +75,7 @@ val tm_proof_hint_with_binders (_:PulseSugar.hint_type) (_:list binder) (t:term) val close_binders (bs:list binder) (xs:list var) : list binder val close_term (t:term) (v:var) : term val close_st_term (t:st_term) (v:var) : st_term +val close_st_term_n (t:st_term) (vs:list var) : st_term val close_comp (t:comp) (v:var) : comp val comp_pre (c:comp) : term val comp_res (c:comp) : term @@ -79,4 +90,4 @@ val comp_to_string (env:FStar.TypeChecker.Env.env) (_:comp) : string val subst : Type0 val bvs_as_subst (l:list var) : subst val subst_term (s:subst) (t:term) : term -val subst_st_term (s:subst) (t:st_term) : st_term \ No newline at end of file +val subst_st_term (s:subst) (t:st_term) : st_term From d05bcec9322bf73c91570842629a4c5fc2891bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= Date: Tue, 27 Jun 2023 15:41:52 -0700 Subject: [PATCH 05/15] snap --- src/ocaml/plugin/generated/PulseDesugar.ml | 176 +- src/ocaml/plugin/generated/PulseSugar.ml | 6 +- src/ocaml/plugin/generated/Pulse_Checker.ml | 1122 +++++++---- .../plugin/generated/Pulse_Checker_Match.ml | 1753 +++++++++++++++++ .../plugin/generated/Pulse_Checker_Pure.ml | 19 +- src/ocaml/plugin/generated/Pulse_Common.ml | 138 ++ .../plugin/generated/Pulse_Elaborate_Core.ml | 80 +- .../plugin/generated/Pulse_Elaborate_Pure.ml | 31 + .../plugin/generated/Pulse_Reflection_Util.ml | 1 + .../plugin/generated/Pulse_Soundness_Match.ml | 27 + .../plugin/generated/Pulse_Syntax_Base.ml | 95 + .../plugin/generated/Pulse_Syntax_Builder.ml | 25 + .../plugin/generated/Pulse_Syntax_Naming.ml | 101 + .../plugin/generated/Pulse_Syntax_Printer.ml | 450 +++-- src/ocaml/plugin/generated/Pulse_Typing.ml | 111 +- 15 files changed, 3543 insertions(+), 592 deletions(-) create mode 100644 src/ocaml/plugin/generated/Pulse_Checker_Match.ml create mode 100644 src/ocaml/plugin/generated/Pulse_Common.ml create mode 100644 src/ocaml/plugin/generated/Pulse_Soundness_Match.ml diff --git a/src/ocaml/plugin/generated/PulseDesugar.ml b/src/ocaml/plugin/generated/PulseDesugar.ml index dba188e39..b8eb7ba73 100644 --- a/src/ocaml/plugin/generated/PulseDesugar.ml +++ b/src/ocaml/plugin/generated/PulseDesugar.ml @@ -23,6 +23,20 @@ let rec map_err : (fun hd1 -> let uu___1 = map_err f tl in op_let_Question uu___1 (fun tl1 -> return (hd1 :: tl1))) +let map_err_opt : + 'a 'b . + ('a -> 'b err) -> + 'a FStar_Pervasives_Native.option -> + 'b FStar_Pervasives_Native.option err + = + fun f -> + fun o -> + match o with + | FStar_Pervasives_Native.None -> return FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some v -> + let uu___ = f v in + op_let_Question uu___ + (fun v' -> return (FStar_Pervasives_Native.Some v')) let (as_term : FStar_Syntax_Syntax.term -> PulseSyntaxWrapper.term) = fun t -> match t.FStar_Syntax_Syntax.n with @@ -151,6 +165,21 @@ let (push_bv : (uu___1.FStar_TypeChecker_Env.core_check) } in let env1 = { tcenv; local_refs = (env.local_refs) } in (env1, bv) +let rec (push_bvs : + env_t -> + FStar_Ident.ident Prims.list -> + (env_t * FStar_Syntax_Syntax.bv Prims.list)) + = + fun env -> + fun xs -> + match xs with + | [] -> (env, []) + | x::xs1 -> + let uu___ = push_bv env x in + (match uu___ with + | (env1, bv) -> + let uu___1 = push_bvs env1 xs1 in + (match uu___1 with | (env2, bvs) -> (env2, (bv :: bvs)))) let (push_namespace : env_t -> FStar_Ident.lident -> env_t) = fun env -> fun lid -> @@ -254,6 +283,8 @@ let (push_namespace : env_t -> FStar_Ident.lident -> env_t) = (uu___.FStar_TypeChecker_Env.core_check) } in let env1 = { tcenv; local_refs = (env.local_refs) } in env1 +let (desugar_const : FStar_Const.sconst -> PulseSyntaxWrapper.constant) = + fun c -> PulseSyntaxWrapper.inspect_const c let (r_ : FStar_Compiler_Range_Type.range) = FStar_Compiler_Range_Type.dummyRange let (admit_lid : FStar_Ident.lident) = @@ -651,6 +682,41 @@ let (resolve_hint_type : | PulseSugar.FOLD ns -> let uu___ = resolve_names env ns in op_let_Question uu___ (fun ns1 -> return (PulseSugar.FOLD ns1)) +let (desugar_datacon : env_t -> FStar_Ident.lid -> PulseSyntaxWrapper.fv err) + = + fun env -> + fun l -> + let rng = FStar_Ident.range_of_lid l in + let t = + FStar_Parser_AST.mk_term (FStar_Parser_AST.Name l) rng + FStar_Parser_AST.Expr in + let uu___ = tosyntax env t in + op_let_Question uu___ + (fun tt -> + let uu___1 = + let uu___2 = + let uu___3 = FStar_Syntax_Subst.compress tt in + uu___3.FStar_Syntax_Syntax.n in + match uu___2 with + | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Pervasives.Inl fv + | FStar_Syntax_Syntax.Tm_uinst + ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; + FStar_Syntax_Syntax.pos = uu___3; + FStar_Syntax_Syntax.vars = uu___4; + FStar_Syntax_Syntax.hash_code = uu___5;_}, + uu___6) + -> FStar_Pervasives.Inl fv + | uu___3 -> + let uu___4 = + let uu___5 = FStar_Ident.string_of_lid l in + FStar_Compiler_Util.format1 "Not a datacon? %s" uu___5 in + fail uu___4 rng in + op_let_Question uu___1 + (fun sfv -> + let uu___2 = + let uu___3 = FStar_Syntax_Syntax.lid_of_fv sfv in + PulseSyntaxWrapper.mk_fv uu___3 rng in + FStar_Pervasives.Inl uu___2)) let rec (desugar_stmt : env_t -> PulseSugar.stmt -> PulseSyntaxWrapper.st_term err) = fun env -> @@ -742,7 +808,20 @@ let rec (desugar_stmt : { PulseSugar.head2 = head; PulseSugar.returns_annot = returns_annot; PulseSugar.branches = branches;_} - -> failwith "Match is not yet handled" + -> + let uu___ = desugar_term env head in + op_let_Question uu___ + (fun head1 -> + let uu___1 = map_err_opt (desugar_vprop env) returns_annot in + op_let_Question uu___1 + (fun returns_annot1 -> + let uu___2 = map_err (desugar_branch env) branches in + op_let_Question uu___2 + (fun branches1 -> + let uu___3 = + PulseSyntaxWrapper.tm_match head1 returns_annot1 + branches1 s.PulseSugar.range1 in + return uu___3))) | PulseSugar.While { PulseSugar.guard = guard; PulseSugar.id1 = id; PulseSugar.invariant = invariant; PulseSugar.body1 = body;_} @@ -827,6 +906,99 @@ let rec (desugar_stmt : return uu___2)) | PulseSugar.LetBinding uu___ -> fail "Terminal let binding" s.PulseSugar.range1 +and (desugar_branch : + env_t -> + (FStar_Parser_AST.pattern * PulseSugar.stmt) -> + PulseSyntaxWrapper.branch err) + = + fun env -> + fun br -> + let uu___ = br in + match uu___ with + | (p, e) -> + let uu___1 = desugar_pat env p in + op_let_Question uu___1 + (fun uu___2 -> + match uu___2 with + | (p1, vs) -> + let uu___3 = push_bvs env vs in + (match uu___3 with + | (env1, bvs) -> + let uu___4 = desugar_stmt env1 e in + op_let_Question uu___4 + (fun e1 -> + let e2 = + let uu___5 = + FStar_Compiler_List.map + (fun v -> v.FStar_Syntax_Syntax.index) bvs in + PulseSyntaxWrapper.close_st_term_n e1 uu___5 in + return (p1, e2)))) +and (desugar_pat : + env_t -> + FStar_Parser_AST.pattern -> + (PulseSyntaxWrapper.pattern * FStar_Ident.ident Prims.list) err) + = + fun env -> + fun p -> + let r = p.FStar_Parser_AST.prange in + match p.FStar_Parser_AST.pat with + | FStar_Parser_AST.PatVar (id, uu___, uu___1) -> + let uu___2 = + let uu___3 = + let uu___4 = FStar_Ident.string_of_id id in + PulseSyntaxWrapper.pat_var uu___4 r in + (uu___3, [id]) in + return uu___2 + | FStar_Parser_AST.PatWild uu___ -> + let id = FStar_Ident.mk_ident ("_", r) in + let uu___1 = + let uu___2 = PulseSyntaxWrapper.pat_var "_" r in (uu___2, [id]) in + return uu___1 + | FStar_Parser_AST.PatConst c -> + let c1 = desugar_const c in + let uu___ = + let uu___1 = PulseSyntaxWrapper.pat_constant c1 r in (uu___1, []) in + return uu___ + | FStar_Parser_AST.PatName lid -> + let uu___ = desugar_datacon env lid in + op_let_Question uu___ + (fun fv -> + let uu___1 = + let uu___2 = PulseSyntaxWrapper.pat_cons fv [] r in + (uu___2, []) in + return uu___1) + | FStar_Parser_AST.PatApp + ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatName lid; + FStar_Parser_AST.prange = uu___;_}, + args) + -> + let uu___1 = desugar_datacon env lid in + op_let_Question uu___1 + (fun fv -> + let uu___2 = + map_err + (fun p1 -> + match p1.FStar_Parser_AST.pat with + | FStar_Parser_AST.PatVar (id, uu___3, uu___4) -> + return id + | FStar_Parser_AST.PatWild uu___3 -> + let uu___4 = FStar_Ident.mk_ident ("_", r) in + return uu___4 + | uu___3 -> + fail "invalid pattern: no deep patterns allowed" r) + args in + op_let_Question uu___2 + (fun idents -> + let strs = + FStar_Compiler_List.map FStar_Ident.string_of_id idents in + let pats = + FStar_Compiler_List.map + (fun s -> PulseSyntaxWrapper.pat_var s r) strs in + let uu___3 = + let uu___4 = PulseSyntaxWrapper.pat_cons fv pats r in + (uu___4, idents) in + return uu___3)) + | uu___ -> fail "invalid pattern" r and (desugar_bind : env_t -> PulseSugar.stmt'__LetBinding__payload -> @@ -1023,7 +1195,7 @@ and (desugar_binders : (aq, uu___5)) bs1 in (env1, uu___3, bvs) in return uu___2) -let (desugar_computation_type : +and (desugar_computation_type : env_t -> PulseSugar.computation_type -> PulseSyntaxWrapper.comp err) = fun env -> fun c -> diff --git a/src/ocaml/plugin/generated/PulseSugar.ml b/src/ocaml/plugin/generated/PulseSugar.ml index 86b936a09..95bb939f3 100644 --- a/src/ocaml/plugin/generated/PulseSugar.ml +++ b/src/ocaml/plugin/generated/PulseSugar.ml @@ -167,7 +167,7 @@ and stmt'__If__payload = and stmt'__Match__payload = { head2: FStar_Parser_AST.term ; - returns_annot: computation_type FStar_Pervasives_Native.option ; + returns_annot: vprop FStar_Pervasives_Native.option ; branches: (FStar_Parser_AST.pattern * stmt) Prims.list } and stmt'__While__payload = { @@ -271,7 +271,7 @@ let (__proj__Mkstmt'__Match__payload__item__head : fun projectee -> match projectee with | { head2 = head; returns_annot; branches;_} -> head let (__proj__Mkstmt'__Match__payload__item__returns_annot : - stmt'__Match__payload -> computation_type FStar_Pervasives_Native.option) = + stmt'__Match__payload -> vprop FStar_Pervasives_Native.option) = fun projectee -> match projectee with | { head2 = head; returns_annot; branches;_} -> returns_annot @@ -493,7 +493,7 @@ let (mk_if : fun else_opt -> If { head1 = head; join_vprop; then_; else_opt } let (mk_match : FStar_Parser_AST.term -> - computation_type FStar_Pervasives_Native.option -> + vprop FStar_Pervasives_Native.option -> (FStar_Parser_AST.pattern * stmt) Prims.list -> stmt') = fun head -> diff --git a/src/ocaml/plugin/generated/Pulse_Checker.ml b/src/ocaml/plugin/generated/Pulse_Checker.ml index 4f240c7e6..71c945315 100644 --- a/src/ocaml/plugin/generated/Pulse_Checker.ml +++ b/src/ocaml/plugin/generated/Pulse_Checker.ml @@ -7,12 +7,12 @@ let (terms_to_string : FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic - (FStar_Range.mk_range "Pulse.Checker.fst" (Prims.of_int (37)) - (Prims.of_int (23)) (Prims.of_int (37)) (Prims.of_int (68))))) + (FStar_Range.mk_range "Pulse.Checker.fst" (Prims.of_int (38)) + (Prims.of_int (23)) (Prims.of_int (38)) (Prims.of_int (68))))) (FStar_Sealed.seal (Obj.magic - (FStar_Range.mk_range "Pulse.Checker.fst" (Prims.of_int (37)) - (Prims.of_int (4)) (Prims.of_int (37)) (Prims.of_int (68))))) + (FStar_Range.mk_range "Pulse.Checker.fst" (Prims.of_int (38)) + (Prims.of_int (4)) (Prims.of_int (38)) (Prims.of_int (68))))) (Obj.magic (FStar_Tactics_Util.map Pulse_Syntax_Printer.term_to_string t)) (fun uu___ -> @@ -99,17 +99,17 @@ let rec (prepare_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (72)) + (Prims.of_int (73)) (Prims.of_int (37)) - (Prims.of_int (74)) + (Prims.of_int (75)) (Prims.of_int (37))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (71)) + (Prims.of_int (72)) (Prims.of_int (30)) - (Prims.of_int (76)) + (Prims.of_int (77)) (Prims.of_int (105))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -117,17 +117,17 @@ let rec (prepare_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (73)) + (Prims.of_int (74)) (Prims.of_int (22)) - (Prims.of_int (73)) + (Prims.of_int (74)) (Prims.of_int (70))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (72)) + (Prims.of_int (73)) (Prims.of_int (37)) - (Prims.of_int (74)) + (Prims.of_int (75)) (Prims.of_int (37))))) (Obj.magic (Pulse_Checker_Inference.gen_uvar @@ -167,17 +167,17 @@ let rec (prepare_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (83)) + (Prims.of_int (84)) (Prims.of_int (10)) - (Prims.of_int (88)) + (Prims.of_int (89)) (Prims.of_int (39))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (81)) + (Prims.of_int (82)) (Prims.of_int (42)) - (Prims.of_int (90)) + (Prims.of_int (91)) (Prims.of_int (98))))) (match t.Pulse_Syntax_Base.t with | Pulse_Syntax_Base.Tm_Unknown -> @@ -188,17 +188,17 @@ let rec (prepare_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (85)) + (Prims.of_int (86)) (Prims.of_int (24)) - (Prims.of_int (85)) + (Prims.of_int (86)) (Prims.of_int (72))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (84)) + (Prims.of_int (85)) (Prims.of_int (25)) - (Prims.of_int (86)) + (Prims.of_int (87)) (Prims.of_int (55))))) (Obj.magic (Pulse_Checker_Inference.gen_uvar @@ -253,13 +253,13 @@ let rec (build_instantiations : FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic - (FStar_Range.mk_range "Pulse.Checker.fst" (Prims.of_int (97)) - (Prims.of_int (29)) (Prims.of_int (109)) + (FStar_Range.mk_range "Pulse.Checker.fst" (Prims.of_int (98)) + (Prims.of_int (29)) (Prims.of_int (110)) (Prims.of_int (102))))) (FStar_Sealed.seal (Obj.magic - (FStar_Range.mk_range "Pulse.Checker.fst" (Prims.of_int (111)) - (Prims.of_int (8)) (Prims.of_int (118)) (Prims.of_int (92))))) + (FStar_Range.mk_range "Pulse.Checker.fst" (Prims.of_int (112)) + (Prims.of_int (8)) (Prims.of_int (119)) (Prims.of_int (92))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun uu___1 -> @@ -269,13 +269,13 @@ let rec (build_instantiations : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (98)) (Prims.of_int (18)) - (Prims.of_int (98)) (Prims.of_int (68))))) + (Prims.of_int (99)) (Prims.of_int (18)) + (Prims.of_int (99)) (Prims.of_int (68))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (99)) (Prims.of_int (10)) - (Prims.of_int (109)) (Prims.of_int (102))))) + (Prims.of_int (100)) (Prims.of_int (10)) + (Prims.of_int (110)) (Prims.of_int (102))))) (Obj.magic (Pulse_Checker_Inference.apply_solution solutions v)) (fun uu___2 -> @@ -306,17 +306,17 @@ let rec (build_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (104)) + (Prims.of_int (105)) (Prims.of_int (22)) - (Prims.of_int (104)) + (Prims.of_int (105)) (Prims.of_int (79))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (105)) + (Prims.of_int (106)) (Prims.of_int (12)) - (Prims.of_int (109)) + (Prims.of_int (110)) (Prims.of_int (102))))) (Obj.magic (Pulse_Checker_Inference.apply_solution @@ -369,30 +369,30 @@ let rec (build_instantiations : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (113)) (Prims.of_int (21)) - (Prims.of_int (113)) (Prims.of_int (53))))) + (Prims.of_int (114)) (Prims.of_int (21)) + (Prims.of_int (114)) (Prims.of_int (53))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (113)) (Prims.of_int (18)) - (Prims.of_int (113)) (Prims.of_int (53))))) + (Prims.of_int (114)) (Prims.of_int (18)) + (Prims.of_int (114)) (Prims.of_int (53))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (113)) + (Prims.of_int (114)) (Prims.of_int (35)) - (Prims.of_int (113)) + (Prims.of_int (114)) (Prims.of_int (50))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (113)) + (Prims.of_int (114)) (Prims.of_int (21)) - (Prims.of_int (113)) + (Prims.of_int (114)) (Prims.of_int (53))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -400,17 +400,17 @@ let rec (build_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (113)) + (Prims.of_int (114)) (Prims.of_int (39)) - (Prims.of_int (113)) + (Prims.of_int (114)) (Prims.of_int (50))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (113)) + (Prims.of_int (114)) (Prims.of_int (35)) - (Prims.of_int (113)) + (Prims.of_int (114)) (Prims.of_int (50))))) (Obj.magic (one_inst hd)) (fun uu___ -> @@ -432,30 +432,30 @@ let rec (build_instantiations : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (115)) (Prims.of_int (23)) - (Prims.of_int (118)) (Prims.of_int (92))))) + (Prims.of_int (116)) (Prims.of_int (23)) + (Prims.of_int (119)) (Prims.of_int (92))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (115)) (Prims.of_int (20)) - (Prims.of_int (118)) (Prims.of_int (92))))) + (Prims.of_int (116)) (Prims.of_int (20)) + (Prims.of_int (119)) (Prims.of_int (92))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (116)) + (Prims.of_int (117)) (Prims.of_int (28)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (89))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (115)) + (Prims.of_int (116)) (Prims.of_int (23)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (92))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -463,17 +463,17 @@ let rec (build_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (116)) + (Prims.of_int (117)) (Prims.of_int (32)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (89))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (116)) + (Prims.of_int (117)) (Prims.of_int (28)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (89))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -481,17 +481,17 @@ let rec (build_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (116)) + (Prims.of_int (117)) (Prims.of_int (35)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (89))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (116)) + (Prims.of_int (117)) (Prims.of_int (32)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (89))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -499,17 +499,17 @@ let rec (build_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (116)) + (Prims.of_int (117)) (Prims.of_int (46)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (86))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (116)) + (Prims.of_int (117)) (Prims.of_int (35)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (89))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -517,17 +517,17 @@ let rec (build_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (53)) - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (88))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (116)) + (Prims.of_int (117)) (Prims.of_int (46)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (86))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -536,18 +536,18 @@ let rec (build_instantiations : ( FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (56)) - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (88))))) (FStar_Sealed.seal (Obj.magic ( FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (53)) - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (88))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -556,18 +556,18 @@ let rec (build_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (70)) - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (85))))) ( FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (56)) - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (88))))) ( Obj.magic @@ -576,17 +576,17 @@ let rec (build_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (74)) - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (85))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (70)) - (Prims.of_int (117)) + (Prims.of_int (118)) (Prims.of_int (85))))) (Obj.magic (one_inst @@ -622,17 +622,17 @@ let rec (build_instantiations : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (53)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (86))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (116)) + (Prims.of_int (117)) (Prims.of_int (46)) - (Prims.of_int (118)) + (Prims.of_int (119)) (Prims.of_int (86))))) (Obj.magic (build_instantiations @@ -688,13 +688,13 @@ let (maybe_infer_intro_exists : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (125)) (Prims.of_int (33)) - (Prims.of_int (137)) (Prims.of_int (18))))) + (Prims.of_int (126)) (Prims.of_int (33)) + (Prims.of_int (138)) (Prims.of_int (18))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (142)) (Prims.of_int (4)) - (Prims.of_int (221)) (Prims.of_int (10))))) + (Prims.of_int (143)) (Prims.of_int (4)) + (Prims.of_int (222)) (Prims.of_int (10))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun t -> @@ -741,13 +741,13 @@ let (maybe_infer_intro_exists : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (142)) (Prims.of_int (4)) - (Prims.of_int (147)) (Prims.of_int (5))))) + (Prims.of_int (143)) (Prims.of_int (4)) + (Prims.of_int (148)) (Prims.of_int (5))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (147)) (Prims.of_int (6)) - (Prims.of_int (221)) (Prims.of_int (10))))) + (Prims.of_int (148)) (Prims.of_int (6)) + (Prims.of_int (222)) (Prims.of_int (10))))) (if Pulse_RuntimeUtils.debug_at_level (Pulse_Typing_Env.fstar_env g) "inference" @@ -759,17 +759,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (144)) + (Prims.of_int (145)) (Prims.of_int (14)) - (Prims.of_int (146)) + (Prims.of_int (147)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (143)) + (Prims.of_int (144)) (Prims.of_int (9)) - (Prims.of_int (147)) + (Prims.of_int (148)) (Prims.of_int (5))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -777,17 +777,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (146)) + (Prims.of_int (147)) (Prims.of_int (18)) - (Prims.of_int (146)) + (Prims.of_int (147)) (Prims.of_int (42))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (144)) + (Prims.of_int (145)) (Prims.of_int (14)) - (Prims.of_int (146)) + (Prims.of_int (147)) (Prims.of_int (43))))) (Obj.magic (Pulse_Syntax_Printer.st_term_to_string @@ -800,17 +800,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (144)) + (Prims.of_int (145)) (Prims.of_int (14)) - (Prims.of_int (146)) + (Prims.of_int (147)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (144)) + (Prims.of_int (145)) (Prims.of_int (14)) - (Prims.of_int (146)) + (Prims.of_int (147)) (Prims.of_int (43))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -818,9 +818,9 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (145)) + (Prims.of_int (146)) (Prims.of_int (18)) - (Prims.of_int (145)) + (Prims.of_int (146)) (Prims.of_int (46))))) (FStar_Sealed.seal (Obj.magic @@ -868,17 +868,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (148)) + (Prims.of_int (149)) (Prims.of_int (50)) - (Prims.of_int (148)) + (Prims.of_int (149)) (Prims.of_int (57))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (147)) + (Prims.of_int (148)) (Prims.of_int (6)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> st.Pulse_Syntax_Base.term1)) @@ -900,17 +900,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (149)) + (Prims.of_int (150)) (Prims.of_int (15)) - (Prims.of_int (149)) + (Prims.of_int (150)) (Prims.of_int (64))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (148)) + (Prims.of_int (149)) (Prims.of_int (60)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (Obj.magic (Pulse_Checker_Pure.instantiate_term_implicits @@ -926,18 +926,18 @@ let (maybe_infer_intro_exists : ( FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (150)) + (Prims.of_int (151)) (Prims.of_int (33)) - (Prims.of_int (150)) + (Prims.of_int (151)) (Prims.of_int (75))))) (FStar_Sealed.seal (Obj.magic ( FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (149)) + (Prims.of_int (150)) (Prims.of_int (67)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (Obj.magic (prepare_instantiations @@ -959,17 +959,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (151)) + (Prims.of_int (152)) (Prims.of_int (37)) - (Prims.of_int (151)) + (Prims.of_int (152)) (Prims.of_int (69))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (150)) + (Prims.of_int (151)) (Prims.of_int (78)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (FStar_Tactics_Effect.lift_div_tac (fun @@ -992,17 +992,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (152)) + (Prims.of_int (153)) (Prims.of_int (20)) - (Prims.of_int (152)) + (Prims.of_int (153)) (Prims.of_int (81))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (152)) + (Prims.of_int (153)) (Prims.of_int (84)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (Obj.magic (Pulse_Checker_Inference.try_inst_uvs_in_goal @@ -1019,17 +1019,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (159)) + (Prims.of_int (160)) (Prims.of_int (38)) - (Prims.of_int (166)) + (Prims.of_int (167)) (Prims.of_int (22))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (167)) + (Prims.of_int (168)) (Prims.of_int (6)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (FStar_Tactics_Effect.lift_div_tac (fun @@ -1043,17 +1043,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (160)) + (Prims.of_int (161)) (Prims.of_int (14)) - (Prims.of_int (160)) + (Prims.of_int (161)) (Prims.of_int (64))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (161)) + (Prims.of_int (162)) (Prims.of_int (6)) - (Prims.of_int (166)) + (Prims.of_int (167)) (Prims.of_int (22))))) (Obj.magic (Pulse_Checker_Inference.apply_solution @@ -1076,17 +1076,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (163)) + (Prims.of_int (164)) (Prims.of_int (19)) - (Prims.of_int (163)) + (Prims.of_int (164)) (Prims.of_int (72))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (164)) + (Prims.of_int (165)) (Prims.of_int (8)) - (Prims.of_int (164)) + (Prims.of_int (165)) (Prims.of_int (24))))) (Obj.magic (Pulse_Checker_Inference.try_solve_pure_equalities @@ -1119,17 +1119,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (168)) + (Prims.of_int (169)) (Prims.of_int (20)) - (Prims.of_int (168)) + (Prims.of_int (169)) (Prims.of_int (73))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (169)) + (Prims.of_int (170)) (Prims.of_int (4)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (Obj.magic (FStar_Tactics_Util.fold_left @@ -1147,17 +1147,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (169)) + (Prims.of_int (170)) (Prims.of_int (4)) - (Prims.of_int (176)) + (Prims.of_int (177)) (Prims.of_int (5))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (176)) + (Prims.of_int (177)) (Prims.of_int (6)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (if Pulse_RuntimeUtils.debug_at_level @@ -1172,17 +1172,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (172)) + (Prims.of_int (173)) (Prims.of_int (8)) - (Prims.of_int (175)) + (Prims.of_int (176)) (Prims.of_int (68))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (170)) + (Prims.of_int (171)) (Prims.of_int (9)) - (Prims.of_int (176)) + (Prims.of_int (177)) (Prims.of_int (5))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -1190,17 +1190,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (175)) + (Prims.of_int (176)) (Prims.of_int (12)) - (Prims.of_int (175)) + (Prims.of_int (176)) (Prims.of_int (67))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (172)) + (Prims.of_int (173)) (Prims.of_int (8)) - (Prims.of_int (175)) + (Prims.of_int (176)) (Prims.of_int (68))))) (Obj.magic (Pulse_Checker_Inference.solutions_to_string @@ -1215,17 +1215,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (172)) + (Prims.of_int (173)) (Prims.of_int (8)) - (Prims.of_int (175)) + (Prims.of_int (176)) (Prims.of_int (68))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (172)) + (Prims.of_int (173)) (Prims.of_int (8)) - (Prims.of_int (175)) + (Prims.of_int (176)) (Prims.of_int (68))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -1233,9 +1233,9 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (174)) + (Prims.of_int (175)) (Prims.of_int (12)) - (Prims.of_int (174)) + (Prims.of_int (175)) (Prims.of_int (61))))) (FStar_Sealed.seal (Obj.magic @@ -1296,17 +1296,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (177)) + (Prims.of_int (178)) (Prims.of_int (40)) - (Prims.of_int (181)) + (Prims.of_int (182)) (Prims.of_int (73))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (182)) + (Prims.of_int (183)) (Prims.of_int (6)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (FStar_Tactics_Effect.lift_div_tac (fun @@ -1349,17 +1349,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (184)) + (Prims.of_int (185)) (Prims.of_int (6)) - (Prims.of_int (186)) + (Prims.of_int (187)) (Prims.of_int (31))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (187)) + (Prims.of_int (188)) (Prims.of_int (6)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (FStar_Tactics_Effect.lift_div_tac (fun @@ -1399,17 +1399,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (189)) + (Prims.of_int (190)) (Prims.of_int (6)) - (Prims.of_int (195)) + (Prims.of_int (196)) (Prims.of_int (17))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (196)) + (Prims.of_int (197)) (Prims.of_int (6)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (Obj.magic (FStar_Tactics_Util.map @@ -1424,17 +1424,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (191)) + (Prims.of_int (192)) (Prims.of_int (20)) - (Prims.of_int (191)) + (Prims.of_int (192)) (Prims.of_int (70))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (192)) + (Prims.of_int (193)) (Prims.of_int (10)) - (Prims.of_int (194)) + (Prims.of_int (195)) (Prims.of_int (48))))) (Obj.magic (Pulse_Checker_Inference.apply_solution @@ -1473,17 +1473,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (198)) + (Prims.of_int (199)) (Prims.of_int (6)) - (Prims.of_int (202)) + (Prims.of_int (203)) (Prims.of_int (18))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (203)) + (Prims.of_int (204)) (Prims.of_int (6)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (match Pulse_Checker_Inference.unsolved @@ -1500,17 +1500,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (200)) - (Prims.of_int (31)) (Prims.of_int (201)) + (Prims.of_int (31)) + (Prims.of_int (202)) (Prims.of_int (126))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (200)) - (Prims.of_int (8)) (Prims.of_int (201)) + (Prims.of_int (8)) + (Prims.of_int (202)) (Prims.of_int (126))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -1518,9 +1518,9 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (201)) + (Prims.of_int (202)) (Prims.of_int (36)) - (Prims.of_int (201)) + (Prims.of_int (202)) (Prims.of_int (125))))) (FStar_Sealed.seal (Obj.magic @@ -1536,17 +1536,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (201)) + (Prims.of_int (202)) (Prims.of_int (56)) - (Prims.of_int (201)) + (Prims.of_int (202)) (Prims.of_int (124))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (201)) + (Prims.of_int (202)) (Prims.of_int (36)) - (Prims.of_int (201)) + (Prims.of_int (202)) (Prims.of_int (125))))) (Obj.magic (FStar_Tactics_Util.map @@ -1608,17 +1608,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (204)) + (Prims.of_int (205)) (Prims.of_int (17)) - (Prims.of_int (204)) + (Prims.of_int (205)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (204)) + (Prims.of_int (205)) (Prims.of_int (48)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (FStar_Tactics_Effect.lift_div_tac (fun @@ -1641,17 +1641,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (205)) + (Prims.of_int (206)) (Prims.of_int (29)) - (Prims.of_int (205)) + (Prims.of_int (206)) (Prims.of_int (65))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (205)) + (Prims.of_int (206)) (Prims.of_int (68)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (Obj.magic (build_instantiations @@ -1668,17 +1668,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (207)) + (Prims.of_int (208)) (Prims.of_int (6)) - (Prims.of_int (212)) + (Prims.of_int (213)) (Prims.of_int (21))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (213)) + (Prims.of_int (214)) (Prims.of_int (6)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (Obj.magic (FStar_Tactics_Util.map @@ -1689,17 +1689,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (209)) + (Prims.of_int (210)) (Prims.of_int (16)) - (Prims.of_int (209)) + (Prims.of_int (210)) (Prims.of_int (71))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (209)) + (Prims.of_int (210)) (Prims.of_int (10)) - (Prims.of_int (211)) + (Prims.of_int (212)) (Prims.of_int (19))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -1707,17 +1707,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (209)) + (Prims.of_int (210)) (Prims.of_int (16)) - (Prims.of_int (209)) + (Prims.of_int (210)) (Prims.of_int (69))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (209)) + (Prims.of_int (210)) (Prims.of_int (16)) - (Prims.of_int (209)) + (Prims.of_int (210)) (Prims.of_int (71))))) (Obj.magic (Pulse_Checker_Inference.apply_solution @@ -1756,17 +1756,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (214)) + (Prims.of_int (215)) (Prims.of_int (25)) - (Prims.of_int (214)) + (Prims.of_int (215)) (Prims.of_int (49))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (214)) + (Prims.of_int (215)) (Prims.of_int (52)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (FStar_Tactics_Effect.lift_div_tac (fun @@ -1784,17 +1784,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (215)) + (Prims.of_int (216)) (Prims.of_int (17)) - (Prims.of_int (215)) + (Prims.of_int (216)) (Prims.of_int (111))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (216)) + (Prims.of_int (217)) (Prims.of_int (4)) - (Prims.of_int (221)) + (Prims.of_int (222)) (Prims.of_int (10))))) (FStar_Tactics_Effect.lift_div_tac (fun @@ -1814,17 +1814,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (216)) + (Prims.of_int (217)) (Prims.of_int (4)) - (Prims.of_int (220)) + (Prims.of_int (221)) (Prims.of_int (5))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (215)) + (Prims.of_int (216)) (Prims.of_int (8)) - (Prims.of_int (215)) + (Prims.of_int (216)) (Prims.of_int (14))))) (if Pulse_RuntimeUtils.debug_at_level @@ -1839,17 +1839,17 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (218)) - (Prims.of_int (14)) (Prims.of_int (219)) + (Prims.of_int (14)) + (Prims.of_int (220)) (Prims.of_int (45))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (217)) + (Prims.of_int (218)) (Prims.of_int (9)) - (Prims.of_int (220)) + (Prims.of_int (221)) (Prims.of_int (5))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -1857,9 +1857,9 @@ let (maybe_infer_intro_exists : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (219)) + (Prims.of_int (220)) (Prims.of_int (16)) - (Prims.of_int (219)) + (Prims.of_int (220)) (Prims.of_int (44))))) (FStar_Sealed.seal (Obj.magic @@ -1943,13 +1943,13 @@ let (handle_framing_failure : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (233)) (Prims.of_int (17)) - (Prims.of_int (233)) (Prims.of_int (43))))) + (Prims.of_int (234)) (Prims.of_int (17)) + (Prims.of_int (234)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (234)) (Prims.of_int (4)) - (Prims.of_int (279)) (Prims.of_int (30))))) + (Prims.of_int (235)) (Prims.of_int (4)) + (Prims.of_int (280)) (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun t -> @@ -1965,13 +1965,13 @@ let (handle_framing_failure : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (234)) (Prims.of_int (4)) - (Prims.of_int (242)) (Prims.of_int (5))))) + (Prims.of_int (235)) (Prims.of_int (4)) + (Prims.of_int (243)) (Prims.of_int (5))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (242)) (Prims.of_int (6)) - (Prims.of_int (279)) + (Prims.of_int (243)) (Prims.of_int (6)) + (Prims.of_int (280)) (Prims.of_int (30))))) (if Pulse_RuntimeUtils.debug_at_level @@ -1984,17 +1984,17 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (236)) + (Prims.of_int (237)) (Prims.of_int (14)) - (Prims.of_int (241)) + (Prims.of_int (242)) (Prims.of_int (66))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (235)) + (Prims.of_int (236)) (Prims.of_int (9)) - (Prims.of_int (242)) + (Prims.of_int (243)) (Prims.of_int (5))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2002,17 +2002,17 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (241)) + (Prims.of_int (242)) (Prims.of_int (22)) - (Prims.of_int (241)) + (Prims.of_int (242)) (Prims.of_int (65))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (236)) + (Prims.of_int (237)) (Prims.of_int (14)) - (Prims.of_int (241)) + (Prims.of_int (242)) (Prims.of_int (66))))) (Obj.magic (terms_to_string @@ -2025,17 +2025,17 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (236)) + (Prims.of_int (237)) (Prims.of_int (14)) - (Prims.of_int (241)) + (Prims.of_int (242)) (Prims.of_int (66))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (236)) + (Prims.of_int (237)) (Prims.of_int (14)) - (Prims.of_int (241)) + (Prims.of_int (242)) (Prims.of_int (66))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2043,17 +2043,17 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (240)) + (Prims.of_int (241)) (Prims.of_int (22)) - (Prims.of_int (240)) + (Prims.of_int (241)) (Prims.of_int (71))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (236)) + (Prims.of_int (237)) (Prims.of_int (14)) - (Prims.of_int (241)) + (Prims.of_int (242)) (Prims.of_int (66))))) (Obj.magic (terms_to_string @@ -2067,17 +2067,17 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (236)) + (Prims.of_int (237)) (Prims.of_int (14)) - (Prims.of_int (241)) + (Prims.of_int (242)) (Prims.of_int (66))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (236)) + (Prims.of_int (237)) (Prims.of_int (14)) - (Prims.of_int (241)) + (Prims.of_int (242)) (Prims.of_int (66))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2085,9 +2085,9 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (239)) + (Prims.of_int (240)) (Prims.of_int (22)) - (Prims.of_int (239)) + (Prims.of_int (240)) (Prims.of_int (46))))) (FStar_Sealed.seal (Obj.magic @@ -2150,17 +2150,17 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (244)) + (Prims.of_int (245)) (Prims.of_int (6)) - (Prims.of_int (244)) + (Prims.of_int (245)) (Prims.of_int (101))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (242)) + (Prims.of_int (243)) (Prims.of_int (6)) - (Prims.of_int (279)) + (Prims.of_int (280)) (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> @@ -2186,17 +2186,17 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (247)) + (Prims.of_int (248)) (Prims.of_int (6)) - (Prims.of_int (253)) + (Prims.of_int (254)) (Prims.of_int (13))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (254)) + (Prims.of_int (255)) (Prims.of_int (6)) - (Prims.of_int (279)) + (Prims.of_int (280)) (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Util.fold_left @@ -2254,17 +2254,17 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (261)) + (Prims.of_int (262)) (Prims.of_int (14)) - (Prims.of_int (273)) + (Prims.of_int (274)) (Prims.of_int (15))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (275)) + (Prims.of_int (276)) (Prims.of_int (10)) - (Prims.of_int (275)) + (Prims.of_int (276)) (Prims.of_int (41))))) (FStar_Tactics_Effect.lift_div_tac (fun @@ -2323,17 +2323,17 @@ let (handle_framing_failure : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (277)) + (Prims.of_int (278)) (Prims.of_int (32)) - (Prims.of_int (277)) + (Prims.of_int (278)) (Prims.of_int (85))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (277)) + (Prims.of_int (278)) (Prims.of_int (9)) - (Prims.of_int (277)) + (Prims.of_int (278)) (Prims.of_int (85))))) (Obj.magic (Pulse_Checker_Common.format_failed_goal @@ -2430,13 +2430,13 @@ let (elim_then_check : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (302)) (Prims.of_int (48)) - (Prims.of_int (302)) (Prims.of_int (82))))) + (Prims.of_int (303)) (Prims.of_int (48)) + (Prims.of_int (303)) (Prims.of_int (82))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (302)) (Prims.of_int (3)) - (Prims.of_int (309)) (Prims.of_int (44))))) + (Prims.of_int (303)) (Prims.of_int (3)) + (Prims.of_int (310)) (Prims.of_int (44))))) (Obj.magic (Pulse_Prover_ElimExists.elim_exists g ctxt ())) (fun uu___ -> (fun uu___ -> @@ -2449,17 +2449,17 @@ let (elim_then_check : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (303)) + (Prims.of_int (304)) (Prims.of_int (51)) - (Prims.of_int (303)) + (Prims.of_int (304)) (Prims.of_int (82))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (302)) + (Prims.of_int (303)) (Prims.of_int (85)) - (Prims.of_int (309)) + (Prims.of_int (310)) (Prims.of_int (44))))) (Obj.magic (Pulse_Prover_ElimPure.elim_pure g' ctxt' @@ -2477,17 +2477,17 @@ let (elim_then_check : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (304)) + (Prims.of_int (305)) (Prims.of_int (4)) - (Prims.of_int (307)) + (Prims.of_int (308)) (Prims.of_int (44))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (307)) + (Prims.of_int (308)) (Prims.of_int (46)) - (Prims.of_int (309)) + (Prims.of_int (310)) (Prims.of_int (44))))) (if Pulse_RuntimeUtils.debug_at_level @@ -2501,17 +2501,17 @@ let (elim_then_check : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (305)) + (Prims.of_int (306)) (Prims.of_int (19)) - (Prims.of_int (307)) + (Prims.of_int (308)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (305)) + (Prims.of_int (306)) (Prims.of_int (9)) - (Prims.of_int (307)) + (Prims.of_int (308)) (Prims.of_int (44))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2519,17 +2519,17 @@ let (elim_then_check : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (307)) + (Prims.of_int (308)) (Prims.of_int (16)) - (Prims.of_int (307)) + (Prims.of_int (308)) (Prims.of_int (41))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (305)) + (Prims.of_int (306)) (Prims.of_int (19)) - (Prims.of_int (307)) + (Prims.of_int (308)) (Prims.of_int (43))))) (Obj.magic (Pulse_Syntax_Printer.term_to_string @@ -2543,17 +2543,17 @@ let (elim_then_check : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (305)) + (Prims.of_int (306)) (Prims.of_int (19)) - (Prims.of_int (307)) + (Prims.of_int (308)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (305)) + (Prims.of_int (306)) (Prims.of_int (19)) - (Prims.of_int (307)) + (Prims.of_int (308)) (Prims.of_int (43))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2561,9 +2561,9 @@ let (elim_then_check : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (306)) + (Prims.of_int (307)) (Prims.of_int (16)) - (Prims.of_int (306)) + (Prims.of_int (307)) (Prims.of_int (39))))) (FStar_Sealed.seal (Obj.magic @@ -2617,17 +2617,17 @@ let (elim_then_check : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (308)) + (Prims.of_int (309)) (Prims.of_int (14)) - (Prims.of_int (308)) + (Prims.of_int (309)) (Prims.of_int (66))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (309)) + (Prims.of_int (310)) (Prims.of_int (4)) - (Prims.of_int (309)) + (Prims.of_int (310)) (Prims.of_int (44))))) (Obj.magic (check g'' @@ -2643,18 +2643,18 @@ let (elim_then_check : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (309)) + (Prims.of_int (310)) (Prims.of_int (21)) - (Prims.of_int (309)) + (Prims.of_int (310)) (Prims.of_int (44))))) ( FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (309)) + (Prims.of_int (310)) (Prims.of_int (4)) - (Prims.of_int (309)) + (Prims.of_int (310)) (Prims.of_int (44))))) ( Obj.magic @@ -2690,13 +2690,13 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (330)) (Prims.of_int (4)) - (Prims.of_int (335)) (Prims.of_int (5))))) + (Prims.of_int (331)) (Prims.of_int (4)) + (Prims.of_int (337)) (Prims.of_int (5))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (335)) (Prims.of_int (6)) - (Prims.of_int (428)) (Prims.of_int (20))))) + (Prims.of_int (337)) (Prims.of_int (6)) + (Prims.of_int (454)) (Prims.of_int (20))))) (if Pulse_RuntimeUtils.debug_at_level (Pulse_Typing_Env.fstar_env g) "proof_states" @@ -2707,99 +2707,168 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (332)) - (Prims.of_int (14)) - (Prims.of_int (334)) + (Prims.of_int (333)) (Prims.of_int (6)) + (Prims.of_int (335)) (Prims.of_int (51))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (331)) (Prims.of_int (9)) - (Prims.of_int (335)) (Prims.of_int (5))))) + (Prims.of_int (336)) (Prims.of_int (6)) + (Prims.of_int (336)) + (Prims.of_int (46))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (334)) - (Prims.of_int (28)) - (Prims.of_int (334)) - (Prims.of_int (50))))) + (Prims.of_int (333)) + (Prims.of_int (14)) + (Prims.of_int (335)) + (Prims.of_int (51))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (332)) - (Prims.of_int (14)) - (Prims.of_int (334)) + (Prims.of_int (333)) + (Prims.of_int (6)) + (Prims.of_int (335)) (Prims.of_int (51))))) (Obj.magic - (Pulse_Syntax_Printer.term_to_string - pre)) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Sealed.seal - (Obj.magic - (FStar_Range.mk_range - "Pulse.Checker.fst" - (Prims.of_int (332)) - (Prims.of_int (14)) - (Prims.of_int (334)) - (Prims.of_int (51))))) - (FStar_Sealed.seal - (Obj.magic - (FStar_Range.mk_range - "Pulse.Checker.fst" - (Prims.of_int (332)) - (Prims.of_int (14)) - (Prims.of_int (334)) - (Prims.of_int (51))))) - (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (335)) + (Prims.of_int (28)) + (Prims.of_int (335)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (333)) + (Prims.of_int (14)) + (Prims.of_int (335)) + (Prims.of_int (51))))) + (Obj.magic + (Pulse_Syntax_Printer.term_to_string + pre)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" (Prims.of_int (333)) - (Prims.of_int (28)) - (Prims.of_int (333)) - (Prims.of_int (55))))) + (Prims.of_int (14)) + (Prims.of_int (335)) + (Prims.of_int (51))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range - "FStar.Printf.fst" - (Prims.of_int (121)) - (Prims.of_int (8)) - (Prims.of_int (123)) - (Prims.of_int (44))))) + "Pulse.Checker.fst" + (Prims.of_int (333)) + (Prims.of_int (14)) + (Prims.of_int (335)) + (Prims.of_int (51))))) (Obj.magic - (FStar_Tactics_V2_Builtins.range_to_string - t.Pulse_Syntax_Base.range2)) + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (334)) + (Prims.of_int (28)) + (Prims.of_int (334)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Printf.fst" + (Prims.of_int (121)) + (Prims.of_int (8)) + (Prims.of_int (123)) + (Prims.of_int (44))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.range_to_string + t.Pulse_Syntax_Base.range2)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + fun x -> + Prims.strcat + (Prims.strcat + "At " + (Prims.strcat + uu___2 + ": context is {\n")) + (Prims.strcat + x "\n}"))))) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> - fun x -> - Prims.strcat - (Prims.strcat - "At " - (Prims.strcat - uu___2 - ": context is {\n")) - (Prims.strcat - x "\n}"))))) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - uu___2 uu___1)))) - uu___1))) + uu___2 uu___1)))) + uu___1))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_V2_Builtins.print + uu___1)) uu___1))) (fun uu___1 -> (fun uu___1 -> Obj.magic - (FStar_Tactics_V2_Builtins.print uu___1)) - uu___1))) + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (336)) + (Prims.of_int (14)) + (Prims.of_int (336)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (336)) + (Prims.of_int (6)) + (Prims.of_int (336)) + (Prims.of_int (46))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (336)) + (Prims.of_int (24)) + (Prims.of_int (336)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (Pulse_Syntax_Printer.st_term_to_string + t)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + Prims.strcat "t = " + uu___2)))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V2_Builtins.print + uu___2)) uu___2))) uu___1))) else Obj.magic (Obj.repr @@ -2812,16 +2881,16 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (336)) + (Prims.of_int (338)) (Prims.of_int (12)) - (Prims.of_int (336)) + (Prims.of_int (338)) (Prims.of_int (23))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (336)) + (Prims.of_int (338)) (Prims.of_int (26)) - (Prims.of_int (428)) + (Prims.of_int (454)) (Prims.of_int (20))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> unprotect t)) @@ -2833,17 +2902,17 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (337)) + (Prims.of_int (339)) (Prims.of_int (12)) - (Prims.of_int (337)) + (Prims.of_int (339)) (Prims.of_int (55))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (338)) + (Prims.of_int (340)) (Prims.of_int (4)) - (Prims.of_int (428)) + (Prims.of_int (454)) (Prims.of_int (20))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -2941,17 +3010,17 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (360)) + (Prims.of_int (362)) (Prims.of_int (10)) - (Prims.of_int (376)) + (Prims.of_int (378)) (Prims.of_int (97))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (377)) - (Prims.of_int (10)) (Prims.of_int (379)) + (Prims.of_int (10)) + (Prims.of_int (381)) (Prims.of_int (60))))) (match (post_if, @@ -2990,17 +3059,17 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (366)) + (Prims.of_int (368)) (Prims.of_int (14)) - (Prims.of_int (371)) + (Prims.of_int (373)) (Prims.of_int (39))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (365)) + (Prims.of_int (367)) (Prims.of_int (12)) - (Prims.of_int (371)) + (Prims.of_int (373)) (Prims.of_int (39))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -3008,17 +3077,17 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (371)) + (Prims.of_int (373)) (Prims.of_int (18)) - (Prims.of_int (371)) + (Prims.of_int (373)) (Prims.of_int (38))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (366)) + (Prims.of_int (368)) (Prims.of_int (14)) - (Prims.of_int (371)) + (Prims.of_int (373)) (Prims.of_int (39))))) (Obj.magic (Pulse_Syntax_Printer.term_to_string @@ -3033,17 +3102,17 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (366)) + (Prims.of_int (368)) (Prims.of_int (14)) - (Prims.of_int (371)) + (Prims.of_int (373)) (Prims.of_int (39))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (366)) + (Prims.of_int (368)) (Prims.of_int (14)) - (Prims.of_int (371)) + (Prims.of_int (373)) (Prims.of_int (39))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -3051,9 +3120,9 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (370)) + (Prims.of_int (372)) (Prims.of_int (18)) - (Prims.of_int (370)) + (Prims.of_int (372)) (Prims.of_int (60))))) (FStar_Sealed.seal (Obj.magic @@ -3120,17 +3189,17 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (378)) + (Prims.of_int (380)) (Prims.of_int (28)) - (Prims.of_int (378)) + (Prims.of_int (380)) (Prims.of_int (83))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (377)) - (Prims.of_int (10)) (Prims.of_int (379)) + (Prims.of_int (10)) + (Prims.of_int (381)) (Prims.of_int (60))))) (Obj.magic (Pulse_Checker_If.check_if @@ -3154,6 +3223,237 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (t2, c, d))))) uu___3))) + | Pulse_Syntax_Base.Tm_Match + { + Pulse_Syntax_Base.sc + = sc; + Pulse_Syntax_Base.returns_ + = + post_match; + Pulse_Syntax_Base.brs + = brs;_} + -> + Obj.magic + ( + Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (386)) + (Prims.of_int (10)) + (Prims.of_int (402)) + (Prims.of_int (97))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (403)) + (Prims.of_int (10)) + (Prims.of_int (405)) + (Prims.of_int (60))))) + (match + (post_match, + post_hint) + with + | + (FStar_Pervasives_Native.None, + FStar_Pervasives_Native.Some + p) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + p))) + | + (FStar_Pervasives_Native.Some + p, + FStar_Pervasives_Native.None) + -> + Obj.magic + (Obj.repr + (Pulse_Checker_Common.intro_post_hint + g1 + FStar_Pervasives_Native.None + p)) + | + (FStar_Pervasives_Native.Some + p, + FStar_Pervasives_Native.Some + q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (392)) + (Prims.of_int (14)) + (Prims.of_int (397)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (391)) + (Prims.of_int (12)) + (Prims.of_int (397)) + (Prims.of_int (39))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (397)) + (Prims.of_int (18)) + (Prims.of_int (397)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (392)) + (Prims.of_int (14)) + (Prims.of_int (397)) + (Prims.of_int (39))))) + (Obj.magic + (Pulse_Syntax_Printer.term_to_string + p)) + (fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (392)) + (Prims.of_int (14)) + (Prims.of_int (397)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (392)) + (Prims.of_int (14)) + (Prims.of_int (397)) + (Prims.of_int (39))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (396)) + (Prims.of_int (18)) + (Prims.of_int (396)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Printf.fst" + (Prims.of_int (121)) + (Prims.of_int (8)) + (Prims.of_int (123)) + (Prims.of_int (44))))) + (Obj.magic + (Pulse_Syntax_Printer.term_to_string + q.Pulse_Typing.post)) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + fun x -> + Prims.strcat + (Prims.strcat + "Multiple annotated postconditions---remove one of them.\nThe context expects the postcondition " + (Prims.strcat + uu___4 + ",\nbut this conditional was annotated with postcondition ")) + (Prims.strcat + x ""))))) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + uu___4 + uu___3)))) + uu___3))) + (fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (Pulse_Typing_Env.fail + g1 + (FStar_Pervasives_Native.Some + (t1.Pulse_Syntax_Base.range2)) + uu___3)) + uu___3))) + | + (uu___3, + uu___4) + -> + Obj.magic + (Obj.repr + (Pulse_Typing_Env.fail + g1 + (FStar_Pervasives_Native.Some + (t1.Pulse_Syntax_Base.range2)) + "Pulse cannot yet infer a postcondition for a non-tail conditional statement;\nEither annotate this `if` with `returns` clause; or rewrite your code to use a tail conditional"))) + (fun + uu___3 -> + (fun post + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (404)) + (Prims.of_int (28)) + (Prims.of_int (404)) + (Prims.of_int (88))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.fst" + (Prims.of_int (403)) + (Prims.of_int (10)) + (Prims.of_int (405)) + (Prims.of_int (60))))) + (Obj.magic + (Pulse_Checker_Match.check_match + g1 sc brs + pre () + post + (check' + true))) + (fun + uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___4 -> + match uu___3 + with + | + FStar_Pervasives.Mkdtuple3 + (t2, c, + d) -> + FStar_Pervasives.Mkdtuple3 + (t2, c, + d))))) + uu___3))) | Pulse_Syntax_Base.Tm_IntroPure uu___3 -> Obj.magic @@ -3192,17 +3492,17 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (389)) + (Prims.of_int (415)) (Prims.of_int (10)) - (Prims.of_int (395)) + (Prims.of_int (421)) (Prims.of_int (21))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (397)) + (Prims.of_int (423)) (Prims.of_int (8)) - (Prims.of_int (406)) + (Prims.of_int (432)) (Prims.of_int (9))))) (FStar_Tactics_Effect.lift_div_tac (fun @@ -3237,17 +3537,17 @@ let rec (check' : Prims.bool -> Pulse_Checker_Common.check_t) = (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (399)) + (Prims.of_int (425)) (Prims.of_int (29)) - (Prims.of_int (399)) + (Prims.of_int (425)) (Prims.of_int (61))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.fst" - (Prims.of_int (402)) + (Prims.of_int (428)) (Prims.of_int (10)) - (Prims.of_int (402)) + (Prims.of_int (428)) (Prims.of_int (67))))) (Obj.magic (maybe_infer_intro_exists diff --git a/src/ocaml/plugin/generated/Pulse_Checker_Match.ml b/src/ocaml/plugin/generated/Pulse_Checker_Match.ml new file mode 100644 index 000000000..177c62aca --- /dev/null +++ b/src/ocaml/plugin/generated/Pulse_Checker_Match.ml @@ -0,0 +1,1753 @@ +open Prims +let rec (readback_pat : + FStar_Reflection_V2_Data.pattern -> + Pulse_Syntax_Base.pattern FStar_Pervasives_Native.option) + = + fun p -> + match p with + | FStar_Reflection_V2_Data.Pat_Cons (fv, uu___, args) -> + let fv1 = FStar_Reflection_V2_Builtins.inspect_fv fv in + Pulse_Syntax_Pure.op_let_Question + (Pulse_Common.map_opt_dec p readback_sub_pat args) + (fun args1 -> + FStar_Pervasives_Native.Some + (Pulse_Syntax_Base.Pat_Cons + ({ + Pulse_Syntax_Base.fv_name = fv1; + Pulse_Syntax_Base.fv_range = FStar_Range.range_0 + }, args1))) + | FStar_Reflection_V2_Data.Pat_Constant c -> + FStar_Pervasives_Native.Some (Pulse_Syntax_Base.Pat_Constant c) + | FStar_Reflection_V2_Data.Pat_Var (st, nm) -> + FStar_Pervasives_Native.Some (Pulse_Syntax_Base.Pat_Var nm) + | FStar_Reflection_V2_Data.Pat_Dot_Term (FStar_Pervasives_Native.None) -> + FStar_Pervasives_Native.Some + (Pulse_Syntax_Base.Pat_Dot_Term FStar_Pervasives_Native.None) + | FStar_Reflection_V2_Data.Pat_Dot_Term (FStar_Pervasives_Native.Some t) + -> + if + FStar_Reflection_V2_Data.uu___is_Tv_Unknown + (FStar_Reflection_V2_Builtins.inspect_ln t) + then FStar_Pervasives_Native.None + else + (let t1 = Pulse_Syntax_Base.tm_fstar t FStar_Range.range_0 in + FStar_Pervasives_Native.Some + (Pulse_Syntax_Base.Pat_Dot_Term + (FStar_Pervasives_Native.Some t1))) + | uu___ -> FStar_Pervasives_Native.None +and (readback_sub_pat : + (FStar_Reflection_V2_Data.pattern * Prims.bool) -> + (Pulse_Syntax_Base.pattern * Prims.bool) FStar_Pervasives_Native.option) + = + fun pb -> + let uu___ = pb in + match uu___ with + | (p, b) -> + Pulse_Syntax_Pure.op_let_Question (readback_pat p) + (fun p1 -> FStar_Pervasives_Native.Some (p1, b)) + +type ('b1, 'b2) samepat = unit +type ('bs1, 'bs2) samepats = unit +let (open_st_term_bs : + Pulse_Syntax_Base.st_term -> + Pulse_Typing_Env.binding Prims.list -> + (Pulse_Syntax_Base.st_term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun t -> + fun bs -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + let rec aux bs1 i = + match bs1 with + | [] -> [] + | b::bs2 -> + (Pulse_Syntax_Naming.DT + (i, + (Pulse_Syntax_Pure.term_of_nvar + (Pulse_Syntax_Base.ppname_default, + (FStar_Pervasives_Native.fst b))))) + :: (aux bs2 (i + Prims.int_one)) in + let ss = aux (FStar_List_Tot_Base.rev bs) Prims.int_zero in + Pulse_Syntax_Naming.subst_st_term t ss))) uu___1 uu___ +let rec (r_bindings_to_string : + FStar_Reflection_V2_Data.binding Prims.list -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ""))) + | b::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Checker.Match.fst" + (Prims.of_int (187)) (Prims.of_int (4)) + (Prims.of_int (187)) (Prims.of_int (90))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Checker.Match.fst" + (Prims.of_int (187)) (Prims.of_int (4)) + (Prims.of_int (187)) (Prims.of_int (116))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (187)) (Prims.of_int (5)) + (Prims.of_int (187)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (187)) (Prims.of_int (4)) + (Prims.of_int (187)) (Prims.of_int (90))))) + (Obj.magic + (FStar_Tactics_Unseal.unseal + b.FStar_Reflection_V2_Data.ppname3)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (187)) + (Prims.of_int (25)) + (Prims.of_int (187)) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (187)) + (Prims.of_int (31)) + (Prims.of_int (187)) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (187)) + (Prims.of_int (54)) + (Prims.of_int (187)) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (187)) + (Prims.of_int (60)) + (Prims.of_int (187)) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (187)) + (Prims.of_int (60)) + (Prims.of_int (187)) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + b.FStar_Reflection_V2_Data.sort3)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 + -> + Prims.strcat + uu___1 + " ")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat + ":" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat + (Prims.string_of_int + b.FStar_Reflection_V2_Data.uniq1) + uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat "-" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (187)) + (Prims.of_int (93)) + (Prims.of_int (187)) + (Prims.of_int (116))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic (r_bindings_to_string bs1)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> Prims.strcat uu___ uu___1)))) + uu___)))) uu___ +let rec (bindings_to_string : + Pulse_Typing_Env.binding Prims.list -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ""))) + | b::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Checker.Match.fst" + (Prims.of_int (193)) (Prims.of_int (4)) + (Prims.of_int (193)) (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Checker.Match.fst" + (Prims.of_int (193)) (Prims.of_int (4)) + (Prims.of_int (193)) (Prims.of_int (109))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (193)) (Prims.of_int (29)) + (Prims.of_int (193)) (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (193)) + (Prims.of_int (35)) + (Prims.of_int (193)) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (193)) + (Prims.of_int (35)) + (Prims.of_int (193)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (Pulse_Syntax_Printer.term_to_string + (FStar_Pervasives_Native.snd b))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat uu___ " ")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat ":" uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat + (Prims.string_of_int + (FStar_Pervasives_Native.fst b)) uu___)))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (193)) + (Prims.of_int (88)) + (Prims.of_int (193)) + (Prims.of_int (109))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic (bindings_to_string bs1)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> Prims.strcat uu___ uu___1)))) + uu___)))) uu___ +let (check_branch : + Pulse_Typing_Env.env -> + Pulse_Syntax_Base.term -> + unit -> + unit Pulse_Typing.post_hint_for_env -> + Pulse_Checker_Common.check_t -> + Pulse_Syntax_Base.universe -> + Pulse_Syntax_Base.typ -> + Pulse_Syntax_Base.term -> + FStar_Reflection_V2_Data.pattern -> + Pulse_Syntax_Base.st_term -> + FStar_Reflection_V2_Data.binding Prims.list -> + ((Pulse_Syntax_Base.pattern, + Pulse_Syntax_Base.st_term, + Pulse_Syntax_Base.comp_st, + (unit, unit, unit, unit, unit, unit, unit) + Pulse_Typing.br_typing) + FStar_Pervasives.dtuple4, + unit) FStar_Tactics_Effect.tac_repr) + = + fun g -> + fun pre -> + fun pre_typing -> + fun post_hint -> + fun check -> + fun sc_u -> + fun sc_ty -> + fun sc -> + fun p0 -> + fun e -> + fun bs -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (214)) (Prims.of_int (10)) + (Prims.of_int (215)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (217)) (Prims.of_int (27)) + (Prims.of_int (238)) (Prims.of_int (58))))) + (match readback_pat p0 with + | FStar_Pervasives_Native.Some p -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> p))) + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (Pulse_Typing_Env.fail g + (FStar_Pervasives_Native.Some + (e.Pulse_Syntax_Base.range2)) + "readback_pat failed"))) + (fun uu___ -> + (fun p -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (218)) + (Prims.of_int (17)) + (Prims.of_int (218)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (220)) + (Prims.of_int (54)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_List_Tot_Base.map + Pulse_Typing.readback_binding bs)) + (fun uu___ -> + (fun pulse_bs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (221)) + (Prims.of_int (11)) + (Prims.of_int (221)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (221)) + (Prims.of_int (38)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Pulse_Typing.push_bindings + g pulse_bs)) + (fun uu___ -> + (fun g' -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (222)) + (Prims.of_int (16)) + (Prims.of_int (222)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (222)) + (Prims.of_int (27)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Pulse_Typing_Env.fresh + g')) + (fun uu___ -> + (fun hyp_var -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (223)) + (Prims.of_int (15)) + (Prims.of_int (223)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (224)) + (Prims.of_int (2)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___ -> + FStar_Reflection_Typing.elaborate_pat + p0 bs)) + (fun + uu___ -> + (fun + elab_p -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (224)) + (Prims.of_int (2)) + (Prims.of_int (225)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (226)) + (Prims.of_int (2)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (if + Prims.op_Negation + (FStar_Pervasives_Native.uu___is_Some + elab_p) + then + Obj.magic + (Obj.repr + (Pulse_Typing_Env.fail + g + (FStar_Pervasives_Native.Some + (e.Pulse_Syntax_Base.range2)) + "Failed to elab pattern into term")) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___1 -> + ())))) + (fun + uu___ -> + (fun + uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (226)) + (Prims.of_int (2)) + (Prims.of_int (227)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (228)) + (Prims.of_int (2)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (if + FStar_Reflection_V2_Data.uu___is_Tv_Unknown + (FStar_Reflection_V2_Builtins.inspect_ln + (FStar_Pervasives_Native.fst + (FStar_Pervasives_Native.__proj__Some__item__v + elab_p))) + then + Obj.magic + (Obj.repr + (Pulse_Typing_Env.fail + g + (FStar_Pervasives_Native.Some + (e.Pulse_Syntax_Base.range2)) + "should not happen: pattern elaborated to Tv_Unknown")) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___2 -> + ())))) + (fun + uu___1 -> + (fun + uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (228)) + (Prims.of_int (2)) + (Prims.of_int (228)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (228)) + (Prims.of_int (78)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (228)) + (Prims.of_int (10)) + (Prims.of_int (228)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (228)) + (Prims.of_int (2)) + (Prims.of_int (228)) + (Prims.of_int (77))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (228)) + (Prims.of_int (37)) + (Prims.of_int (228)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + (FStar_Pervasives_Native.fst + (FStar_Pervasives_Native.__proj__Some__item__v + elab_p)))) + (fun + uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Prims.strcat + "Elaborated pattern = " + uu___2)))) + (fun + uu___2 -> + (fun + uu___2 -> + Obj.magic + (FStar_Tactics_V2_Builtins.print + uu___2)) + uu___2))) + (fun + uu___2 -> + (fun + uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (229)) + (Prims.of_int (15)) + (Prims.of_int (229)) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (229)) + (Prims.of_int (89)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Pulse_Typing.mk_sq_eq2 + sc_u + sc_ty sc + (Pulse_Syntax_Base.tm_fstar + (FStar_Pervasives_Native.fst + (FStar_Pervasives_Native.__proj__Some__item__v + elab_p)) + FStar_Range.range_0))) + (fun + uu___3 -> + (fun + eq_typ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (230)) + (Prims.of_int (11)) + (Prims.of_int (230)) + (Prims.of_int (106))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (230)) + (Prims.of_int (109)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Pulse_Typing_Env.push_binding + g' + hyp_var + { + Pulse_Syntax_Base.name + = + (FStar_Sealed.seal + "branch equality"); + Pulse_Syntax_Base.range + = + FStar_Range.range_0 + } eq_typ)) + (fun + uu___3 -> + (fun g'1 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (231)) + (Prims.of_int (10)) + (Prims.of_int (231)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (231)) + (Prims.of_int (39)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (Obj.magic + (open_st_term_bs + e + pulse_bs)) + (fun + uu___3 -> + (fun e1 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (232)) + (Prims.of_int (19)) + (Prims.of_int (232)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (232)) + (Prims.of_int (64)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + ())) + (fun + uu___3 -> + (fun + pre_typing1 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (233)) + (Prims.of_int (19)) + (Prims.of_int (233)) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (233)) + (Prims.of_int (92)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + ())) + (fun + uu___3 -> + (fun + pre_typing2 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (234)) + (Prims.of_int (24)) + (Prims.of_int (234)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (233)) + (Prims.of_int (92)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (Obj.magic + (check + g'1 e1 + pre () + (FStar_Pervasives_Native.Some + post_hint))) + (fun + uu___3 -> + (fun + uu___3 -> + match uu___3 + with + | + FStar_Pervasives.Mkdtuple3 + (e2, c, + e_d) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (235)) + (Prims.of_int (2)) + (Prims.of_int (236)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (238)) + (Prims.of_int (2)) + (Prims.of_int (238)) + (Prims.of_int (58))))) + (if + Prims.op_Negation + (Pulse_Syntax_Base.stateful_comp + c) + then + Obj.magic + (Obj.repr + (Pulse_Typing_Env.fail + g + (FStar_Pervasives_Native.Some + (e2.Pulse_Syntax_Base.range2)) + "Branch computation is not stateful")) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + ())))) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + FStar_Pervasives.Mkdtuple4 + (p, + (Pulse_Syntax_Naming.close_st_term_n + e2 + (FStar_List_Tot_Base.map + FStar_Pervasives_Native.fst + pulse_bs)), + c, + (Pulse_Typing.TBR + (g, sc_u, + sc_ty, + sc, c, p, + e2, bs, + (), (), + (), + hyp_var, + e_d))))))) + uu___3))) + uu___3))) + uu___3))) + uu___3))) + uu___3))) + uu___3))) + uu___2))) + uu___1))) + uu___))) + uu___))) + uu___))) + uu___))) uu___))) uu___) +let (check_branches : + Pulse_Typing_Env.env -> + Pulse_Syntax_Base.term -> + unit -> + unit Pulse_Typing.post_hint_for_env -> + Pulse_Checker_Common.check_t -> + Pulse_Syntax_Base.universe -> + Pulse_Syntax_Base.typ -> + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.branch Prims.list -> + (FStar_Reflection_V2_Data.pattern * + FStar_Reflection_V2_Data.binding Prims.list) Prims.list + -> + ((Pulse_Syntax_Base.branch Prims.list, + Pulse_Syntax_Base.comp_st, + (unit, unit, unit, unit, unit, unit) + Pulse_Typing.brs_typing) + FStar_Pervasives.dtuple3, + unit) FStar_Tactics_Effect.tac_repr) + = + fun g -> + fun pre -> + fun pre_typing -> + fun post_hint -> + fun check -> + fun sc_u -> + fun sc_ty -> + fun sc -> + fun brs0 -> + fun bnds -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Checker.Match.fst" + (Prims.of_int (254)) (Prims.of_int (2)) + (Prims.of_int (254)) (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Checker.Match.fst" + (Prims.of_int (254)) (Prims.of_int (51)) + (Prims.of_int (287)) (Prims.of_int (18))))) + (if FStar_List_Tot_Base.isEmpty brs0 + then + Obj.magic + (Obj.repr + (Pulse_Typing_Env.fail g + FStar_Pervasives_Native.None "empty match")) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> ())))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (255)) + (Prims.of_int (22)) + (Prims.of_int (255)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (254)) + (Prims.of_int (51)) + (Prims.of_int (287)) + (Prims.of_int (18))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> brs0)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (uu___2, e0)::rest -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (256)) + (Prims.of_int (26)) + (Prims.of_int (256)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (255)) + (Prims.of_int (29)) + (Prims.of_int (287)) + (Prims.of_int (18))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> bnds)) + (fun uu___3 -> + (fun uu___3 -> + match uu___3 with + | (p0, bnds0)::bnds1 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (257)) + (Prims.of_int (29)) + (Prims.of_int (257)) + (Prims.of_int (100))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (256)) + (Prims.of_int (33)) + (Prims.of_int (287)) + (Prims.of_int (18))))) + (Obj.magic + ( + check_branch + g pre () + post_hint + check + sc_u + sc_ty sc + p0 e0 + bnds0)) + (fun uu___4 + -> + (fun + uu___4 -> + match uu___4 + with + | + FStar_Pervasives.Mkdtuple4 + (p01, + e01, c0, + d0) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (260)) + (Prims.of_int (3)) + (Prims.of_int (272)) + (Prims.of_int (5))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (287)) + (Prims.of_int (2)) + (Prims.of_int (287)) + (Prims.of_int (18))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (263)) + (Prims.of_int (5)) + (Prims.of_int (268)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (269)) + (Prims.of_int (6)) + (Prims.of_int (272)) + (Prims.of_int (5))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + fun b -> + fun pbs + -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (264)) + (Prims.of_int (19)) + (Prims.of_int (264)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (263)) + (Prims.of_int (5)) + (Prims.of_int (268)) + (Prims.of_int (20))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___6 -> + b)) + (fun + uu___6 -> + (fun + uu___6 -> + match uu___6 + with + | + (uu___7, + e) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (265)) + (Prims.of_int (20)) + (Prims.of_int (265)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (264)) + (Prims.of_int (23)) + (Prims.of_int (268)) + (Prims.of_int (20))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___8 -> + pbs)) + (fun + uu___8 -> + (fun + uu___8 -> + match uu___8 + with + | + (p, bs) + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (266)) + (Prims.of_int (29)) + (Prims.of_int (266)) + (Prims.of_int (95))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (265)) + (Prims.of_int (26)) + (Prims.of_int (268)) + (Prims.of_int (20))))) + (Obj.magic + (check_branch + g pre () + post_hint + check + sc_u + sc_ty sc + p e bs)) + (fun + uu___9 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___10 + -> + match uu___9 + with + | + FStar_Pervasives.Mkdtuple4 + (p1, e1, + c, d) -> + Prims.Mkdtuple2 + ((p1, e1), + d))))) + uu___8))) + uu___6))) + (fun + uu___5 -> + (fun tr1 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (270)) + (Prims.of_int (12)) + (Prims.of_int (270)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (270)) + (Prims.of_int (8)) + (Prims.of_int (270)) + (Prims.of_int (9))))) + (Obj.magic + (Pulse_Common.zipWith + tr1 rest + bnds1)) + (fun r -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + r)))) + uu___5))) + (fun + brs_d -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + FStar_Pervasives.Mkdtuple3 + ((FStar_List_Tot_Base.map + FStar_Pervasives.dfst + brs_d), + c0, + (let rec aux + brs = + match brs + with + | + [] -> + Pulse_Typing.TBRS_0 + c0 + | + (Prims.Mkdtuple2 + ((p, e), + d))::rest1 + -> + Pulse_Typing.TBRS_1 + (c0, p, + e, d, + (FStar_List_Tot_Base.map + FStar_Pervasives.dfst + rest1), + (aux + rest1)) in + aux brs_d)))))) + uu___4))) + uu___3))) uu___1))) + uu___) +let (check_match : + Pulse_Typing_Env.env -> + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.branch Prims.list -> + Pulse_Syntax_Base.term -> + unit -> + unit Pulse_Typing.post_hint_for_env -> + Pulse_Checker_Common.check_t -> + ((unit, unit, unit) Pulse_Checker_Common.checker_result_t, + unit) FStar_Tactics_Effect.tac_repr) + = + fun g -> + fun sc -> + fun brs -> + fun pre -> + fun pre_typing -> + fun post_hint -> + fun check -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Checker.Match.fst" + (Prims.of_int (299)) (Prims.of_int (17)) + (Prims.of_int (299)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Checker.Match.fst" + (Prims.of_int (299)) (Prims.of_int (28)) + (Prims.of_int (346)) (Prims.of_int (81))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> sc.Pulse_Syntax_Base.range1)) + (fun uu___ -> + (fun sc_range -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (300)) + (Prims.of_int (17)) + (Prims.of_int (300)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (300)) + (Prims.of_int (23)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> brs)) + (fun uu___ -> + (fun orig_brs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (301)) + (Prims.of_int (12)) + (Prims.of_int (301)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (301)) + (Prims.of_int (27)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_List_Tot_Base.length brs)) + (fun uu___ -> + (fun nbr -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (303)) + (Prims.of_int (55)) + (Prims.of_int (303)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (301)) + (Prims.of_int (27)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (Obj.magic + (Pulse_Checker_Pure.check_term_and_type + g sc)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Pervasives.Mkdtuple5 + (sc1, sc_u, + sc_ty, + sc_ty_typing, + sc_typing) + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (304)) + (Prims.of_int (18)) + (Prims.of_int (304)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (309)) + (Prims.of_int (4)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___1 -> + FStar_List_Tot_Base.map + Pulse_Elaborate_Pure.elab_pat + (FStar_List_Tot_Base.map + FStar_Pervasives_Native.fst + brs))) + (fun uu___1 + -> + (fun + elab_pats + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (316)) + (Prims.of_int (4)) + (Prims.of_int (319)) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (309)) + (Prims.of_int (4)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (316)) + (Prims.of_int (10)) + (Prims.of_int (316)) + (Prims.of_int (88))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (316)) + (Prims.of_int (4)) + (Prims.of_int (319)) + (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.check_match_complete + (Pulse_Typing.elab_env + g) + (Pulse_Elaborate_Pure.elab_term + sc1) + (Pulse_Elaborate_Pure.elab_term + sc_ty) + elab_pats)) + (fun + uu___1 -> + (fun + uu___1 -> + match uu___1 + with + | + FStar_Pervasives_Native.None + -> + Obj.magic + (Obj.repr + (Pulse_Typing_Env.fail + g + (FStar_Pervasives_Native.Some + sc_range) + "Could not check that match is correct/complete")) + | + FStar_Pervasives_Native.Some + (elab_pats', + bnds) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___2 -> + FStar_Pervasives.Mkdtuple3 + (elab_pats', + bnds, + (Pulse_Typing.PC_Elab + (g, sc1, + sc_ty, + elab_pats', + bnds, + (FStar_Reflection_Typing.MC_Tok + ((Pulse_Typing.elab_env + g), + (Pulse_Elaborate_Pure.elab_term + sc1), + (Pulse_Elaborate_Pure.elab_term + sc_ty), + elab_pats', + bnds, ()))))))))) + uu___1))) + (fun + uu___1 -> + (fun + uu___1 -> + match uu___1 + with + | + FStar_Pervasives.Mkdtuple3 + (elab_pats', + bnds', + complete_d) + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (320)) + (Prims.of_int (4)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (320)) + (Prims.of_int (4)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___2 -> + uu___1)) + (fun + uu___2 -> + (fun + uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (321)) + (Prims.of_int (17)) + (Prims.of_int (321)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (322)) + (Prims.of_int (2)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Pulse_Common.map_opt + readback_pat + elab_pats')) + (fun + uu___3 -> + (fun + new_pats + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (322)) + (Prims.of_int (2)) + (Prims.of_int (323)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (323)) + (Prims.of_int (61)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (if + FStar_Pervasives_Native.uu___is_None + new_pats + then + Obj.magic + (Obj.repr + (Pulse_Typing_Env.fail + g + (FStar_Pervasives_Native.Some + sc_range) + "failed to readback new patterns")) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___4 -> + ())))) + (fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (324)) + (Prims.of_int (12)) + (Prims.of_int (324)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (337)) + (Prims.of_int (50)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (Obj.magic + (Pulse_Common.zipWith + (fun + uu___5 -> + fun + uu___4 -> + (fun p -> + fun + uu___4 -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + match uu___4 + with + | + (uu___6, + e) -> + (p, e)))) + uu___5 + uu___4) + (FStar_Pervasives_Native.__proj__Some__item__v + new_pats) + brs)) + (fun + uu___4 -> + (fun brs1 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (339)) + (Prims.of_int (28)) + (Prims.of_int (339)) + (Prims.of_int (116))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Checker.Match.fst" + (Prims.of_int (337)) + (Prims.of_int (50)) + (Prims.of_int (346)) + (Prims.of_int (81))))) + (Obj.magic + (check_branches + g pre () + post_hint + check + sc_u + sc_ty sc1 + brs1 + (Pulse_Common.zip + elab_pats' + bnds'))) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + match uu___4 + with + | + FStar_Pervasives.Mkdtuple3 + (brs2, c, + brs_d) -> + FStar_Pervasives.Mkdtuple3 + ((Pulse_Typing.wr + (Pulse_Syntax_Base.Tm_Match + { + Pulse_Syntax_Base.sc + = sc1; + Pulse_Syntax_Base.returns_ + = + FStar_Pervasives_Native.None; + Pulse_Syntax_Base.brs + = brs2 + })), c, + (Pulse_Typing.T_Match + (g, sc_u, + sc_ty, + sc1, (), + (), c, + brs2, + brs_d, + complete_d))))))) + uu___4))) + uu___3))) + uu___3))) + uu___2))) + uu___1))) + uu___1))) + uu___))) uu___))) + uu___))) uu___) \ No newline at end of file diff --git a/src/ocaml/plugin/generated/Pulse_Checker_Pure.ml b/src/ocaml/plugin/generated/Pulse_Checker_Pure.ml index f72801f65..9a2d21d04 100644 --- a/src/ocaml/plugin/generated/Pulse_Checker_Pure.ml +++ b/src/ocaml/plugin/generated/Pulse_Checker_Pure.ml @@ -822,13 +822,13 @@ let (ill_typed_term : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.Pure.fst" - (Prims.of_int (95)) (Prims.of_int (76)) - (Prims.of_int (95)) (Prims.of_int (96))))) + (Prims.of_int (95)) (Prims.of_int (81)) + (Prims.of_int (95)) (Prims.of_int (101))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.Pure.fst" (Prims.of_int (95)) (Prims.of_int (4)) - (Prims.of_int (95)) (Prims.of_int (96))))) + (Prims.of_int (95)) (Prims.of_int (101))))) (Obj.magic (Pulse_Syntax_Printer.term_to_string t)) (fun uu___ -> (fun uu___ -> @@ -838,12 +838,12 @@ let (ill_typed_term : (Obj.magic (FStar_Range.mk_range "Pulse.Checker.Pure.fst" (Prims.of_int (95)) (Prims.of_int (4)) - (Prims.of_int (95)) (Prims.of_int (96))))) + (Prims.of_int (95)) (Prims.of_int (101))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Checker.Pure.fst" (Prims.of_int (95)) (Prims.of_int (4)) - (Prims.of_int (95)) (Prims.of_int (96))))) + (Prims.of_int (95)) (Prims.of_int (101))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal @@ -851,9 +851,9 @@ let (ill_typed_term : (FStar_Range.mk_range "Pulse.Checker.Pure.fst" (Prims.of_int (95)) - (Prims.of_int (54)) + (Prims.of_int (59)) (Prims.of_int (95)) - (Prims.of_int (75))))) + (Prims.of_int (80))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "FStar.Printf.fst" @@ -870,7 +870,8 @@ let (ill_typed_term : Prims.strcat (Prims.strcat "Expected term of type " - (Prims.strcat uu___1 "; got ")) + (Prims.strcat uu___1 + "; got term ")) (Prims.strcat x ""))))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -976,7 +977,7 @@ let (ill_typed_term : ( Prims.strcat uu___2 - "; got ")) + "; got term ")) (Prims.strcat x " of type ")) diff --git a/src/ocaml/plugin/generated/Pulse_Common.ml b/src/ocaml/plugin/generated/Pulse_Common.ml new file mode 100644 index 000000000..3ef8eb9b1 --- /dev/null +++ b/src/ocaml/plugin/generated/Pulse_Common.ml @@ -0,0 +1,138 @@ +open Prims +let op_let_Question : + 'a 'b . + 'a FStar_Pervasives_Native.option -> + ('a -> 'b FStar_Pervasives_Native.option) -> + 'b FStar_Pervasives_Native.option + = + fun f -> + fun g -> + match f with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some x -> g x +let rec for_all_dec : + 'a 'b . 'a -> ('b -> Prims.bool) -> 'b Prims.list -> Prims.bool = + fun top -> + fun f -> + fun l -> + match l with | [] -> true | x::xs -> (f x) && (for_all_dec top f xs) +let rec map_dec : + 'a 'b 'c . 'a -> 'b Prims.list -> ('b -> 'c) -> 'c Prims.list = + fun top -> + fun l -> + fun f -> match l with | [] -> [] | x::xs -> (f x) :: (map_dec top xs f) +let rec zipWith : + 'a 'b 'c . + ('a -> 'b -> ('c, unit) FStar_Tactics_Effect.tac_repr) -> + 'a Prims.list -> + 'b Prims.list -> ('c Prims.list, unit) FStar_Tactics_Effect.tac_repr + = + fun uu___2 -> + fun uu___1 -> + fun uu___ -> + (fun f -> + fun l -> + fun m -> + match (l, m) with + | ([], []) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> []))) + | (x::xs, y::ys) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Common.fst" + (Prims.of_int (38)) (Prims.of_int (20)) + (Prims.of_int (38)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Common.fst" + (Prims.of_int (38)) (Prims.of_int (20)) + (Prims.of_int (38)) (Prims.of_int (44))))) + (Obj.magic (f x y)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Common.fst" + (Prims.of_int (38)) + (Prims.of_int (29)) + (Prims.of_int (38)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Common.fst" + (Prims.of_int (38)) + (Prims.of_int (20)) + (Prims.of_int (38)) + (Prims.of_int (44))))) + (Obj.magic (zipWith f xs ys)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___ :: uu___1)))) + uu___))) + | uu___ -> + Obj.magic + (Obj.repr + (FStar_Tactics_V1_Derived.fail + "zipWith: length mismatch"))) uu___2 uu___1 uu___ +let rec zip : 'a 'b . 'a Prims.list -> 'b Prims.list -> ('a * 'b) Prims.list + = + fun l1 -> + fun l2 -> + match (l1, l2) with + | (x::xs, y::ys) -> (x, y) :: (zip xs ys) + | uu___ -> [] +let rec map_opt : + 'uuuuu 'uuuuu1 . + ('uuuuu -> 'uuuuu1 FStar_Pervasives_Native.option) -> + 'uuuuu Prims.list -> 'uuuuu1 Prims.list FStar_Pervasives_Native.option + = + fun f -> + fun l -> + match l with + | [] -> FStar_Pervasives_Native.Some [] + | x::xs -> + op_let_Question (f x) + (fun y -> + op_let_Question (map_opt f xs) + (fun ys -> FStar_Pervasives_Native.Some (y :: ys))) +let rec map_opt_dec : + 'a 'b 'z . + 'z -> + ('a -> 'b FStar_Pervasives_Native.option) -> + 'a Prims.list -> 'b Prims.list FStar_Pervasives_Native.option + = + fun top -> + fun f -> + fun l -> + match l with + | [] -> FStar_Pervasives_Native.Some [] + | x::xs -> + op_let_Question (f x) + (fun y -> + op_let_Question (map_opt_dec top f xs) + (fun ys -> FStar_Pervasives_Native.Some (y :: ys))) +let rec concat_map_opt : + 'a 'b . + ('a -> 'b Prims.list FStar_Pervasives_Native.option) -> + 'a Prims.list -> 'b Prims.list FStar_Pervasives_Native.option + = + fun f -> + fun l -> + match l with + | [] -> FStar_Pervasives_Native.Some [] + | x::xs -> + op_let_Question (f x) + (fun y -> + op_let_Question (concat_map_opt f xs) + (fun ys -> + FStar_Pervasives_Native.Some + (FStar_List_Tot_Base.append y ys))) \ No newline at end of file diff --git a/src/ocaml/plugin/generated/Pulse_Elaborate_Core.ml b/src/ocaml/plugin/generated/Pulse_Elaborate_Core.ml index b81deb3fe..29172d313 100644 --- a/src/ocaml/plugin/generated/Pulse_Elaborate_Core.ml +++ b/src/ocaml/plugin/generated/Pulse_Elaborate_Core.ml @@ -352,6 +352,16 @@ let rec (elab_st_typing : Pulse_Typing.tm_bool b Pulse_Typing.tm_false)) uu___2 uu___3 e2_typing in FStar_Reflection_Typing.mk_if rb re1 re2 + | Pulse_Typing.T_Match + (uu___, uu___1, uu___2, sc, uu___3, uu___4, uu___5, uu___6, + brty, uu___7) + -> + let sc1 = Pulse_Elaborate_Pure.elab_term sc in + let brs = + elab_branches uu___ uu___5 uu___1 uu___2 sc uu___6 brty in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Match + (sc1, FStar_Pervasives_Native.None, brs)) | Pulse_Typing.T_IntroPure (uu___, p, uu___1, uu___2) -> let head = Pulse_Syntax_Pure.tm_pureapp @@ -501,4 +511,72 @@ let rec (elab_st_typing : rpost1 | Pulse_Syntax_Base.STT_Ghost -> Pulse_Reflection_Util.mk_stt_ghost_admit ru rres rpre - rpost1) \ No newline at end of file + rpost1) +and (elab_br : + Pulse_Typing_Env.env -> + Pulse_Syntax_Base.comp_st -> + Pulse_Syntax_Base.universe -> + Pulse_Syntax_Base.typ -> + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.pattern -> + Pulse_Syntax_Base.st_term -> + (unit, unit, unit, unit, unit, unit, unit) + Pulse_Typing.br_typing -> FStar_Reflection_V2_Data.branch) + = + fun g -> + fun c -> + fun sc_u -> + fun sc_ty -> + fun sc -> + fun p -> + fun e -> + fun d -> + let uu___ = d in + match uu___ with + | Pulse_Typing.TBR + (uu___1, uu___2, uu___3, uu___4, uu___5, uu___6, + uu___7, uu___8, bs, uu___9, uu___10, uu___11, ed) + -> + let e1 = + elab_st_typing + (Pulse_Typing_Env.push_binding + (Pulse_Typing.push_bindings uu___1 + (FStar_List_Tot_Base.map + Pulse_Typing.readback_binding uu___8)) + uu___11 + { + Pulse_Syntax_Base.name = + (FStar_Sealed.seal "branch equality"); + Pulse_Syntax_Base.range = FStar_Range.range_0 + } + (Pulse_Typing.mk_sq_eq2 uu___2 uu___3 uu___4 + (Pulse_Syntax_Base.tm_fstar + (FStar_Pervasives_Native.fst + (FStar_Pervasives_Native.__proj__Some__item__v + (FStar_Reflection_Typing.elaborate_pat + (Pulse_Elaborate_Pure.elab_pat + uu___6) uu___8))) + FStar_Range.range_0))) uu___7 uu___5 ed in + ((Pulse_Elaborate_Pure.elab_pat p), e1) +and (elab_branches : + Pulse_Typing_Env.env -> + Pulse_Syntax_Base.comp_st -> + Pulse_Syntax_Base.universe -> + Pulse_Syntax_Base.typ -> + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.branch Prims.list -> + (unit, unit, unit, unit, unit, unit) Pulse_Typing.brs_typing -> + FStar_Reflection_V2_Data.branch Prims.list) + = + fun g -> + fun c -> + fun sc_u -> + fun sc_ty -> + fun sc -> + fun brs -> + fun d -> + match d with + | Pulse_Typing.TBRS_0 uu___ -> [] + | Pulse_Typing.TBRS_1 (uu___, p, e, bd, uu___1, d') -> + (elab_br g uu___ sc_u sc_ty sc p e bd) :: + (elab_branches g uu___ sc_u sc_ty sc uu___1 d') \ No newline at end of file diff --git a/src/ocaml/plugin/generated/Pulse_Elaborate_Pure.ml b/src/ocaml/plugin/generated/Pulse_Elaborate_Pure.ml index 4c1d78de7..8ed9776ba 100644 --- a/src/ocaml/plugin/generated/Pulse_Elaborate_Pure.ml +++ b/src/ocaml/plugin/generated/Pulse_Elaborate_Pure.ml @@ -99,6 +99,37 @@ let rec (elab_term : Pulse_Syntax_Base.term -> FStar_Reflection_Types.term) = (FStar_Reflection_V2_Builtins.pack_ln FStar_Reflection_V2_Data.Tv_Unknown) | Pulse_Syntax_Base.Tm_FStar t -> w t +let rec (elab_pat : + Pulse_Syntax_Base.pattern -> FStar_Reflection_V2_Data.pattern) = + fun p -> + let elab_fv f = + FStar_Reflection_V2_Builtins.pack_fv f.Pulse_Syntax_Base.fv_name in + match p with + | Pulse_Syntax_Base.Pat_Constant c -> + FStar_Reflection_V2_Data.Pat_Constant c + | Pulse_Syntax_Base.Pat_Var v -> + FStar_Reflection_V2_Data.Pat_Var + ((FStar_Sealed.seal + (FStar_Reflection_V2_Builtins.pack_ln + FStar_Reflection_V2_Data.Tv_Unknown)), v) + | Pulse_Syntax_Base.Pat_Cons (fv, vs) -> + FStar_Reflection_V2_Data.Pat_Cons + ((elab_fv fv), FStar_Pervasives_Native.None, + (Pulse_Common.map_dec p vs elab_sub_pat)) + | Pulse_Syntax_Base.Pat_Dot_Term (FStar_Pervasives_Native.None) -> + FStar_Reflection_V2_Data.Pat_Dot_Term FStar_Pervasives_Native.None + | Pulse_Syntax_Base.Pat_Dot_Term (FStar_Pervasives_Native.Some t) -> + FStar_Reflection_V2_Data.Pat_Dot_Term + (FStar_Pervasives_Native.Some (elab_term t)) +and (elab_sub_pat : + (Pulse_Syntax_Base.pattern * Prims.bool) -> + (FStar_Reflection_V2_Data.pattern * Prims.bool)) + = + fun pi -> let uu___ = pi in match uu___ with | (p, i) -> ((elab_pat p), i) +let (elab_pats : + Pulse_Syntax_Base.pattern Prims.list -> + FStar_Reflection_V2_Data.pattern Prims.list) + = fun ps -> FStar_List_Tot_Base.map elab_pat ps let (elab_st_comp : Pulse_Syntax_Base.st_comp -> (FStar_Reflection_Types.universe * FStar_Reflection_Types.term * diff --git a/src/ocaml/plugin/generated/Pulse_Reflection_Util.ml b/src/ocaml/plugin/generated/Pulse_Reflection_Util.ml index 4702242dd..6cb267dd5 100644 --- a/src/ocaml/plugin/generated/Pulse_Reflection_Util.ml +++ b/src/ocaml/plugin/generated/Pulse_Reflection_Util.ml @@ -3,6 +3,7 @@ let (tun : FStar_Reflection_Types.term) = FStar_Reflection_V2_Builtins.pack_ln FStar_Reflection_V2_Data.Tv_Unknown let (unit_lid : Prims.string Prims.list) = FStar_Reflection_Const.unit_lid let (bool_lid : Prims.string Prims.list) = FStar_Reflection_Const.bool_lid +let (int_lid : Prims.string Prims.list) = FStar_Reflection_Const.int_lid let (erased_lid : Prims.string Prims.list) = ["FStar"; "Ghost"; "erased"] let (hide_lid : Prims.string Prims.list) = ["FStar"; "Ghost"; "hide"] let (reveal_lid : Prims.string Prims.list) = ["FStar"; "Ghost"; "reveal"] diff --git a/src/ocaml/plugin/generated/Pulse_Soundness_Match.ml b/src/ocaml/plugin/generated/Pulse_Soundness_Match.ml new file mode 100644 index 000000000..e2c52020b --- /dev/null +++ b/src/ocaml/plugin/generated/Pulse_Soundness_Match.ml @@ -0,0 +1,27 @@ +open Prims +let (complete_soundness : + Pulse_Soundness_Common.stt_env -> + Pulse_Syntax_Base.universe -> + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.branch Prims.list -> + Pulse_Syntax_Base.comp_st -> + (unit, unit, unit, unit, unit, unit) Pulse_Typing.brs_typing -> + (unit, unit, unit, unit) Pulse_Typing.pats_complete -> + FStar_Reflection_V2_Data.binding Prims.list Prims.list -> + (unit, unit, unit, unit, unit) + FStar_Reflection_Typing.match_is_complete) + = + fun g -> + fun sc_u -> + fun sc_ty -> + fun sc -> + fun brs -> + fun c -> + fun d -> + fun comp -> + fun bs -> + let uu___ = comp in + match uu___ with + | Pulse_Typing.PC_Elab + (uu___1, uu___2, uu___3, uu___4, bs', s) -> s \ No newline at end of file diff --git a/src/ocaml/plugin/generated/Pulse_Syntax_Base.ml b/src/ocaml/plugin/generated/Pulse_Syntax_Base.ml index 2fc078610..4b627e081 100644 --- a/src/ocaml/plugin/generated/Pulse_Syntax_Base.ml +++ b/src/ocaml/plugin/generated/Pulse_Syntax_Base.ml @@ -169,6 +169,35 @@ let (__proj__C_STGhost__item___0 : comp -> term) = let (__proj__C_STGhost__item___1 : comp -> st_comp) = fun projectee -> match projectee with | C_STGhost (_0, _1) -> _1 type comp_st = comp +type pattern = + | Pat_Cons of fv * (pattern * Prims.bool) Prims.list + | Pat_Constant of constant + | Pat_Var of FStar_Reflection_Typing.pp_name_t + | Pat_Dot_Term of term FStar_Pervasives_Native.option +let (uu___is_Pat_Cons : pattern -> Prims.bool) = + fun projectee -> + match projectee with | Pat_Cons (_0, _1) -> true | uu___ -> false +let (__proj__Pat_Cons__item___0 : pattern -> fv) = + fun projectee -> match projectee with | Pat_Cons (_0, _1) -> _0 +let (__proj__Pat_Cons__item___1 : + pattern -> (pattern * Prims.bool) Prims.list) = + fun projectee -> match projectee with | Pat_Cons (_0, _1) -> _1 +let (uu___is_Pat_Constant : pattern -> Prims.bool) = + fun projectee -> + match projectee with | Pat_Constant _0 -> true | uu___ -> false +let (__proj__Pat_Constant__item___0 : pattern -> constant) = + fun projectee -> match projectee with | Pat_Constant _0 -> _0 +let (uu___is_Pat_Var : pattern -> Prims.bool) = + fun projectee -> match projectee with | Pat_Var _0 -> true | uu___ -> false +let (__proj__Pat_Var__item___0 : + pattern -> FStar_Reflection_Typing.pp_name_t) = + fun projectee -> match projectee with | Pat_Var _0 -> _0 +let (uu___is_Pat_Dot_Term : pattern -> Prims.bool) = + fun projectee -> + match projectee with | Pat_Dot_Term _0 -> true | uu___ -> false +let (__proj__Pat_Dot_Term__item___0 : + pattern -> term FStar_Pervasives_Native.option) = + fun projectee -> match projectee with | Pat_Dot_Term _0 -> _0 type ctag = | STT | STT_Atomic @@ -225,6 +254,11 @@ and st_term'__Tm_If__payload = then_: st_term ; else_: st_term ; post1: vprop FStar_Pervasives_Native.option } +and st_term'__Tm_Match__payload = + { + sc: term ; + returns_: vprop FStar_Pervasives_Native.option ; + brs: (pattern * st_term) Prims.list } and st_term'__Tm_IntroPure__payload = { p: term ; @@ -280,6 +314,7 @@ and st_term' = | Tm_Bind of st_term'__Tm_Bind__payload | Tm_TotBind of st_term'__Tm_TotBind__payload | Tm_If of st_term'__Tm_If__payload + | Tm_Match of st_term'__Tm_Match__payload | Tm_IntroPure of st_term'__Tm_IntroPure__payload | Tm_ElimExists of st_term'__Tm_ElimExists__payload | Tm_IntroExists of st_term'__Tm_IntroExists__payload @@ -302,6 +337,8 @@ let uu___is_Tm_Bind uu___ = match uu___ with | Tm_Bind _ -> true | _ -> false let uu___is_Tm_TotBind uu___ = match uu___ with | Tm_TotBind _ -> true | _ -> false let uu___is_Tm_If uu___ = match uu___ with | Tm_If _ -> true | _ -> false +let uu___is_Tm_Match uu___ = + match uu___ with | Tm_Match _ -> true | _ -> false let uu___is_Tm_IntroPure uu___ = match uu___ with | Tm_IntroPure _ -> true | _ -> false let uu___is_Tm_ElimExists uu___ = @@ -321,6 +358,7 @@ let uu___is_Tm_Protect uu___ = match uu___ with | Tm_Protect _ -> true | _ -> false let uu___is_Tm_ProofHintWithBinders uu___ = match uu___ with | Tm_ProofHintWithBinders _ -> true | _ -> false +type branch = (pattern * st_term) let (null_binder : term -> binder) = fun t -> { binder_ty = t; binder_ppname = ppname_default } let (mk_binder : Prims.string -> range -> term -> binder) = @@ -402,10 +440,54 @@ let (eq_tm_opt : term FStar_Pervasives_Native.option -> term FStar_Pervasives_Native.option -> Prims.bool) = fun t1 -> fun t2 -> eq_opt eq_tm t1 t2 +let (eq_comp_opt : + comp FStar_Pervasives_Native.option -> + comp FStar_Pervasives_Native.option -> Prims.bool) + = fun c1 -> fun c2 -> eq_opt eq_comp c1 c2 +let rec eq_list_dec : + 'uuuuu 'uuuuu1 'a . + 'uuuuu -> + 'uuuuu1 -> + ('a -> 'a -> Prims.bool) -> + 'a Prims.list -> 'a Prims.list -> Prims.bool + = + fun top1 -> + fun top2 -> + fun f -> + fun l -> + fun m -> + match (l, m) with + | ([], []) -> true + | (h1::t1, h2::t2) -> + (f h1 h2) && (eq_list_dec top1 top2 f t1 t2) + | uu___ -> false let (eq_binder : binder -> binder -> Prims.bool) = fun b0 -> fun b1 -> eq_tm b0.binder_ty b1.binder_ty let (eq_tm_list : term Prims.list -> term Prims.list -> Prims.bool) = fun t1 -> fun t2 -> eq_list eq_tm t1 t2 +let (fstar_const_eq : + FStar_Reflection_V2_Data.vconst -> + FStar_Reflection_V2_Data.vconst -> Prims.bool) + = fun c1 -> fun c2 -> failwith "Not yet implemented:fstar_const_eq" +let rec (eq_pattern : pattern -> pattern -> Prims.bool) = + fun p1 -> + fun p2 -> + match (p1, p2) with + | (Pat_Cons (f1, vs1), Pat_Cons (f2, vs2)) -> + (f1.fv_name = f2.fv_name) && (eq_list_dec p1 p2 eq_sub_pat vs1 vs2) + | (Pat_Constant c1, Pat_Constant c2) -> fstar_const_eq c1 c2 + | (Pat_Var uu___, Pat_Var uu___1) -> true + | (Pat_Dot_Term to1, Pat_Dot_Term to2) -> eq_opt eq_tm to1 to2 + | uu___ -> false +and (eq_sub_pat : + (pattern * Prims.bool) -> (pattern * Prims.bool) -> Prims.bool) = + fun pb1 -> + fun pb2 -> + let uu___ = pb1 in + match uu___ with + | (p1, b1) -> + let uu___1 = pb2 in + (match uu___1 with | (p2, b2) -> (eq_pattern p1 p2) && (b1 = b2)) let rec (eq_st_term : st_term -> st_term -> Prims.bool) = fun t1 -> fun t2 -> @@ -441,6 +523,10 @@ let rec (eq_st_term : st_term -> st_term -> Prims.bool) = (((eq_tm g1 g2) && (eq_st_term ethen1 ethen2)) && (eq_st_term eelse1 eelse2)) && (eq_tm_opt p1 p2) + | (Tm_Match { sc = sc1; returns_ = r1; brs = br1;_}, Tm_Match + { sc = sc2; returns_ = r2; brs = br2;_}) -> + ((eq_tm sc1 sc2) && (eq_tm_opt r1 r2)) && + (eq_list_dec t1 t2 eq_branch br1 br2) | (Tm_While { invariant = inv1; condition = cond1; condition_var = uu___; body3 = body1;_}, @@ -481,6 +567,15 @@ let rec (eq_st_term : st_term -> st_term -> Prims.bool) = (((ht1 = ht2) && (eq_list eq_binder bs1 bs2)) && (eq_tm v1 v2)) && (eq_st_term t11 t21) | uu___ -> false +and (eq_branch : (pattern * st_term) -> (pattern * st_term) -> Prims.bool) = + fun b1 -> + fun b2 -> + let uu___ = b1 in + match uu___ with + | (p1, e1) -> + let uu___1 = b2 in + (match uu___1 with + | (p2, e2) -> (eq_pattern p1 p2) && (eq_st_term e1 e2)) let (comp_res : comp -> term) = fun c -> match c with diff --git a/src/ocaml/plugin/generated/Pulse_Syntax_Builder.ml b/src/ocaml/plugin/generated/Pulse_Syntax_Builder.ml index 467d5ad66..c648c3c72 100644 --- a/src/ocaml/plugin/generated/Pulse_Syntax_Builder.ml +++ b/src/ocaml/plugin/generated/Pulse_Syntax_Builder.ml @@ -1,4 +1,14 @@ open Prims +let (pat_var : + FStar_Reflection_Typing.pp_name_t -> Pulse_Syntax_Base.pattern) = + fun s -> Pulse_Syntax_Base.Pat_Var s +let (pat_const : Pulse_Syntax_Base.constant -> Pulse_Syntax_Base.pattern) = + fun c -> Pulse_Syntax_Base.Pat_Constant c +let (pat_cons : + Pulse_Syntax_Base.fv -> + (Pulse_Syntax_Base.pattern * Prims.bool) Prims.list -> + Pulse_Syntax_Base.pattern) + = fun fv -> fun vs -> Pulse_Syntax_Base.Pat_Cons (fv, vs) let (tm_return : Pulse_Syntax_Base.ctag -> Prims.bool -> Pulse_Syntax_Base.term -> Pulse_Syntax_Base.st_term') @@ -86,6 +96,21 @@ let (tm_if : Pulse_Syntax_Base.else_ = else_; Pulse_Syntax_Base.post1 = post } +let (tm_match : + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.vprop FStar_Pervasives_Native.option -> + (Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term) Prims.list -> + Pulse_Syntax_Base.st_term') + = + fun sc -> + fun returns_ -> + fun brs -> + Pulse_Syntax_Base.Tm_Match + { + Pulse_Syntax_Base.sc = sc; + Pulse_Syntax_Base.returns_ = returns_; + Pulse_Syntax_Base.brs = brs + } let (tm_elim_exists : Pulse_Syntax_Base.vprop -> Pulse_Syntax_Base.st_term') = fun p -> Pulse_Syntax_Base.Tm_ElimExists { Pulse_Syntax_Base.p1 = p } let (tm_intro_exists : diff --git a/src/ocaml/plugin/generated/Pulse_Syntax_Naming.ml b/src/ocaml/plugin/generated/Pulse_Syntax_Naming.ml index 0517191e6..972c11b11 100644 --- a/src/ocaml/plugin/generated/Pulse_Syntax_Naming.ml +++ b/src/ocaml/plugin/generated/Pulse_Syntax_Naming.ml @@ -92,6 +92,13 @@ let rec (freevars_st : -> FStar_Set.union (FStar_Set.union (freevars b) (freevars_st then_)) (FStar_Set.union (freevars_st else_) (freevars_term_opt post)) + | Pulse_Syntax_Base.Tm_Match + { Pulse_Syntax_Base.sc = sc; Pulse_Syntax_Base.returns_ = returns_; + Pulse_Syntax_Base.brs = brs;_} + -> + let op_At_At = FStar_Set.union in + op_At_At (freevars sc) + (op_At_At (freevars_term_opt returns_) (freevars_branches brs)) | Pulse_Syntax_Base.Tm_IntroPure { Pulse_Syntax_Base.p = p; Pulse_Syntax_Base.should_check = uu___;_} -> freevars p @@ -142,6 +149,15 @@ let rec (freevars_st : Pulse_Syntax_Base.binders = binders; Pulse_Syntax_Base.v = v; Pulse_Syntax_Base.t4 = t1;_} -> FStar_Set.union (freevars v) (freevars_st t1) +and (freevars_branches : + (Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term) Prims.list -> + Pulse_Syntax_Base.var FStar_Set.set) + = + fun t -> + match t with + | [] -> FStar_Set.empty () + | (uu___, b)::tl -> + FStar_Set.union (freevars_st b) (freevars_branches tl) let rec (ln' : Pulse_Syntax_Base.term -> Prims.int -> Prims.bool) = fun t -> fun i -> @@ -227,6 +243,12 @@ let rec (ln_st' : Pulse_Syntax_Base.st_term -> Prims.int -> Prims.bool) = -> (((ln' b i) && (ln_st' then_ i)) && (ln_st' else_ i)) && (ln_opt' post (i + Prims.int_one)) + | Pulse_Syntax_Base.Tm_Match + { Pulse_Syntax_Base.sc = sc; Pulse_Syntax_Base.returns_ = returns_; + Pulse_Syntax_Base.brs = brs;_} + -> + ((ln' sc i) && (ln_opt' returns_ i)) && + (Pulse_Common.for_all_dec t (ln_branch i) brs) | Pulse_Syntax_Base.Tm_IntroPure { Pulse_Syntax_Base.p = p; Pulse_Syntax_Base.should_check = uu___;_} @@ -280,6 +302,24 @@ let rec (ln_st' : Pulse_Syntax_Base.st_term -> Prims.int -> Prims.bool) = -> let n = FStar_List_Tot_Base.length binders in (ln' v (i + n)) && (ln_st' t1 (i + n)) +and (ln_branch : + Prims.int -> + (Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term) -> Prims.bool) + = + fun i -> + fun b -> + let uu___ = b in + match uu___ with + | (p, e) -> + (match p with + | Pulse_Syntax_Base.Pat_Cons (fv, l) -> + ln_st' e (i + (FStar_List_Tot_Base.length l)) + | Pulse_Syntax_Base.Pat_Constant uu___1 -> ln_st' e i + | Pulse_Syntax_Base.Pat_Var uu___1 -> ln_st' e (i + Prims.int_one) + | Pulse_Syntax_Base.Pat_Dot_Term (FStar_Pervasives_Native.None) -> + true + | Pulse_Syntax_Base.Pat_Dot_Term (FStar_Pervasives_Native.Some e1) + -> false) let (ln : Pulse_Syntax_Base.term -> Prims.bool) = fun t -> ln' t (Prims.of_int (-1)) let (ln_st : Pulse_Syntax_Base.st_term -> Prims.bool) = @@ -546,6 +586,17 @@ let rec (subst_st_term : Pulse_Syntax_Base.post1 = (subst_term_opt post (shift_subst ss)) } + | Pulse_Syntax_Base.Tm_Match + { Pulse_Syntax_Base.sc = sc; + Pulse_Syntax_Base.returns_ = returns_; + Pulse_Syntax_Base.brs = brs;_} + -> + Pulse_Syntax_Base.Tm_Match + { + Pulse_Syntax_Base.sc = (subst_term sc ss); + Pulse_Syntax_Base.returns_ = (subst_term_opt returns_ ss); + Pulse_Syntax_Base.brs = (subst_branches t ss brs) + } | Pulse_Syntax_Base.Tm_IntroPure { Pulse_Syntax_Base.p = p; Pulse_Syntax_Base.should_check = should_check;_} @@ -654,6 +705,34 @@ let rec (subst_st_term : Pulse_Syntax_Base.term1 = t'; Pulse_Syntax_Base.range2 = (t.Pulse_Syntax_Base.range2) } +and (subst_branches : + Pulse_Syntax_Base.st_term -> + subst -> + Pulse_Syntax_Base.branch Prims.list -> + Pulse_Syntax_Base.branch Prims.list) + = + fun t -> + fun ss -> + fun brs -> Pulse_Common.map_dec t brs (fun br -> subst_branch ss br) +and (subst_branch : + subst -> + (Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term) -> + (Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term)) + = + fun ss -> + fun b -> + let uu___ = b in + match uu___ with + | (p, e) -> + let pat_n_binders p1 = + match p1 with + | Pulse_Syntax_Base.Pat_Constant uu___1 -> Prims.int_zero + | Pulse_Syntax_Base.Pat_Var uu___1 -> Prims.int_one + | Pulse_Syntax_Base.Pat_Cons (uu___1, args) -> + FStar_List_Tot_Base.length args + | Pulse_Syntax_Base.Pat_Dot_Term uu___1 -> Prims.int_zero in + let nn = pat_n_binders p in + let ss1 = shift_subst_n nn ss in (p, (subst_st_term e ss1)) let (open_st_term' : Pulse_Syntax_Base.st_term -> Pulse_Syntax_Base.term -> @@ -719,6 +798,28 @@ let (close_st_term : let (close_comp : Pulse_Syntax_Base.comp -> Pulse_Syntax_Base.var -> Pulse_Syntax_Base.comp) = fun t -> fun v -> close_comp' t v Prims.int_zero +let (close_term_n : + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.var Prims.list -> Pulse_Syntax_Base.term) + = + fun t -> + fun vs -> + let rec aux i vs1 t1 = + match vs1 with + | [] -> t1 + | v::vs2 -> aux (i + Prims.int_one) vs2 (close_term' t1 v i) in + aux Prims.int_zero (FStar_List_Tot_Base.rev vs) t +let (close_st_term_n : + Pulse_Syntax_Base.st_term -> + Pulse_Syntax_Base.var Prims.list -> Pulse_Syntax_Base.st_term) + = + fun t -> + fun vs -> + let rec aux i vs1 t1 = + match vs1 with + | [] -> t1 + | v::vs2 -> aux (i + Prims.int_one) vs2 (close_st_term' t1 v i) in + aux Prims.int_zero (FStar_List_Tot_Base.rev vs) t let (close_binders : Pulse_Syntax_Base.binder Prims.list -> Pulse_Syntax_Base.var Prims.list -> Pulse_Syntax_Base.binder Prims.list) diff --git a/src/ocaml/plugin/generated/Pulse_Syntax_Printer.ml b/src/ocaml/plugin/generated/Pulse_Syntax_Printer.ml index 25b54f6cc..69a621f1e 100644 --- a/src/ocaml/plugin/generated/Pulse_Syntax_Printer.ml +++ b/src/ocaml/plugin/generated/Pulse_Syntax_Printer.ml @@ -1989,6 +1989,63 @@ let rec (st_term_to_string' : (fun uu___3 -> uu___2 uu___1)))) uu___1))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> uu___1 level)) + | Pulse_Syntax_Base.Tm_Match + { Pulse_Syntax_Base.sc = sc; Pulse_Syntax_Base.returns_ = uu___; + Pulse_Syntax_Base.brs = brs;_} + -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" + (Prims.of_int (181)) (Prims.of_int (8)) + (Prims.of_int (181)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" + (Prims.of_int (179)) (Prims.of_int (6)) + (Prims.of_int (181)) (Prims.of_int (32))))) + (Obj.magic (branches_to_string brs)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" + (Prims.of_int (179)) (Prims.of_int (6)) + (Prims.of_int (181)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" + (Prims.of_int (179)) (Prims.of_int (6)) + (Prims.of_int (181)) (Prims.of_int (32))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Syntax.Printer.fst" + (Prims.of_int (180)) (Prims.of_int (8)) + (Prims.of_int (180)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Printf.fst" + (Prims.of_int (121)) (Prims.of_int (8)) + (Prims.of_int (123)) + (Prims.of_int (44))))) + (Obj.magic (term_to_string sc)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + fun x -> + Prims.strcat + (Prims.strcat "match (" + (Prims.strcat uu___2 ") with ")) + (Prims.strcat x ""))))) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> uu___2 uu___1)))) uu___1) | Pulse_Syntax_Base.Tm_IntroPure { Pulse_Syntax_Base.p = p; Pulse_Syntax_Base.should_check = uu___;_} @@ -1997,8 +2054,8 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (181)) (Prims.of_int (8)) - (Prims.of_int (181)) (Prims.of_int (42))))) + (Prims.of_int (186)) (Prims.of_int (8)) + (Prims.of_int (186)) (Prims.of_int (42))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) @@ -2017,8 +2074,8 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (185)) (Prims.of_int (8)) - (Prims.of_int (185)) (Prims.of_int (26))))) + (Prims.of_int (190)) (Prims.of_int (8)) + (Prims.of_int (190)) (Prims.of_int (26))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) @@ -2037,13 +2094,13 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (192)) (Prims.of_int (8)) - (Prims.of_int (192)) (Prims.of_int (43))))) + (Prims.of_int (197)) (Prims.of_int (8)) + (Prims.of_int (197)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (188)) (Prims.of_int (6)) - (Prims.of_int (192)) (Prims.of_int (43))))) + (Prims.of_int (193)) (Prims.of_int (6)) + (Prims.of_int (197)) (Prims.of_int (43))))) (Obj.magic (term_list_to_string " " witnesses)) (fun uu___1 -> (fun uu___1 -> @@ -2052,28 +2109,28 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (188)) (Prims.of_int (6)) - (Prims.of_int (192)) (Prims.of_int (43))))) + (Prims.of_int (193)) (Prims.of_int (6)) + (Prims.of_int (197)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (188)) (Prims.of_int (6)) - (Prims.of_int (192)) (Prims.of_int (43))))) + (Prims.of_int (193)) (Prims.of_int (6)) + (Prims.of_int (197)) (Prims.of_int (43))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (188)) (Prims.of_int (6)) - (Prims.of_int (192)) + (Prims.of_int (193)) (Prims.of_int (6)) + (Prims.of_int (197)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (188)) (Prims.of_int (6)) - (Prims.of_int (192)) + (Prims.of_int (193)) (Prims.of_int (6)) + (Prims.of_int (197)) (Prims.of_int (43))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2081,9 +2138,9 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (190)) + (Prims.of_int (195)) (Prims.of_int (8)) - (Prims.of_int (190)) + (Prims.of_int (195)) (Prims.of_int (42))))) (FStar_Sealed.seal (Obj.magic @@ -2127,13 +2184,13 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (199)) (Prims.of_int (8)) - (Prims.of_int (199)) (Prims.of_int (43))))) + (Prims.of_int (204)) (Prims.of_int (8)) + (Prims.of_int (204)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (195)) (Prims.of_int (6)) - (Prims.of_int (199)) (Prims.of_int (43))))) + (Prims.of_int (200)) (Prims.of_int (6)) + (Prims.of_int (204)) (Prims.of_int (43))))) (Obj.magic (term_list_to_string " " witnesses)) (fun uu___1 -> (fun uu___1 -> @@ -2142,28 +2199,28 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (195)) (Prims.of_int (6)) - (Prims.of_int (199)) (Prims.of_int (43))))) + (Prims.of_int (200)) (Prims.of_int (6)) + (Prims.of_int (204)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (195)) (Prims.of_int (6)) - (Prims.of_int (199)) (Prims.of_int (43))))) + (Prims.of_int (200)) (Prims.of_int (6)) + (Prims.of_int (204)) (Prims.of_int (43))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (195)) (Prims.of_int (6)) - (Prims.of_int (199)) + (Prims.of_int (200)) (Prims.of_int (6)) + (Prims.of_int (204)) (Prims.of_int (43))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (195)) (Prims.of_int (6)) - (Prims.of_int (199)) + (Prims.of_int (200)) (Prims.of_int (6)) + (Prims.of_int (204)) (Prims.of_int (43))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2171,9 +2228,9 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (197)) + (Prims.of_int (202)) (Prims.of_int (8)) - (Prims.of_int (197)) + (Prims.of_int (202)) (Prims.of_int (42))))) (FStar_Sealed.seal (Obj.magic @@ -2218,25 +2275,25 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) (Prims.of_int (6)) - (Prims.of_int (209)) (Prims.of_int (13))))) + (Prims.of_int (207)) (Prims.of_int (6)) + (Prims.of_int (214)) (Prims.of_int (13))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) (Prims.of_int (6)) - (Prims.of_int (209)) (Prims.of_int (13))))) + (Prims.of_int (207)) (Prims.of_int (6)) + (Prims.of_int (214)) (Prims.of_int (13))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (208)) (Prims.of_int (8)) - (Prims.of_int (208)) (Prims.of_int (48))))) + (Prims.of_int (213)) (Prims.of_int (8)) + (Prims.of_int (213)) (Prims.of_int (48))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) (Prims.of_int (6)) - (Prims.of_int (209)) (Prims.of_int (13))))) + (Prims.of_int (207)) (Prims.of_int (6)) + (Prims.of_int (214)) (Prims.of_int (13))))) (Obj.magic (st_term_to_string' (indent level) body)) (fun uu___1 -> (fun uu___1 -> @@ -2246,15 +2303,15 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (207)) (Prims.of_int (6)) + (Prims.of_int (214)) (Prims.of_int (13))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (207)) (Prims.of_int (6)) + (Prims.of_int (214)) (Prims.of_int (13))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2262,17 +2319,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) + (Prims.of_int (207)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (214)) (Prims.of_int (13))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) + (Prims.of_int (207)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (214)) (Prims.of_int (13))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2280,17 +2337,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) + (Prims.of_int (207)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (214)) (Prims.of_int (13))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) + (Prims.of_int (207)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (214)) (Prims.of_int (13))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2298,17 +2355,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (205)) + (Prims.of_int (210)) (Prims.of_int (8)) - (Prims.of_int (205)) + (Prims.of_int (210)) (Prims.of_int (34))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) + (Prims.of_int (207)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (214)) (Prims.of_int (13))))) (Obj.magic (term_to_string invariant)) @@ -2320,17 +2377,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) + (Prims.of_int (207)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (214)) (Prims.of_int (13))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) + (Prims.of_int (207)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (214)) (Prims.of_int (13))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2338,17 +2395,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) + (Prims.of_int (207)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (214)) (Prims.of_int (13))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (202)) + (Prims.of_int (207)) (Prims.of_int (6)) - (Prims.of_int (209)) + (Prims.of_int (214)) (Prims.of_int (13))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2356,9 +2413,9 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (203)) + (Prims.of_int (208)) (Prims.of_int (8)) - (Prims.of_int (203)) + (Prims.of_int (208)) (Prims.of_int (44))))) (FStar_Sealed.seal (Obj.magic @@ -2441,13 +2498,13 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (218)) (Prims.of_int (8)) - (Prims.of_int (218)) (Prims.of_int (30))))) + (Prims.of_int (223)) (Prims.of_int (8)) + (Prims.of_int (223)) (Prims.of_int (30))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) (Prims.of_int (6)) - (Prims.of_int (218)) (Prims.of_int (30))))) + (Prims.of_int (217)) (Prims.of_int (6)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (term_to_string post2)) (fun uu___ -> (fun uu___ -> @@ -2456,28 +2513,28 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) (Prims.of_int (6)) - (Prims.of_int (218)) (Prims.of_int (30))))) + (Prims.of_int (217)) (Prims.of_int (6)) + (Prims.of_int (223)) (Prims.of_int (30))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) (Prims.of_int (6)) - (Prims.of_int (218)) (Prims.of_int (30))))) + (Prims.of_int (217)) (Prims.of_int (6)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (217)) (Prims.of_int (8)) - (Prims.of_int (217)) + (Prims.of_int (222)) (Prims.of_int (8)) + (Prims.of_int (222)) (Prims.of_int (40))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (217)) (Prims.of_int (6)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (st_term_to_string' level body2)) (fun uu___1 -> @@ -2488,17 +2545,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2506,17 +2563,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (216)) + (Prims.of_int (221)) (Prims.of_int (8)) - (Prims.of_int (216)) + (Prims.of_int (221)) (Prims.of_int (29))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (term_to_string pre2)) @@ -2528,17 +2585,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2546,17 +2603,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (215)) + (Prims.of_int (220)) (Prims.of_int (8)) - (Prims.of_int (215)) + (Prims.of_int (220)) (Prims.of_int (30))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (term_to_string @@ -2570,17 +2627,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2588,17 +2645,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (214)) + (Prims.of_int (219)) (Prims.of_int (8)) - (Prims.of_int (214)) + (Prims.of_int (219)) (Prims.of_int (40))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (st_term_to_string' @@ -2614,17 +2671,17 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (212)) + (Prims.of_int (217)) (Prims.of_int (6)) - (Prims.of_int (218)) + (Prims.of_int (223)) (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2632,9 +2689,9 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (213)) + (Prims.of_int (218)) (Prims.of_int (8)) - (Prims.of_int (213)) + (Prims.of_int (218)) (Prims.of_int (29))))) (FStar_Sealed.seal (Obj.magic @@ -2712,13 +2769,13 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (223)) (Prims.of_int (15)) - (Prims.of_int (223)) (Prims.of_int (34))))) + (Prims.of_int (228)) (Prims.of_int (15)) + (Prims.of_int (228)) (Prims.of_int (34))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (221)) (Prims.of_int (7)) - (Prims.of_int (223)) (Prims.of_int (34))))) + (Prims.of_int (226)) (Prims.of_int (7)) + (Prims.of_int (228)) (Prims.of_int (34))))) (Obj.magic (term_to_string t2)) (fun uu___ -> (fun uu___ -> @@ -2727,21 +2784,21 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (221)) (Prims.of_int (7)) - (Prims.of_int (223)) (Prims.of_int (34))))) + (Prims.of_int (226)) (Prims.of_int (7)) + (Prims.of_int (228)) (Prims.of_int (34))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (221)) (Prims.of_int (7)) - (Prims.of_int (223)) (Prims.of_int (34))))) + (Prims.of_int (226)) (Prims.of_int (7)) + (Prims.of_int (228)) (Prims.of_int (34))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (222)) (Prims.of_int (8)) - (Prims.of_int (222)) + (Prims.of_int (227)) (Prims.of_int (8)) + (Prims.of_int (227)) (Prims.of_int (27))))) (FStar_Sealed.seal (Obj.magic @@ -2770,13 +2827,13 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (229)) (Prims.of_int (8)) - (Prims.of_int (229)) (Prims.of_int (39))))) + (Prims.of_int (234)) (Prims.of_int (8)) + (Prims.of_int (234)) (Prims.of_int (39))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (226)) (Prims.of_int (6)) - (Prims.of_int (229)) (Prims.of_int (39))))) + (Prims.of_int (231)) (Prims.of_int (6)) + (Prims.of_int (234)) (Prims.of_int (39))))) (Obj.magic (st_term_to_string' level body)) (fun uu___1 -> (fun uu___1 -> @@ -2785,28 +2842,28 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (226)) (Prims.of_int (6)) - (Prims.of_int (229)) (Prims.of_int (39))))) + (Prims.of_int (231)) (Prims.of_int (6)) + (Prims.of_int (234)) (Prims.of_int (39))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (226)) (Prims.of_int (6)) - (Prims.of_int (229)) (Prims.of_int (39))))) + (Prims.of_int (231)) (Prims.of_int (6)) + (Prims.of_int (234)) (Prims.of_int (39))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (226)) (Prims.of_int (6)) - (Prims.of_int (229)) + (Prims.of_int (231)) (Prims.of_int (6)) + (Prims.of_int (234)) (Prims.of_int (39))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (226)) (Prims.of_int (6)) - (Prims.of_int (229)) + (Prims.of_int (231)) (Prims.of_int (6)) + (Prims.of_int (234)) (Prims.of_int (39))))) (Obj.magic (FStar_Tactics_Effect.tac_bind @@ -2814,9 +2871,9 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (227)) + (Prims.of_int (232)) (Prims.of_int (8)) - (Prims.of_int (227)) + (Prims.of_int (232)) (Prims.of_int (36))))) (FStar_Sealed.seal (Obj.magic @@ -2854,13 +2911,13 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (239)) (Prims.of_int (8)) - (Prims.of_int (241)) (Prims.of_int (60))))) + (Prims.of_int (244)) (Prims.of_int (8)) + (Prims.of_int (246)) (Prims.of_int (60))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (232)) (Prims.of_int (6)) - (Prims.of_int (241)) (Prims.of_int (60))))) + (Prims.of_int (237)) (Prims.of_int (6)) + (Prims.of_int (246)) (Prims.of_int (60))))) (match post with | FStar_Pervasives_Native.None -> Obj.magic @@ -2874,8 +2931,8 @@ let rec (st_term_to_string' : (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (241)) (Prims.of_int (38)) - (Prims.of_int (241)) (Prims.of_int (59))))) + (Prims.of_int (246)) (Prims.of_int (38)) + (Prims.of_int (246)) (Prims.of_int (59))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "prims.fst" @@ -2893,21 +2950,21 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (232)) (Prims.of_int (6)) - (Prims.of_int (241)) (Prims.of_int (60))))) + (Prims.of_int (237)) (Prims.of_int (6)) + (Prims.of_int (246)) (Prims.of_int (60))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (232)) (Prims.of_int (6)) - (Prims.of_int (241)) (Prims.of_int (60))))) + (Prims.of_int (237)) (Prims.of_int (6)) + (Prims.of_int (246)) (Prims.of_int (60))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (238)) (Prims.of_int (8)) - (Prims.of_int (238)) + (Prims.of_int (243)) (Prims.of_int (8)) + (Prims.of_int (243)) (Prims.of_int (28))))) (FStar_Sealed.seal (Obj.magic @@ -2948,8 +3005,8 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (246)) (Prims.of_int (6)) - (Prims.of_int (246)) (Prims.of_int (34))))) + (Prims.of_int (251)) (Prims.of_int (6)) + (Prims.of_int (251)) (Prims.of_int (34))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) @@ -2971,13 +3028,13 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (251)) (Prims.of_int (8)) - (Prims.of_int (251)) (Prims.of_int (36))))) + (Prims.of_int (256)) (Prims.of_int (8)) + (Prims.of_int (256)) (Prims.of_int (36))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (249)) (Prims.of_int (6)) - (Prims.of_int (251)) (Prims.of_int (36))))) + (Prims.of_int (254)) (Prims.of_int (6)) + (Prims.of_int (256)) (Prims.of_int (36))))) (Obj.magic (st_term_to_string' level t1)) (fun uu___1 -> (fun uu___1 -> @@ -2986,21 +3043,21 @@ let rec (st_term_to_string' : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (249)) (Prims.of_int (6)) - (Prims.of_int (251)) (Prims.of_int (36))))) + (Prims.of_int (254)) (Prims.of_int (6)) + (Prims.of_int (256)) (Prims.of_int (36))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (249)) (Prims.of_int (6)) - (Prims.of_int (251)) (Prims.of_int (36))))) + (Prims.of_int (254)) (Prims.of_int (6)) + (Prims.of_int (256)) (Prims.of_int (36))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (250)) (Prims.of_int (8)) - (Prims.of_int (250)) + (Prims.of_int (255)) (Prims.of_int (8)) + (Prims.of_int (255)) (Prims.of_int (26))))) (FStar_Sealed.seal (Obj.magic @@ -3020,6 +3077,76 @@ let rec (st_term_to_string' : (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> uu___2 uu___1)))) uu___1) +and (branches_to_string : + (Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term) Prims.list -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun brs -> + match brs with + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ""))) + | b::bs -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" + (Prims.of_int (261)) (Prims.of_int (13)) + (Prims.of_int (261)) (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" + (Prims.of_int (261)) (Prims.of_int (13)) + (Prims.of_int (261)) (Prims.of_int (55))))) + (Obj.magic (branch_to_string b)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "Pulse.Syntax.Printer.fst" + (Prims.of_int (261)) + (Prims.of_int (34)) + (Prims.of_int (261)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic (branches_to_string bs)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> Prims.strcat uu___ uu___1)))) + uu___)))) uu___ +and (branch_to_string : + (Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term) -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun br -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" + (Prims.of_int (264)) (Prims.of_int (17)) (Prims.of_int (264)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" + (Prims.of_int (263)) (Prims.of_int (35)) (Prims.of_int (265)) + (Prims.of_int (25))))) + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> br)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (pat, e) -> Obj.magic (st_term_to_string' "" e)) uu___) let (st_term_to_string : Pulse_Syntax_Base.st_term -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) @@ -3046,6 +3173,7 @@ let (tag_of_st_term : Pulse_Syntax_Base.st_term -> Prims.string) = | Pulse_Syntax_Base.Tm_Bind uu___ -> "Tm_Bind" | Pulse_Syntax_Base.Tm_TotBind uu___ -> "Tm_TotBind" | Pulse_Syntax_Base.Tm_If uu___ -> "Tm_If" + | Pulse_Syntax_Base.Tm_Match uu___ -> "Tm_Match" | Pulse_Syntax_Base.Tm_IntroPure uu___ -> "Tm_IntroPure" | Pulse_Syntax_Base.Tm_ElimExists uu___ -> "Tm_ElimExists" | Pulse_Syntax_Base.Tm_IntroExists uu___ -> "Tm_IntroExists" @@ -3079,8 +3207,8 @@ let (tag_of_comp : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (293)) (Prims.of_int (31)) - (Prims.of_int (293)) (Prims.of_int (49))))) + (Prims.of_int (308)) (Prims.of_int (31)) + (Prims.of_int (308)) (Prims.of_int (49))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "prims.fst" @@ -3098,8 +3226,8 @@ let (tag_of_comp : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Syntax.Printer.fst" - (Prims.of_int (295)) (Prims.of_int (30)) - (Prims.of_int (295)) (Prims.of_int (48))))) + (Prims.of_int (310)) (Prims.of_int (30)) + (Prims.of_int (310)) (Prims.of_int (48))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "prims.fst" @@ -3120,6 +3248,7 @@ let rec (print_st_head : Pulse_Syntax_Base.st_term -> Prims.string) = | Pulse_Syntax_Base.Tm_Bind uu___ -> "Bind" | Pulse_Syntax_Base.Tm_TotBind uu___ -> "TotBind" | Pulse_Syntax_Base.Tm_If uu___ -> "If" + | Pulse_Syntax_Base.Tm_Match uu___ -> "Match" | Pulse_Syntax_Base.Tm_While uu___ -> "While" | Pulse_Syntax_Base.Tm_Admit uu___ -> "Admit" | Pulse_Syntax_Base.Tm_Par uu___ -> "Par" @@ -3160,6 +3289,7 @@ let rec (print_skel : Pulse_Syntax_Base.st_term -> Prims.string) = { Pulse_Syntax_Base.head2 = uu___; Pulse_Syntax_Base.body2 = e2;_} -> Prims.strcat "(TotBind _ " (Prims.strcat (print_skel e2) ")") | Pulse_Syntax_Base.Tm_If uu___ -> "If" + | Pulse_Syntax_Base.Tm_Match uu___ -> "Match" | Pulse_Syntax_Base.Tm_While uu___ -> "While" | Pulse_Syntax_Base.Tm_Admit uu___ -> "Admit" | Pulse_Syntax_Base.Tm_Par uu___ -> "Par" diff --git a/src/ocaml/plugin/generated/Pulse_Typing.ml b/src/ocaml/plugin/generated/Pulse_Typing.ml index e371f5d49..8336d30ee 100644 --- a/src/ocaml/plugin/generated/Pulse_Typing.ml +++ b/src/ocaml/plugin/generated/Pulse_Typing.ml @@ -21,21 +21,21 @@ let (debug_log : (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Typing.fst" - (Prims.of_int (15)) (Prims.of_int (15)) - (Prims.of_int (15)) (Prims.of_int (64))))) + (Prims.of_int (16)) (Prims.of_int (15)) + (Prims.of_int (16)) (Prims.of_int (64))))) (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Typing.fst" - (Prims.of_int (15)) (Prims.of_int (7)) - (Prims.of_int (15)) (Prims.of_int (64))))) + (Prims.of_int (16)) (Prims.of_int (7)) + (Prims.of_int (16)) (Prims.of_int (64))))) (Obj.magic (FStar_Tactics_Effect.tac_bind (FStar_Sealed.seal (Obj.magic (FStar_Range.mk_range "Pulse.Typing.fst" - (Prims.of_int (15)) + (Prims.of_int (16)) (Prims.of_int (57)) - (Prims.of_int (15)) + (Prims.of_int (16)) (Prims.of_int (63))))) (FStar_Sealed.seal (Obj.magic @@ -68,6 +68,9 @@ let (tm_unit : Pulse_Syntax_Base.term) = let (tm_bool : Pulse_Syntax_Base.term) = Pulse_Syntax_Pure.tm_fvar (Pulse_Syntax_Base.as_fv Pulse_Reflection_Util.bool_lid) +let (tm_int : Pulse_Syntax_Base.term) = + Pulse_Syntax_Pure.tm_fvar + (Pulse_Syntax_Base.as_fv Pulse_Reflection_Util.int_lid) let (tm_true : Pulse_Syntax_Base.term) = Pulse_Syntax_Pure.tm_constant FStar_Reflection_V2_Data.C_True let (tm_false : Pulse_Syntax_Base.term) = @@ -138,6 +141,21 @@ let (mk_eq2 : (FStar_Pervasives_Native.Some Pulse_Syntax_Base.Implicit) t) FStar_Pervasives_Native.None e0) FStar_Pervasives_Native.None e1 +let (mk_sq_eq2 : + Pulse_Syntax_Base.universe -> + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.term -> + Pulse_Syntax_Base.term -> Pulse_Syntax_Base.term) + = + fun u -> + fun t -> + fun e0 -> + fun e1 -> + let eq = mk_eq2 u t e0 e1 in + Pulse_Syntax_Pure.tm_pureapp + (Pulse_Syntax_Pure.tm_uinst + (Pulse_Syntax_Base.as_fv FStar_Reflection_Const.squash_qn) + [u]) FStar_Pervasives_Native.None eq let (mk_eq2_prop : Pulse_Syntax_Base.universe -> Pulse_Syntax_Base.term -> @@ -267,6 +285,20 @@ let (extend_env_l : let (elab_env : Pulse_Typing_Env.env -> FStar_Reflection_Types.env) = fun e -> extend_env_l (Pulse_Typing_Env.fstar_env e) (Pulse_Typing_Env.bindings e) +type ('g, 'x) freshv = unit +type ('g, 'xs) all_fresh = Obj.t +let rec (push_bindings : + Pulse_Typing_Env.env -> + Pulse_Typing_Env.binding Prims.list -> Pulse_Typing_Env.env) + = + fun g -> + fun bs -> + match bs with + | [] -> g + | (x, t)::bs1 -> + push_bindings + (Pulse_Typing_Env.push_binding g x + Pulse_Syntax_Base.ppname_default t) bs1 let (add_frame : Pulse_Syntax_Base.comp_st -> Pulse_Syntax_Base.term -> Pulse_Syntax_Base.comp_st) @@ -733,6 +765,24 @@ type ('dummyV0, 'dummyV1) st_comp_typing = Pulse_Syntax_Base.var * unit * unit * unit let uu___is_STC uu___1 uu___ uu___2 = match uu___2 with | STC _ -> true | _ -> false +let (tr_binding : + (Pulse_Syntax_Base.var * Pulse_Syntax_Base.typ) -> + FStar_Reflection_V2_Data.binding) + = + fun vt -> + let uu___ = vt in + match uu___ with + | (v, t) -> + { + FStar_Reflection_V2_Data.uniq1 = v; + FStar_Reflection_V2_Data.sort3 = (Pulse_Elaborate_Pure.elab_term t); + FStar_Reflection_V2_Data.ppname3 = + (Pulse_Syntax_Base.ppname_default.Pulse_Syntax_Base.name) + } +let (tr_bindings : + (Pulse_Syntax_Base.var * Pulse_Syntax_Base.typ) Prims.list -> + FStar_Reflection_V2_Data.binding Prims.list) + = FStar_List_Tot_Base.map tr_binding type ('dummyV0, 'dummyV1, 'dummyV2) comp_typing = | CT_Tot of Pulse_Typing_Env.env * Pulse_Syntax_Base.term * Pulse_Syntax_Base.universe * unit @@ -752,6 +802,22 @@ let uu___is_CT_STGhost uu___2 uu___1 uu___ uu___3 = match uu___3 with | CT_STGhost _ -> true | _ -> false type ('g, 't) prop_validity = (unit, unit) FStar_Tactics_V2_Builtins.prop_validity_token +let (readback_binding : + FStar_Reflection_V2_Data.binding -> Pulse_Typing_Env.binding) = + fun b -> + match Pulse_Readback.readback_ty b.FStar_Reflection_V2_Data.sort3 with + | FStar_Pervasives_Native.Some sort -> + ((b.FStar_Reflection_V2_Data.uniq1), sort) + | FStar_Pervasives_Native.None -> + let sort = + { + Pulse_Syntax_Base.t = + (Pulse_Syntax_Base.Tm_FStar (b.FStar_Reflection_V2_Data.sort3)); + Pulse_Syntax_Base.range1 = + (FStar_Reflection_V2_Builtins.range_of_term + b.FStar_Reflection_V2_Data.sort3) + } in + ((b.FStar_Reflection_V2_Data.uniq1), sort) type ('dummyV0, 'dummyV1, 'dummyV2) st_typing = | T_Abs of Pulse_Typing_Env.env * Pulse_Syntax_Base.var * Pulse_Syntax_Base.qualifier FStar_Pervasives_Native.option * @@ -784,6 +850,11 @@ type ('dummyV0, 'dummyV1, 'dummyV2) st_typing = Pulse_Syntax_Base.comp_st * Pulse_Syntax_Base.universe * Pulse_Syntax_Base.var * unit * (unit, unit, unit) st_typing * (unit, unit, unit) st_typing * unit + | T_Match of Pulse_Typing_Env.env * Pulse_Syntax_Base.universe * + Pulse_Syntax_Base.typ * Pulse_Syntax_Base.term * unit * unit * + Pulse_Syntax_Base.comp_st * (Pulse_Syntax_Base.pattern * + Pulse_Syntax_Base.st_term) Prims.list * (unit, unit, unit, unit, unit, + unit) brs_typing * (unit, unit, unit, unit) pats_complete | T_Frame of Pulse_Typing_Env.env * Pulse_Syntax_Base.st_term * Pulse_Syntax_Base.comp_st * Pulse_Syntax_Base.term * unit * (unit, unit, unit) st_typing @@ -817,6 +888,24 @@ type ('dummyV0, 'dummyV1, 'dummyV2) st_typing = Pulse_Syntax_Base.vprop * unit * unit | T_Admit of Pulse_Typing_Env.env * Pulse_Syntax_Base.st_comp * Pulse_Syntax_Base.ctag * (unit, unit) st_comp_typing +and ('dummyV0, 'dummyV1, 'dummyV2, 'dummyV3) pats_complete = + | PC_Elab of Pulse_Typing_Env.env * Pulse_Syntax_Base.term * + Pulse_Syntax_Base.typ * FStar_Reflection_V2_Data.pattern Prims.list * + FStar_Reflection_V2_Data.binding Prims.list Prims.list * (unit, unit, + unit, unit, unit) FStar_Reflection_Typing.match_is_complete +and ('g, 'scuu, 'scuty, 'sc, 'dummyV0, 'dummyV1) brs_typing = + | TBRS_0 of Pulse_Syntax_Base.comp_st + | TBRS_1 of Pulse_Syntax_Base.comp_st * Pulse_Syntax_Base.pattern * + Pulse_Syntax_Base.st_term * (unit, unit, unit, unit, unit, unit, unit) + br_typing * Pulse_Syntax_Base.branch Prims.list * (unit, unit, unit, + unit, unit, unit) brs_typing +and ('dummyV0, 'dummyV1, 'dummyV2, 'dummyV3, 'dummyV4, 'dummyV5, + 'dummyV6) br_typing = + | TBR of Pulse_Typing_Env.env * Pulse_Syntax_Base.universe * + Pulse_Syntax_Base.typ * Pulse_Syntax_Base.term * Pulse_Syntax_Base.comp_st + * Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term * + FStar_Reflection_V2_Data.binding Prims.list * unit * unit * unit * + Pulse_Syntax_Base.var * (unit, unit, unit) st_typing let uu___is_T_Abs uu___2 uu___1 uu___ uu___3 = match uu___3 with | T_Abs _ -> true | _ -> false let uu___is_T_STApp uu___2 uu___1 uu___ uu___3 = @@ -831,6 +920,8 @@ let uu___is_T_TotBind uu___2 uu___1 uu___ uu___3 = match uu___3 with | T_TotBind _ -> true | _ -> false let uu___is_T_If uu___2 uu___1 uu___ uu___3 = match uu___3 with | T_If _ -> true | _ -> false +let uu___is_T_Match uu___2 uu___1 uu___ uu___3 = + match uu___3 with | T_Match _ -> true | _ -> false let uu___is_T_Frame uu___2 uu___1 uu___ uu___3 = match uu___3 with | T_Frame _ -> true | _ -> false let uu___is_T_Equiv uu___2 uu___1 uu___ uu___3 = @@ -853,6 +944,14 @@ let uu___is_T_Rewrite uu___2 uu___1 uu___ uu___3 = match uu___3 with | T_Rewrite _ -> true | _ -> false let uu___is_T_Admit uu___2 uu___1 uu___ uu___3 = match uu___3 with | T_Admit _ -> true | _ -> false +let uu___is_PC_Elab uu___3 uu___2 uu___1 uu___ uu___4 = + match uu___4 with | PC_Elab _ -> true | _ -> false +let uu___is_TBRS_0 uu___5 uu___4 uu___3 uu___2 uu___1 uu___ uu___6 = + match uu___6 with | TBRS_0 _ -> true | _ -> false +let uu___is_TBRS_1 uu___5 uu___4 uu___3 uu___2 uu___1 uu___ uu___6 = + match uu___6 with | TBRS_1 _ -> true | _ -> false +let uu___is_TBR uu___6 uu___5 uu___4 uu___3 uu___2 uu___1 uu___ uu___7 = + match uu___7 with | TBR _ -> true | _ -> false From 672d4eec9da54a73a19f786abce33d53941280df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= Date: Mon, 10 Jul 2023 13:39:59 -0700 Subject: [PATCH 06/15] rlimit bump --- lib/steel/Steel.ST.GenArraySwap.fst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/steel/Steel.ST.GenArraySwap.fst b/lib/steel/Steel.ST.GenArraySwap.fst index 4d51a47e0..65ec4e80f 100644 --- a/lib/steel/Steel.ST.GenArraySwap.fst +++ b/lib/steel/Steel.ST.GenArraySwap.fst @@ -393,7 +393,7 @@ let impl_jump then idx `SZ.sub` nl else idx `SZ.add` l -#push-options "--z3rlimit 64" +#push-options "--z3rlimit 96" #restart-solver inline_for_extraction From fd504b49df39b29b5d353b024e428973047735d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= Date: Tue, 18 Jul 2023 11:41:11 -0700 Subject: [PATCH 07/15] hints --- lib/steel/Steel.Array.fst.hints | 36 +- lib/steel/Steel.Array.fsti.hints | 30 +- lib/steel/Steel.ArrayArith.fsti.hints | 2 +- lib/steel/Steel.ArrayRef.fst.hints | 56 +- lib/steel/Steel.ArrayRef.fsti.hints | 26 +- lib/steel/Steel.Channel.Duplex.fsti.hints | 4 +- lib/steel/Steel.Channel.Protocol.fst.hints | 62 +- lib/steel/Steel.Channel.Simplex.fst.hints | 56 +- lib/steel/Steel.Channel.Simplex.fsti.hints | 4 +- lib/steel/Steel.Closure.fst.hints | 4 +- lib/steel/Steel.DisposableInvariant.fst.hints | 10 +- lib/steel/Steel.Effect.Atomic.fst.hints | 236 +- lib/steel/Steel.Effect.Atomic.fsti.hints | 82 +- lib/steel/Steel.Effect.Common.fst.hints | 350 +- lib/steel/Steel.Effect.Common.fsti.hints | 243 +- lib/steel/Steel.Effect.M.fst.hints | 6 +- lib/steel/Steel.Effect.fst.hints | 108 +- lib/steel/Steel.Effect.fsti.hints | 22 +- ...Steel.FractionalAnchoredPreorder.fst.hints | 72 +- .../Steel.FractionalPermission.fst.hints | 8 +- ...el.GhostMonotonicHigherReference.fst.hints | 24 +- .../Steel.GhostMonotonicReference.fst.hints | 14 +- lib/steel/Steel.GhostPCMReference.fst.hints | 18 +- lib/steel/Steel.GhostPCMReference.fsti.hints | 4 +- lib/steel/Steel.Heap.fst.hints | 234 +- lib/steel/Steel.Heap.fsti.hints | 36 +- lib/steel/Steel.HigherReference.fst.hints | 62 +- lib/steel/Steel.LockCoupling.fsti.hints | 2 +- lib/steel/Steel.Loops.fst.hints | 18 +- lib/steel/Steel.Loops.fsti.hints | 6 +- lib/steel/Steel.Memory.fst.hints | 288 +- lib/steel/Steel.Memory.fsti.hints | 30 +- lib/steel/Steel.MonotonicCounter.fst.hints | 10 +- .../Steel.MonotonicHigherReference.fst.hints | 38 +- lib/steel/Steel.MonotonicReference.fst.hints | 14 +- lib/steel/Steel.PCMFrac.fst.hints | 8 +- lib/steel/Steel.PCMMap.fst.hints | 26 +- lib/steel/Steel.PCMReference.fst.hints | 30 +- lib/steel/Steel.PCMReference.fsti.hints | 6 +- lib/steel/Steel.Preorder.fst.hints | 108 +- .../Steel.Primitive.ForkJoin.Unix.fst.hints | 34 +- lib/steel/Steel.Primitive.ForkJoin.fst.hints | 8 +- lib/steel/Steel.Reference.fst.hints | 164 +- lib/steel/Steel.Reference.fsti.hints | 46 +- lib/steel/Steel.ST.Array.Swap.fst.hints | 8 +- lib/steel/Steel.ST.Array.Swap.fsti.hints | 2 +- lib/steel/Steel.ST.Array.Util.fst.hints | 42 +- lib/steel/Steel.ST.Array.Util.fsti.hints | 8 +- lib/steel/Steel.ST.Array.fst.hints | 106 +- lib/steel/Steel.ST.Array.fsti.hints | 27 +- lib/steel/Steel.ST.BitVector.fst.hints | 16 +- lib/steel/Steel.ST.BitVector.fsti.hints | 6 +- .../Steel.ST.CancellableSpinLock.fst.hints | 2 +- lib/steel/Steel.ST.Coercions.fst.hints | 6 +- lib/steel/Steel.ST.Effect.Atomic.fst.hints | 12 +- lib/steel/Steel.ST.Effect.Atomic.fsti.hints | 12 +- .../Steel.ST.Effect.AtomicAndGhost.fst.hints | 24 +- .../Steel.ST.Effect.AtomicAndGhost.fsti.hints | 12 +- lib/steel/Steel.ST.Effect.Ghost.fst.hints | 14 +- lib/steel/Steel.ST.Effect.Ghost.fsti.hints | 12 +- lib/steel/Steel.ST.Effect.fst.hints | 22 +- lib/steel/Steel.ST.Effect.fsti.hints | 10 +- lib/steel/Steel.ST.EphemeralHashtbl.fst.hints | 82 +- .../Steel.ST.EphemeralHashtbl.fsti.hints | 6 +- .../Steel.ST.GenArraySwap.Proof.fst.hints | 223 +- lib/steel/Steel.ST.GenArraySwap.fst.hints | 50 +- lib/steel/Steel.ST.GenArraySwap.fsti.hints | 6 +- lib/steel/Steel.ST.GenElim.Base.fst.hints | 110 +- lib/steel/Steel.ST.GenElim.Base.fsti.hints | 102 +- lib/steel/Steel.ST.GenElim.fst.hints | 96 +- lib/steel/Steel.ST.GenElim1.Base.fst.hints | 124 +- lib/steel/Steel.ST.GenElim1.Base.fsti.hints | 116 +- lib/steel/Steel.ST.GenElim1.fst.hints | 108 +- .../Steel.ST.GhostHigherReference.fst.hints | 14 +- .../Steel.ST.GhostPCMReference.fst.hints | 22 +- .../Steel.ST.GhostPCMReference.fsti.hints | 4 +- lib/steel/Steel.ST.GhostReference.fst.hints | 4 +- lib/steel/Steel.ST.HigherArray.fst.hints | 232 +- lib/steel/Steel.ST.HigherArray.fsti.hints | 51 +- lib/steel/Steel.ST.HigherReference.fst.hints | 14 +- lib/steel/Steel.ST.Loops.Util.fst.hints | 6 +- lib/steel/Steel.ST.Loops.fst.hints | 12 +- lib/steel/Steel.ST.Loops.fsti.hints | 2 +- lib/steel/Steel.ST.PCMReference.fst.hints | 16 +- lib/steel/Steel.ST.PCMReference.fsti.hints | 8 +- lib/steel/Steel.ST.Printf.fst.hints | 54 +- lib/steel/Steel.ST.Reference.fst.hints | 18 +- lib/steel/Steel.ST.SpinLock.fst.hints | 10 +- lib/steel/Steel.ST.Util.fst.hints | 56 +- lib/steel/Steel.ST.Util.fsti.hints | 4 +- lib/steel/Steel.Semantics.Hoare.MST.fst.hints | 238 +- .../Steel.Semantics.Instantiate.fst.hints | 10 +- .../Steel.Semantics.Instantiate.fsti.hints | 4 +- lib/steel/Steel.SpinLock.fst.hints | 18 +- lib/steel/Steel.SpinLock.fsti.hints | 6 +- lib/steel/Steel.Stepper.fst.hints | 112 +- lib/steel/Steel.TLArray.fst.hints | 6 +- lib/steel/Steel.TLArray.fsti.hints | 2 +- lib/steel/Steel.Utils.fst.hints | 12 +- lib/steel/c/Steel.C.Typenat.fst.hints | 2 +- lib/steel/c/Steel.C.Typenat.fsti.hints | 2 +- lib/steel/c/Steel.C.Typestring.fst.hints | 2 +- lib/steel/c/Steel.C.Typestring.fsti.hints | 2 +- .../c/Steel.ST.C.Types.Array.Base.fst.hints | 2 +- lib/steel/c/Steel.ST.C.Types.Array.fsti.hints | 136 +- lib/steel/c/Steel.ST.C.Types.Base.fsti.hints | 30 +- .../c/Steel.ST.C.Types.Fields.fsti.hints | 2 +- .../c/Steel.ST.C.Types.Scalar.fsti.hints | 67 +- .../c/Steel.ST.C.Types.Struct.fsti.hints | 38 +- lib/steel/c/Steel.ST.C.Types.Union.fsti.hints | 44 +- .../c/Steel.ST.C.Types.UserStruct.fsti.hints | 34 +- lib/steel/pulse/Pulse.Checker.Abs.fst.hints | 104 +- lib/steel/pulse/Pulse.Checker.Admit.fst.hints | 81 +- .../Pulse.Checker.AssertWithBinders.fst.hints | 132 +- ...Pulse.Checker.AssertWithBinders.fsti.hints | 2 +- lib/steel/pulse/Pulse.Checker.Bind.fst.hints | 719 ++-- lib/steel/pulse/Pulse.Checker.Bind.fsti.hints | 56 +- .../pulse/Pulse.Checker.Common.fst.hints | 360 +- .../pulse/Pulse.Checker.Common.fsti.hints | 183 +- lib/steel/pulse/Pulse.Checker.Comp.fst.hints | 32 +- lib/steel/pulse/Pulse.Checker.Comp.fsti.hints | 2 +- .../pulse/Pulse.Checker.Exists.fst.hints | 203 +- .../pulse/Pulse.Checker.Exists.fsti.hints | 4 +- .../pulse/Pulse.Checker.Framing.fst.hints | 200 +- .../pulse/Pulse.Checker.Framing.fsti.hints | 10 +- lib/steel/pulse/Pulse.Checker.If.fst.hints | 80 +- .../pulse/Pulse.Checker.Inference.fst.hints | 210 +- .../pulse/Pulse.Checker.Inference.fsti.hints | 2 +- .../pulse/Pulse.Checker.IntroPure.fst.hints | 16 +- lib/steel/pulse/Pulse.Checker.Match.fst.hints | 1084 +++++ .../pulse/Pulse.Checker.Match.fsti.hints | 1 + lib/steel/pulse/Pulse.Checker.Par.fst.hints | 31 +- lib/steel/pulse/Pulse.Checker.Pure.fst.hints | 169 +- lib/steel/pulse/Pulse.Checker.Pure.fsti.hints | 2 +- .../pulse/Pulse.Checker.Return.fst.hints | 46 +- .../pulse/Pulse.Checker.Rewrite.fst.hints | 43 +- lib/steel/pulse/Pulse.Checker.STApp.fst.hints | 126 +- .../pulse/Pulse.Checker.VPropEquiv.fst.hints | 14 +- lib/steel/pulse/Pulse.Checker.While.fst.hints | 135 +- .../pulse/Pulse.Checker.WithLocal.fst.hints | 124 +- lib/steel/pulse/Pulse.Checker.fst.hints | 98 +- .../Pulse.Class.BoundedIntegers.fst.hints | 440 ++ lib/steel/pulse/Pulse.Common.fst.hints | 427 ++ .../pulse/Pulse.Elaborate.Core.fst.hints | 153 +- .../pulse/Pulse.Elaborate.Pure.fst.hints | 64 +- lib/steel/pulse/Pulse.Elaborate.fst.hints | 44 +- lib/steel/pulse/Pulse.Elaborate.fsti.hints | 2 +- lib/steel/pulse/Pulse.Main.fst.hints | 26 +- lib/steel/pulse/Pulse.Prover.Common.fst.hints | 1132 ++++- .../pulse/Pulse.Prover.Common.fsti.hints | 366 +- .../pulse/Pulse.Prover.ElimExists.fst.hints | 175 +- .../pulse/Pulse.Prover.ElimExists.fsti.hints | 2 +- .../pulse/Pulse.Prover.ElimPure.fst.hints | 244 +- .../pulse/Pulse.Prover.ElimPure.fsti.hints | 2 +- .../pulse/Pulse.Prover.IntroExists.fst.hints | 272 +- .../pulse/Pulse.Prover.IntroExists.fsti.hints | 2 +- lib/steel/pulse/Pulse.Prover.Match.fst.hints | 379 ++ lib/steel/pulse/Pulse.Prover.Match.fsti.hints | 1 + lib/steel/pulse/Pulse.Prover.Substs.fst.hints | 1803 +++++++- .../pulse/Pulse.Prover.Substs.fsti.hints | 273 +- lib/steel/pulse/Pulse.Prover.fst.hints | 340 +- lib/steel/pulse/Pulse.Prover.fsti.hints | 26 +- lib/steel/pulse/Pulse.Readback.fst.hints | 99 +- lib/steel/pulse/Pulse.Readback.fsti.hints | 2 +- .../pulse/Pulse.Reflection.Util.fst.hints | 4 +- lib/steel/pulse/Pulse.RuntimeUtils.fsti.hints | 2 +- .../pulse/Pulse.Soundness.Admit.fst.hints | 2 +- .../pulse/Pulse.Soundness.Bind.fst.hints | 20 +- .../pulse/Pulse.Soundness.Bind.fsti.hints | 6 +- .../pulse/Pulse.Soundness.Common.fst.hints | 16 +- .../pulse/Pulse.Soundness.Comp.fst.hints | 5 +- .../pulse/Pulse.Soundness.Exists.fst.hints | 6 +- .../pulse/Pulse.Soundness.Frame.fst.hints | 2 +- .../pulse/Pulse.Soundness.Lift.fst.hints | 4 +- .../pulse/Pulse.Soundness.Lift.fsti.hints | 2 +- .../pulse/Pulse.Soundness.Match.fst.hints | 56 + .../pulse/Pulse.Soundness.Match.fsti.hints | 1 + lib/steel/pulse/Pulse.Soundness.Par.fst.hints | 2 +- .../pulse/Pulse.Soundness.Return.fst.hints | 4 +- .../pulse/Pulse.Soundness.Rewrite.fst.hints | 2 +- .../pulse/Pulse.Soundness.STEquiv.fst.hints | 4 +- .../Pulse.Soundness.VPropEquiv.fst.hints | 8 +- .../pulse/Pulse.Soundness.While.fst.hints | 2 +- .../pulse/Pulse.Soundness.WithLocal.fst.hints | 3777 +---------------- lib/steel/pulse/Pulse.Soundness.fst.hints | 46 +- lib/steel/pulse/Pulse.Steel.Wrapper.fst.hints | 68 +- .../pulse/Pulse.Steel.Wrapper.fsti.hints | 6 +- lib/steel/pulse/Pulse.Syntax.Base.fst.hints | 451 +- lib/steel/pulse/Pulse.Syntax.Base.fsti.hints | 152 +- .../pulse/Pulse.Syntax.Builder.fst.hints | 2 +- lib/steel/pulse/Pulse.Syntax.Naming.fst.hints | 377 +- .../pulse/Pulse.Syntax.Naming.fsti.hints | 271 +- .../pulse/Pulse.Syntax.Printer.fst.hints | 88 +- .../pulse/Pulse.Syntax.Printer.fsti.hints | 2 +- lib/steel/pulse/Pulse.Syntax.Pure.fst.hints | 36 +- .../pulse/Pulse.Typing.Combinators.fst.hints | 276 ++ .../pulse/Pulse.Typing.Combinators.fsti.hints | 55 + lib/steel/pulse/Pulse.Typing.Env.fst.hints | 362 +- lib/steel/pulse/Pulse.Typing.Env.fsti.hints | 48 +- lib/steel/pulse/Pulse.Typing.FV.fst.hints | 385 +- lib/steel/pulse/Pulse.Typing.FV.fsti.hints | 18 +- lib/steel/pulse/Pulse.Typing.LN.fst.hints | 254 +- .../pulse/Pulse.Typing.Metatheory.fst.hints | 246 +- .../pulse/Pulse.Typing.Metatheory.fsti.hints | 216 +- lib/steel/pulse/Pulse.Typing.fst.hints | 620 ++- 205 files changed, 13820 insertions(+), 9932 deletions(-) create mode 100644 lib/steel/pulse/Pulse.Checker.Match.fst.hints create mode 100644 lib/steel/pulse/Pulse.Checker.Match.fsti.hints create mode 100644 lib/steel/pulse/Pulse.Class.BoundedIntegers.fst.hints create mode 100644 lib/steel/pulse/Pulse.Common.fst.hints create mode 100644 lib/steel/pulse/Pulse.Prover.Match.fst.hints create mode 100644 lib/steel/pulse/Pulse.Prover.Match.fsti.hints create mode 100644 lib/steel/pulse/Pulse.Soundness.Match.fst.hints create mode 100644 lib/steel/pulse/Pulse.Soundness.Match.fsti.hints create mode 100644 lib/steel/pulse/Pulse.Typing.Combinators.fst.hints create mode 100644 lib/steel/pulse/Pulse.Typing.Combinators.fsti.hints diff --git a/lib/steel/Steel.Array.fst.hints b/lib/steel/Steel.Array.fst.hints index 8f6452d99..a5496f1c2 100644 --- a/lib/steel/Steel.Array.fst.hints +++ b/lib/steel/Steel.Array.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Steel.Array.pts_to_" ], 0, - "b648e76df552074e38bd55fa8528b86c" + "a449501c9a8a49b7d51aa8b8b8b10737" ], [ "Steel.Array.aselp", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_d091b554085bad34aa8f4a8aec727221" ], 0, - "fffd9eca554e060e1ba82d29f018db93" + "ce2cb59602ef9b76e63fac01348fdaf8" ], [ "Steel.Array.asel", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_25fbe89bee0bab60b5b7c05aadd09d5b" ], 0, - "e7a1bd63bac30a06b7d4689e10d9c93b" + "d55f5ed69e37b9c609495fea14ee0068" ], [ "Steel.Array.intro_varrayp", @@ -47,7 +47,7 @@ "fuel_guarded_inversion_Steel.FractionalPermission.perm" ], 0, - "ace82dc0f927e56b2d786cf83a2812ff" + "8147717f0a8d95342b406a889ef446b2" ], [ "Steel.Array.elim_varrayp", @@ -68,7 +68,7 @@ "typing_FStar.Seq.Properties.lseq", "typing_Steel.ST.Array.length" ], 0, - "23945c48d67fa879bbdf294e237341d1" + "5516293eb4edccd8266fdbc314b8185c" ], [ "Steel.Array.varrayp_not_null", @@ -77,7 +77,7 @@ 1, [ "@query" ], 0, - "804a7ed3404692cf6761bb3ed14db434" + "c6882926e8210e64093a6200e9d42497" ], [ "Steel.Array.malloc", @@ -86,7 +86,7 @@ 1, [ "@query" ], 0, - "ec1bd683943cbaae7236ad0cbd434ce1" + "d9fe0c5cf4f091a880f1e98012f8a11d" ], [ "Steel.Array.free", @@ -98,7 +98,7 @@ "equation_Steel.Effect.Common.prop_and", "true_interp" ], 0, - "c90ff0faaaf0b2d601364f5483fa021b" + "be3327bca22288387022f2d4a33ea224" ], [ "Steel.Array.share", @@ -107,7 +107,7 @@ 1, [ "@query" ], 0, - "90f1c1ef4036ad5a69aa4b2c9be59fed" + "f54da26af69af061b018a79b6336f569" ], [ "Steel.Array.gather", @@ -116,7 +116,7 @@ 1, [ "@query" ], 0, - "ab310197d1baa08483ba9c051245f9cc" + "7fc1ab4c17ac3f180dad3d1dddd31ec0" ], [ "Steel.Array.index", @@ -125,7 +125,7 @@ 1, [ "@query" ], 0, - "2b13bba1559f631f22b11bda591670c1" + "b47dca2d0bb5576c583bea7592b78623" ], [ "Steel.Array.upd", @@ -140,7 +140,7 @@ "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" ], 0, - "771b0412974a708b27c9e0a769cd52ef" + "41ab34f7d027d3c8e03c2c2b7a7b801e" ], [ "Steel.Array.ghost_join", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fc99f1fc4f4952ec0996656640828819" + "eec7473683d5873b5b7d2b024a23de2c" ], [ "Steel.Array.join", @@ -161,7 +161,7 @@ 1, [ "@query" ], 0, - "93cb28986dcc2a5333164dbe5bb5afe5" + "f7ce868f644d2fd8d650f21302c1f8a0" ], [ "Steel.Array.ghost_split", @@ -194,7 +194,7 @@ "typing_FStar.SizeT.t", "typing_FStar.SizeT.v" ], 0, - "376b7e90c1b7e072c29756f64d40f318" + "3c7129a290ae95decc48fe60974685eb" ], [ "Steel.Array.memcpy", @@ -203,7 +203,7 @@ 1, [ "@query" ], 0, - "972cbbff4b9f2110ddd238899cacc2d2" + "30688a40bf0c0ad0812dee75b0b2367c" ], [ "Steel.Array.compare", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_a92be4db372471498059330d6dbb66c5" ], 0, - "1430d65c0b1a504fd32f45b5a9778a90" + "8ed5a63b628664a3861d03835bf1ff79" ], [ "Steel.Array.ptrdiff", @@ -232,7 +232,7 @@ 1, [ "@query" ], 0, - "da1879dd47b20a3a7a787271292be212" + "52c353530cbc38bb2ef8c963fa1f119c" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Array.fsti.hints b/lib/steel/Steel.Array.fsti.hints index 72493ff5a..b4545d180 100644 --- a/lib/steel/Steel.Array.fsti.hints +++ b/lib/steel/Steel.Array.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_d091b554085bad34aa8f4a8aec727221" ], 0, - "5090f435092e3327cfbcc256bbefa255" + "15b0abacf5efdf384be7decc962009e1" ], [ "Steel.Array.asel", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_25fbe89bee0bab60b5b7c05aadd09d5b" ], 0, - "5cc4a339328b92d5e0e1cfdda4b745bd" + "d55f5ed69e37b9c609495fea14ee0068" ], [ "Steel.Array.varrayp_not_null", @@ -32,7 +32,7 @@ 1, [ "@query" ], 0, - "f47c500c82e39b07c547f6b7e3a57c39" + "dbdd8ae0a9d525d4e890870e4e56c754" ], [ "Steel.Array.malloc", @@ -41,7 +41,7 @@ 1, [ "@query" ], 0, - "25690fcbb035436a2b734f8464008c86" + "d9fe0c5cf4f091a880f1e98012f8a11d" ], [ "Steel.Array.free", @@ -53,7 +53,7 @@ "equation_Steel.Effect.Common.prop_and", "true_interp" ], 0, - "574626357beeea6f7ce9d99160437c27" + "be3327bca22288387022f2d4a33ea224" ], [ "Steel.Array.share", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "fcd33fb73d2786d2eca0326f16718af0" + "f54da26af69af061b018a79b6336f569" ], [ "Steel.Array.gather", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "6eb9b9c552f3c4630d978e0c94fbbb17" + "7fc1ab4c17ac3f180dad3d1dddd31ec0" ], [ "Steel.Array.index", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "41cb7583d3d76f3cd5559ca89665aa48" + "b47dca2d0bb5576c583bea7592b78623" ], [ "Steel.Array.upd", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" ], 0, - "0e9ffcffd62000f03ab8ff2bdb15ae97" + "41ab34f7d027d3c8e03c2c2b7a7b801e" ], [ "Steel.Array.ghost_join", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "481ffe79703b66392e9dc80cd9ed1609" + "eec7473683d5873b5b7d2b024a23de2c" ], [ "Steel.Array.join", @@ -116,7 +116,7 @@ 1, [ "@query" ], 0, - "13997ceb99a4ba826d03b3278e55cb51" + "f7ce868f644d2fd8d650f21302c1f8a0" ], [ "Steel.Array.ghost_split", @@ -149,7 +149,7 @@ "typing_FStar.SizeT.t", "typing_FStar.SizeT.v" ], 0, - "99b40bfd64f932e628ff498a723de9bf" + "3c7129a290ae95decc48fe60974685eb" ], [ "Steel.Array.memcpy", @@ -158,7 +158,7 @@ 1, [ "@query" ], 0, - "ded9278ed195966d562310914f13a69b" + "30688a40bf0c0ad0812dee75b0b2367c" ], [ "Steel.Array.compare", @@ -178,7 +178,7 @@ "refinement_interpretation_Tm_refine_a92be4db372471498059330d6dbb66c5" ], 0, - "67601aedb3bd0e1df42ec6f42484138e" + "8ed5a63b628664a3861d03835bf1ff79" ], [ "Steel.Array.ptrdiff", @@ -187,7 +187,7 @@ 1, [ "@query" ], 0, - "63b8c4a7bfe840aab2a1ca17583abb5b" + "52c353530cbc38bb2ef8c963fa1f119c" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ArrayArith.fsti.hints b/lib/steel/Steel.ArrayArith.fsti.hints index 85a0e9505..e91efc4d8 100644 --- a/lib/steel/Steel.ArrayArith.fsti.hints +++ b/lib/steel/Steel.ArrayArith.fsti.hints @@ -18,7 +18,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e7bceb7a7825315a10f0a23864810386" + "a4ea997afaee5dedffe9785fa603bf2b" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ArrayRef.fst.hints b/lib/steel/Steel.ArrayRef.fst.hints index c80b32678..430904afe 100644 --- a/lib/steel/Steel.ArrayRef.fst.hints +++ b/lib/steel/Steel.ArrayRef.fst.hints @@ -11,7 +11,7 @@ "equation_Steel.ArrayRef.null", "projection_inverse_BoxBool_proj_0" ], 0, - "079701e623296aeaf11d775462d56c36" + "c1666077a3a9145b5e0b906347813bd3" ], [ "Steel.ArrayRef.vptr0_rewrite", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_ff083c9ee88158df6d3c15e1bc567e03" ], 0, - "4fa5293e5ff9685be3cc6108ee33561c" + "044ac93746a6f186be726c2a4b380d15" ], [ "Steel.ArrayRef.intro_vptr0", @@ -67,7 +67,7 @@ "typing_Steel.ST.Array.length" ], 0, - "81649b6cbbe9ced6ef5bf593796197b7" + "d4d8795f3cbfbf654f1b58e6ead52959" ], [ "Steel.ArrayRef.elim_vptr0", @@ -115,7 +115,7 @@ "typing_Steel.ST.Array.length" ], 0, - "cf727fe5af3c0d006cf26b36b6537f11" + "78d753ce30d7169ea0cfcfed518d0577" ], [ "Steel.ArrayRef.selp", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_ef2f5541167ae7cac42d26ecac16d703" ], 0, - "9e7a5626ca9b2de5e2a68c425fd0f291" + "c96b248d73a4619a49f574e5440300a6" ], [ "Steel.ArrayRef.sel", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_65a9d48625685c0742c5ade6fa1403d1" ], 0, - "54557e9595afdecfe7879877997e46d0" + "d4553a5a0dd10357354d7f42528f712b" ], [ "Steel.ArrayRef.intro_vptrp'", @@ -173,7 +173,7 @@ "typing_Steel.ArrayRef.vptr0" ], 0, - "2c94dddbc5e96339e907335296925986" + "ea4f3a20a274bb54ad96e529b5809f1d" ], [ "Steel.ArrayRef.intro_vptrp", @@ -224,7 +224,7 @@ "typing_Steel.ST.Array.length" ], 0, - "e489a1ccbe75b440dc4af9e4ef0c4151" + "3657f9a2e430cf14ce1d52d1668b85ea" ], [ "Steel.ArrayRef.elim_vptrp", @@ -233,7 +233,7 @@ 1, [ "@query" ], 0, - "7b37f3fa6ed3a4ee46f75578ca0cc840" + "059fd40253b2b4ef004875264885b8f0" ], [ "Steel.ArrayRef.elim_vptrp", @@ -290,7 +290,7 @@ "typing_Steel.Effect.Common.t_of" ], 0, - "eb88232f06b6f268c68fd5fcd210abea" + "e1c07f4e8dd87c874ee5d63a986e8247" ], [ "Steel.ArrayRef.intro_vptr", @@ -299,7 +299,7 @@ 1, [ "@query" ], 0, - "20793d0957f18012fc5071f227a49a8e" + "01573baab3171e0eb6e53e5f2989997a" ], [ "Steel.ArrayRef.elim_vptr", @@ -308,7 +308,7 @@ 1, [ "@query" ], 0, - "debff7012a18ff1fca77a0dbe09ea367" + "0eef8ab5d8ed21512afc9a4663bb2be5" ], [ "Steel.ArrayRef.malloc", @@ -317,7 +317,7 @@ 1, [ "@query" ], 0, - "2981ee20e2691b9a33e9ab0004dbc1e1" + "9e40306b8b063fc808f855df04844801" ], [ "Steel.ArrayRef.malloc", @@ -359,7 +359,7 @@ "typing_Steel.ST.Array.ptr_of" ], 0, - "9615a5dcd5d5318007f9396b279343c3" + "56231c325d6f9b775450f4e5b8e197c3" ], [ "Steel.ArrayRef.free", @@ -368,7 +368,7 @@ 1, [ "@query" ], 0, - "8d05091d74e8ec88fac500f62415fe03" + "b639c925da73e54c890216544782b6e7" ], [ "Steel.ArrayRef.readp", @@ -383,7 +383,7 @@ "typing_Steel.ArrayRef.vptr_" ], 0, - "a418009ad070a6fcb1a12d40d4a42a77" + "35e4c601ad1150957a03c5ac9c2f3c95" ], [ "Steel.ArrayRef.readp", @@ -448,7 +448,7 @@ "typing_Steel.Effect.Common.t_of" ], 0, - "28179eba92ca090712a5338353d1cfd6" + "0552632bafcd36bcd2301d255598fc5d" ], [ "Steel.ArrayRef.read", @@ -457,7 +457,7 @@ 1, [ "@query" ], 0, - "9a718d5572fb9e7a6195105f57d07ace" + "64d36a004a90bd081c51a9af9cb86e5e" ], [ "Steel.ArrayRef.write", @@ -466,7 +466,7 @@ 1, [ "@query" ], 0, - "669bb0dee658853d775f3425c86a3c65" + "5b2bd2e72b58f0f18683786615a9e14b" ], [ "Steel.ArrayRef.write", @@ -533,7 +533,7 @@ "typing_Steel.FractionalPermission.full_perm" ], 0, - "8d9467ac760a988a4f8be7c6dfc58c92" + "a883f5142ec442099009ce2c30f61b65" ], [ "Steel.ArrayRef.share", @@ -550,7 +550,7 @@ "typing_Steel.FractionalPermission.half_perm" ], 0, - "48eb7293847cd6dbbd62f4deecd5e1fc" + "ec46686a1d04ce13339e0a384b355d75" ], [ "Steel.ArrayRef.share", @@ -612,7 +612,7 @@ "typing_Steel.ST.Array.offset" ], 0, - "7748a329b86b5e854f212ed3dfd2bfb5" + "9d6665d70cc38c78343e07016def9b38" ], [ "Steel.ArrayRef.gather_gen", @@ -629,7 +629,7 @@ "typing_Steel.ArrayRef.vptr_" ], 0, - "fd019cf623367584ebaf933302475759" + "f6edcdc562950910025bd9550666511e" ], [ "Steel.ArrayRef.gather_gen", @@ -686,7 +686,7 @@ "typing_Steel.Effect.Common.t_of" ], 0, - "91e852bc5562c1290b4aa3812a6ab0da" + "3e6015052735a13349f844f83f05a42a" ], [ "Steel.ArrayRef.gather", @@ -703,7 +703,7 @@ "typing_Steel.FractionalPermission.half_perm" ], 0, - "c36f528092f81fc3a23d1ccd8e2180ea" + "e249c44439877ce2b1639a8b22c19a11" ], [ "Steel.ArrayRef.gather", @@ -716,7 +716,7 @@ "lemma_Steel.FractionalPermission.sum_halves" ], 0, - "7aa70deb9e9dd26a76af24389e671b02" + "73689ac58fd4ab2c0e73e2bb9baf3e6c" ], [ "Steel.ArrayRef.vptrp_not_null", @@ -731,7 +731,7 @@ "typing_Steel.ArrayRef.vptr_" ], 0, - "fdd3f224b3478145da5bcdb566c27d30" + "6bbcb68065ad5a0c4d9e7ba2a8951853" ], [ "Steel.ArrayRef.vptrp_not_null", @@ -782,7 +782,7 @@ "typing_Steel.ST.Array.null_ptr" ], 0, - "8307cf252781fa1bd89e4911e1a13814" + "238135902726cadfdd1eb35546f77362" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ArrayRef.fsti.hints b/lib/steel/Steel.ArrayRef.fsti.hints index ee44cc485..db8ddce95 100644 --- a/lib/steel/Steel.ArrayRef.fsti.hints +++ b/lib/steel/Steel.ArrayRef.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_ef2f5541167ae7cac42d26ecac16d703" ], 0, - "b81dc0fbc0b236764c9fa9900b6fc667" + "9d4a15af0eba0fe0ba713773f989fc3a" ], [ "Steel.ArrayRef.sel", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_65a9d48625685c0742c5ade6fa1403d1" ], 0, - "f38029ab2e356d9da0a8fc3dc8d8931e" + "d4553a5a0dd10357354d7f42528f712b" ], [ "Steel.ArrayRef.elim_vptrp", @@ -32,7 +32,7 @@ 1, [ "@query" ], 0, - "3daf58f64daebe8d0ce58c9666e491e6" + "29cf7b6b1d83e6f0596123dfc92b50b1" ], [ "Steel.ArrayRef.intro_vptr", @@ -41,7 +41,7 @@ 1, [ "@query" ], 0, - "77320e95ac8cc05cccb360000d1146d6" + "01573baab3171e0eb6e53e5f2989997a" ], [ "Steel.ArrayRef.elim_vptr", @@ -50,7 +50,7 @@ 1, [ "@query" ], 0, - "e974b93297ccd08146a4ecec6fada80f" + "0eef8ab5d8ed21512afc9a4663bb2be5" ], [ "Steel.ArrayRef.malloc", @@ -59,7 +59,7 @@ 1, [ "@query" ], 0, - "e60200522f82d2ac4e5af30e6afbce39" + "9e40306b8b063fc808f855df04844801" ], [ "Steel.ArrayRef.readp", @@ -74,7 +74,7 @@ "typing_Steel.ArrayRef.vptr_" ], 0, - "d5690fcb408d37eb765d9f0eea96f597" + "1460c4cd6afb38ab5e239652826d5164" ], [ "Steel.ArrayRef.read", @@ -83,7 +83,7 @@ 1, [ "@query" ], 0, - "5e983827277a756594f24553e487c110" + "64d36a004a90bd081c51a9af9cb86e5e" ], [ "Steel.ArrayRef.write", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "77eb68fe4cc863b4c60915e92cb656aa" + "5b2bd2e72b58f0f18683786615a9e14b" ], [ "Steel.ArrayRef.share", @@ -109,7 +109,7 @@ "typing_Steel.FractionalPermission.half_perm" ], 0, - "346121fb76517c1c1704c20d234f4601" + "ec46686a1d04ce13339e0a384b355d75" ], [ "Steel.ArrayRef.gather_gen", @@ -126,7 +126,7 @@ "typing_Steel.ArrayRef.vptr_" ], 0, - "d6c99d13f64e87efc92d528db754f04e" + "f6edcdc562950910025bd9550666511e" ], [ "Steel.ArrayRef.gather", @@ -143,7 +143,7 @@ "typing_Steel.FractionalPermission.half_perm" ], 0, - "f940c856371e34269aa797765b62fb4e" + "e249c44439877ce2b1639a8b22c19a11" ], [ "Steel.ArrayRef.vptrp_not_null", @@ -158,7 +158,7 @@ "typing_Steel.ArrayRef.vptr_" ], 0, - "b0a7cb246195c652dbcf161dbe88273f" + "6bbcb68065ad5a0c4d9e7ba2a8951853" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Channel.Duplex.fsti.hints b/lib/steel/Steel.Channel.Duplex.fsti.hints index f4d772c6d..42996d774 100644 --- a/lib/steel/Steel.Channel.Duplex.fsti.hints +++ b/lib/steel/Steel.Channel.Duplex.fsti.hints @@ -11,7 +11,7 @@ "equation_Steel.Channel.Protocol.more" ], 0, - "33e9dd3fc3a12c025eb27ecde9acf7cc" + "2ec6508f1dc2184db7088f86693da4ec" ], [ "Steel.Channel.Duplex.recv", @@ -23,7 +23,7 @@ "equation_Steel.Channel.Protocol.more" ], 0, - "c15bc46ab64a0d62ac44d91232072a7a" + "1bf9c67766e72ac387d5177a0ec4c1f7" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Channel.Protocol.fst.hints b/lib/steel/Steel.Channel.Protocol.fst.hints index 04f1a77a9..933f34e05 100644 --- a/lib/steel/Steel.Channel.Protocol.fst.hints +++ b/lib/steel/Steel.Channel.Protocol.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_9e311d9829f293e5f0a3cce21e17ed7d" ], 0, - "f41007d52ea3e49eedcb73855d21fdae" + "87d854ec7e6c77d62f72d936cc8dfd25" ], [ "Steel.Channel.Protocol.__proj__Return__item__v", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_9e311d9829f293e5f0a3cce21e17ed7d" ], 0, - "6b903ed00c804aba499990ebb7bf5a9e" + "83c8ba1fbc03e70ddc011e897ddbc608" ], [ "Steel.Channel.Protocol.__proj__Msg__item___0", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_c325a7c6e1f350720513fe524f77e449" ], 0, - "c4f2323c44207e35d087dabf4556a1d6" + "a599e6a4aa241f6bc5c7fe26a6a5ce7d" ], [ "Steel.Channel.Protocol.__proj__Msg__item__a", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_c325a7c6e1f350720513fe524f77e449" ], 0, - "6298cbb0aec5204aa56c1ccbfa928320" + "35f4b7811804139d2f9c387165ad0dc3" ], [ "Steel.Channel.Protocol.__proj__Msg__item__b", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_c325a7c6e1f350720513fe524f77e449" ], 0, - "7e5d56e0b748c9662e5bf8ab03a9891a" + "11e5f1e1aecc881fd41a66ccb0ab3a91" ], [ "Steel.Channel.Protocol.__proj__Msg__item__k", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_c325a7c6e1f350720513fe524f77e449" ], 0, - "94b8f7b59cfcb1854c377ce934a63cc6" + "0a2f3d8dfd9b81128f7bc966b9081890" ], [ "Steel.Channel.Protocol.__proj__DoWhile__item___0", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_3b04407c996f8401617dceb17844164e" ], 0, - "220ba93bbd7900718df430dfe9f6e27b" + "d9eb11763fe2590b83fe93e3cdeb791b" ], [ "Steel.Channel.Protocol.__proj__DoWhile__item__a", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_3b04407c996f8401617dceb17844164e" ], 0, - "6446f92f82c6820443635ebe7ab0070f" + "a1856cb5253528b9bc618f0b720f6bd8" ], [ "Steel.Channel.Protocol.__proj__DoWhile__item__k", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_3b04407c996f8401617dceb17844164e" ], 0, - "5aa03303c09fac98b5a22483e21291be" + "db2738d316fced062305c99ed18e449f" ], [ "Steel.Channel.Protocol.ok", @@ -134,7 +134,7 @@ "well_founded_ordering_on_codomain_Steel.Channel.Protocol.Msg" ], 0, - "7483107dfefbeb99335b7f78f516fe22" + "ddb036fdf49f3c3fff1d0ac642d22c91" ], [ "Steel.Channel.Protocol.flip_tag", @@ -149,7 +149,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3ddecc21172f6360985f6a6bb6c9ca5d" + "0c8896487150cb401005562df421e016" ], [ "Steel.Channel.Protocol.dual", @@ -197,7 +197,7 @@ "well_founded_ordering_on_codomain_Steel.Channel.Protocol.Msg" ], 0, - "91e503338a2401b6d55f9e952fb609ae" + "6381b9d90756c437fe70ee15d1a9414b" ], [ "Steel.Channel.Protocol.bind", @@ -241,7 +241,7 @@ "well_founded_ordering_on_codomain_Steel.Channel.Protocol.Msg" ], 0, - "92d12fc1313b657c89332d2f5b4ca9b2" + "827128f65b2d3a8f1661601f69854093" ], [ "Steel.Channel.Protocol.return", @@ -258,7 +258,7 @@ "projection_inverse_Steel.Channel.Protocol.Return_v", "true_interp" ], 0, - "cb17ab7a50bcb1c7935369ecc339ef7c" + "8b453f2ad834746d8b6535819d22a1b4" ], [ "Steel.Channel.Protocol.send", @@ -289,7 +289,7 @@ "typing_Tm_abs_875501b6408ee3dd742fd99899342071" ], 0, - "f5098140d7a5018f95341f4a762dcf91" + "e20f19fe2eb67af7fd050ce698968d31" ], [ "Steel.Channel.Protocol.recv", @@ -320,7 +320,7 @@ "typing_Tm_abs_875501b6408ee3dd742fd99899342071" ], 0, - "b14d2ec92d4c1b3d354370f9260bb119" + "d8f2951566cf6e01b189038107209291" ], [ "Steel.Channel.Protocol.hnf", @@ -363,7 +363,7 @@ "typing_Steel.Channel.Protocol.uu___is_Msg" ], 0, - "53b519d2065bdb3fb7e9ddf482f18cba" + "7b584ab2f0d5acf52312c4bfcd6079a5" ], [ "Steel.Channel.Protocol.next_msg_t", @@ -378,7 +378,7 @@ "typing_Steel.Channel.Protocol.hnf" ], 0, - "8a0dd2a3c813e8dff4d43e4b38450185" + "876aa1f5cdc6b0002f6a8310d4282e7f" ], [ "Steel.Channel.Protocol.step", @@ -409,7 +409,7 @@ "typing_Steel.Channel.Protocol.hnf" ], 0, - "4cc6f2b3426580b50b1b1c4471f9af08" + "cee2ab8511c5801cfa6b00fc3ea8bade" ], [ "Steel.Channel.Protocol.__proj__Waiting__item__p", @@ -421,7 +421,7 @@ "refinement_interpretation_Tm_refine_77c299da1c98aaee2771c18281d3b6fb" ], 0, - "610fbd8da83384a41ae3a67cfd3b3c8d" + "55be9c69d905d272e615217e53e9152d" ], [ "Steel.Channel.Protocol.__proj__Message__item__from", @@ -433,7 +433,7 @@ "refinement_interpretation_Tm_refine_9a72eb67d0f2e7a3580b02e60e5eb3ae" ], 0, - "6950b2e8c046e6524379d349859e1633" + "4c3ed7500abb4882d7ef385b82d7c78a" ], [ "Steel.Channel.Protocol.__proj__Message__item__x", @@ -448,7 +448,7 @@ "refinement_interpretation_Tm_refine_9a72eb67d0f2e7a3580b02e60e5eb3ae" ], 0, - "ab80c7bedc965cee19c9a11de1b73bbf" + "bef860dd541527f9b27fe33ea7071468" ], [ "Steel.Channel.Protocol.__proj__Message__item__to", @@ -460,7 +460,7 @@ "refinement_interpretation_Tm_refine_9a72eb67d0f2e7a3580b02e60e5eb3ae" ], 0, - "cb62562ad71ca54704742e006a03bfa1" + "a706eebd1b83b74575074802a438803b" ], [ "Steel.Channel.Protocol.__proj__Message__item___3", @@ -477,7 +477,7 @@ "refinement_interpretation_Tm_refine_9a72eb67d0f2e7a3580b02e60e5eb3ae" ], 0, - "039f299f147305b8e827de657e6322c4" + "7992c3506eec82f222552484052bc4de" ], [ "Steel.Channel.Protocol.extend", @@ -489,7 +489,7 @@ "refinement_interpretation_Tm_refine_a32d6af70eb825a20c139698f69438df" ], 0, - "659e07821175944392e1c6a6377a0b4d" + "971648808fb84fe6bb476e19cc90bc61" ], [ "Steel.Channel.Protocol.extend", @@ -513,7 +513,7 @@ "subterm_ordering_Steel.Channel.Protocol.Message" ], 0, - "6ebddca84eaea20ec7c6bc6c5223db54" + "d8bab84ca9081ac5b26e3aea64fd393e" ], [ "Steel.Channel.Protocol.last_step_of", @@ -547,7 +547,7 @@ "subterm_ordering_Steel.Channel.Protocol.Message" ], 0, - "c5b053c77b4d5f383ec0e762709f50df" + "d6024d3a6c81e1dda46de71e7063e78b" ], [ "Steel.Channel.Protocol.next", @@ -556,7 +556,7 @@ 1, [ "@query" ], 0, - "aa37e58a7d7104637ffd6478905e0c00" + "b930f5f912c3bfbc95796926a7e770aa" ], [ "Steel.Channel.Protocol.extended_to", @@ -573,7 +573,7 @@ "equation_Steel.Channel.Protocol.next" ], 0, - "b5882d8ba33e950de17c65300f28db2f" + "f134e57d1cd7aa066e55cf95058b1ffc" ], [ "Steel.Channel.Protocol.extend_partial_trace", @@ -603,7 +603,7 @@ "typing_Steel.Channel.Protocol.next" ], 0, - "a9aee0fff0c4a3d343be9668fb94a371" + "5af521b48164bbd2be1000372c8585c7" ], [ "Steel.Channel.Protocol.tag_of", @@ -618,7 +618,7 @@ "refinement_interpretation_Tm_refine_e8e3664c7d2cf2da979d2ef70cc40224" ], 0, - "3dcb3d24349de78cf82bc68485e822fa" + "c1ff99b32c1a5034f3ab27a2fd89b65d" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Channel.Simplex.fst.hints b/lib/steel/Steel.Channel.Simplex.fst.hints index 6e651a72a..88e021146 100644 --- a/lib/steel/Steel.Channel.Simplex.fst.hints +++ b/lib/steel/Steel.Channel.Simplex.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_Steel.Channel.Simplex.Mkchan_val_chan_prot" ], 0, - "a775c5e5efcc971a9faec4ffd54d6089" + "75657a84012444fe9991b19f8b9adb92" ], [ "Steel.Channel.Simplex.step", @@ -20,7 +20,7 @@ 1, [ "@query", "equation_Steel.Channel.Protocol.more" ], 0, - "db282a1a4448a61c091f0ef3355f5eed" + "24bcf8b1c9acd860658c2293092eff0f" ], [ "Steel.Channel.Simplex.chan_inv_cond", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "91d641df180bc95c7b68b3121cc8040a" + "16b4b2f48c7322437aa22f9c6f795304" ], [ "Steel.Channel.Simplex.intro_chan_inv_cond_eqT", @@ -50,7 +50,7 @@ "typing_Steel.Channel.Simplex.chan_inv_cond" ], 0, - "fd5294f16b1cc7b17dd2d8a65c6ca1dd" + "0db965a096c67d109360ea012f03b365" ], [ "Steel.Channel.Simplex.intro_chan_inv_cond_stepT", @@ -78,7 +78,7 @@ "typing_Steel.Channel.Simplex.__proj__Mkchan_val__item__chan_prot" ], 0, - "83fe9b95c7e34343ecb5dcb40163b79e" + "f1c163cf41413789d0179ab93c37daaa" ], [ "Steel.Channel.Simplex.next_chan_val", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2d663d6acf1e9aa9d182b1701241622f" + "2a2d66a5cc2700849e1f0dc8e93bc672" ], [ "Steel.Channel.Simplex.intro_in_state", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_239a0752ae443e57f718f808636089ea" ], 0, - "cfff3d111e301aa5eff73593adf194cb" + "21ee6688b629e8d6995581d56987f4f3" ], [ "Steel.Channel.Simplex.initial_trace", @@ -138,7 +138,7 @@ "projection_inverse_Steel.Channel.Protocol.Mkpartial_trace_of_to" ], 0, - "c5cd2769ba149be643bc75c73b13101c" + "6661573b5a7bd52a7e19e234b515f1e1" ], [ "Steel.Channel.Simplex.intro_trace_until", @@ -147,7 +147,7 @@ 1, [ "@query" ], 0, - "cec163a571c52bc489d82ba32e4a3b09" + "0261fafcf6a28d531211a436c2077c2c" ], [ "Steel.Channel.Simplex.intro_trace_until_init", @@ -191,7 +191,7 @@ "typing_Steel.Channel.Simplex.initial_trace", "unit_inversion" ], 0, - "2edb77f08e45635968c4d547912b7a05" + "dd8733e630551b2add4a33c13ecfcaa6" ], [ "Steel.Channel.Simplex.mk_chan", @@ -207,7 +207,7 @@ "projection_inverse_Steel.Channel.Simplex.Mkchan_t_trace" ], 0, - "5738704def755a4765b0fa33935b1dd8" + "8aab8148116d8ba71f0fc7dfb26fe2c7" ], [ "Steel.Channel.Simplex.new_chan", @@ -266,7 +266,7 @@ "typing_Steel.Channel.Simplex.msg", "unit_typing" ], 0, - "291880691c9575043fea30fbff1a7928" + "10fb2325a9de84119eea7cc1bb29aa11" ], [ "Steel.Channel.Simplex.update_channel", @@ -278,7 +278,7 @@ "refinement_interpretation_Tm_refine_2acf7b27dd90fd2b5ff959000ebf2a8e" ], 0, - "b28b9d1cdf9261c8a5b5402f6ade3607" + "8db9de1facc6f6cadff66173433d7351" ], [ "Steel.Channel.Simplex.gather_r", @@ -296,7 +296,7 @@ "typing_Steel.FractionalPermission.full_perm" ], 0, - "73c6184b8cc342e9f0061284e2587eb3" + "e00cb54a523f60d655cc03c96112b879" ], [ "Steel.Channel.Simplex.send_available", @@ -305,7 +305,7 @@ 1, [ "@query" ], 0, - "da8051e3db0e581a07a29a6779a15a1d" + "097b9c2e88fc0de14717805199590f66" ], [ "Steel.Channel.Simplex.next_trace", @@ -340,7 +340,7 @@ "typing_Steel.Channel.Simplex.__proj__Mkchan_val__item__chan_prot" ], 0, - "fd610fb152e1c1bdc5167fcd32695613" + "c3dfb225a7ed86ac69e93f7cd8f4eb50" ], [ "Steel.Channel.Simplex.next_trace_st", @@ -368,7 +368,7 @@ "typing_Steel.Channel.Simplex.__proj__Mkchan_val__item__chan_msg" ], 0, - "a081e6b560cc78f58e3567fc735938b0" + "3bc4f593ef86a4ec1c966b7921a33163" ], [ "Steel.Channel.Simplex.update_trace", @@ -381,7 +381,7 @@ "refinement_interpretation_Tm_refine_ba72deea9da94251027c5adf5de75bac" ], 0, - "999ca121d2ee6fd023d90f1b930c4bbb" + "cdddf2d576519fd2572d470cd794f615" ], [ "Steel.Channel.Simplex.recv_availableT", @@ -408,7 +408,7 @@ "refinement_interpretation_Tm_refine_42d54a2c1f2be633419a1d87c3eb0004" ], 0, - "ce4d61b608697746c060b0aaf472436e" + "ba24101b4f66695a77cda61a8189db49" ], [ "Steel.Channel.Simplex.send_receive_prelude", @@ -424,7 +424,7 @@ "typing_Steel.Channel.Simplex.chan_inv_cond" ], 0, - "d1d695353ae84c47e3f6de70e8a013e3" + "75789b5b06c507adae17d4b37237442d" ], [ "Steel.Channel.Simplex.send", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e85c1db1d6caf42a83e4b49c0bf91990" + "2a330b1294fd6564033734c1192710b0" ], [ "Steel.Channel.Simplex.recv", @@ -470,7 +470,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e26fc9824e60fcea2c1954bb8ce32141" + "2b82b1bebb4e04637ebfff29e565e5c3" ], [ "Steel.Channel.Simplex.history_p", @@ -492,7 +492,7 @@ "typing_Steel.Channel.Protocol.extended_to" ], 0, - "4f3cad6d16464dfdb9c70e64a1ddf7b2" + "c7dae107a1bb1b92f281d8f7e528fa73" ], [ "Steel.Channel.Simplex.prot_equals", @@ -512,7 +512,7 @@ "projection_inverse_Steel.Effect.Common.VUnit__0" ], 0, - "1b9cf5ba123c220707be808dc93f3ca5" + "e99397b4f49d4faa23487ebc82fec7c4" ], [ "Steel.Channel.Simplex.witness_trace_until", @@ -535,7 +535,7 @@ "typing_Steel.Channel.Protocol.extended_to" ], 0, - "17ffd2ab721e56679a02d0df3625a4dd" + "e30590c162a7d0ac07f5b152b99ba251" ], [ "Steel.Channel.Simplex.trace", @@ -544,7 +544,7 @@ 1, [ "@query" ], 0, - "582326421854ab4d777eea0a76108897" + "b8dff11bf7d0f05946319103161e18af" ], [ "Steel.Channel.Simplex.extend_history", @@ -570,7 +570,7 @@ "typing_Steel.Channel.Protocol.extended_to" ], 0, - "e6a88c0ae83aeeadd02de056d4f3f51b" + "59b1ded160ba4a4e995d3650c966ef51" ], [ "Steel.Channel.Simplex.extend_trace", @@ -579,7 +579,7 @@ 1, [ "@query" ], 0, - "ba8f91a43808ed3ff1dcce8347b1f315" + "117312836677c3a342b5a367c370da74" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Channel.Simplex.fsti.hints b/lib/steel/Steel.Channel.Simplex.fsti.hints index 358092a52..77222625f 100644 --- a/lib/steel/Steel.Channel.Simplex.fsti.hints +++ b/lib/steel/Steel.Channel.Simplex.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Steel.Channel.Protocol.more" ], 0, - "0b576e69de6f16ea47bc989036e7a82d" + "d81611c3bde8e384e82ae005f85bf8ea" ], [ "Steel.Channel.Simplex.recv", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Steel.Channel.Protocol.more" ], 0, - "6997f321bf5688b12a01caec6b78acbf" + "f4889cdefe74f2365ca9bea6038678cf" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Closure.fst.hints b/lib/steel/Steel.Closure.fst.hints index 031475dfa..3687eb0d3 100644 --- a/lib/steel/Steel.Closure.fst.hints +++ b/lib/steel/Steel.Closure.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "43882a47757dab04a0bb8c8fadd37831" + "c77c0da048c80dc9d7cd836367260c22" ], [ "Steel.Closure.new_counter'", @@ -32,7 +32,7 @@ "typing_Steel.Closure.repr" ], 0, - "db59c02330857284830d3ab96c5b52c7" + "2c732d1399c15a0812eec2b68f02c845" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.DisposableInvariant.fst.hints b/lib/steel/Steel.DisposableInvariant.fst.hints index 9a5a3086a..bdc57860a 100644 --- a/lib/steel/Steel.DisposableInvariant.fst.hints +++ b/lib/steel/Steel.DisposableInvariant.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "e1269432b6216cc092a0c76e30304f41" + "b8abbcb9651a05fc71248227d89ceb24" ], [ "Steel.DisposableInvariant.gather", @@ -39,7 +39,7 @@ "typing_Steel.FractionalPermission.sum_perm" ], 0, - "0751ae49a6287255a31e807f8786aaf3" + "6462c874dad5a761170adf960df6fcd3" ], [ "Steel.DisposableInvariant.dispose", @@ -88,7 +88,7 @@ "typing_Tm_abs_d716b89c7122244f867c074692bc6a31" ], 0, - "6532459acb406848525b6e358f50a187" + "3b9063cb5103f5decdc37cfd212b040f" ], [ "Steel.DisposableInvariant.with_invariant", @@ -144,7 +144,7 @@ "typing_Tm_abs_d716b89c7122244f867c074692bc6a31" ], 0, - "625f71ac2c6f933181d9b06ddd04e264" + "ed4ff0ac984890c90db85a05298eae9c" ], [ "Steel.DisposableInvariant.with_invariant_g", @@ -189,7 +189,7 @@ "typing_Tm_abs_d716b89c7122244f867c074692bc6a31" ], 0, - "47fe0e00b00b33dc9d59d9f881063ace" + "71d941705f8755dae7c87a4206fa03fb" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Effect.Atomic.fst.hints b/lib/steel/Steel.Effect.Atomic.fst.hints index 00f7da29a..b378ff317 100644 --- a/lib/steel/Steel.Effect.Atomic.fst.hints +++ b/lib/steel/Steel.Effect.Atomic.fst.hints @@ -18,7 +18,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "b28ad10911f92d383a5b664a461e5a80" + "f8e23f5f260503a383cd6d57b796a4b5" ], [ "Steel.Effect.Atomic.req_to_act_req", @@ -39,7 +39,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "ec063a7ecf166e7a94cc58599948402c" + "b203984a53f73ce29124dd9918d34fa5" ], [ "Steel.Effect.Atomic.ens_to_act_ens", @@ -66,7 +66,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "a5883e449e6abe0403e45d4ab1dea042" + "8160ee9e274b2231cc79f7faac2b236d" ], [ "Steel.Effect.Atomic.return_ens", @@ -79,7 +79,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "740d52729af7f54307dc699a3f0a1717" + "ab7499106d367ffc8ddbdfbedba8755e" ], [ "Steel.Effect.Atomic.return_", @@ -99,7 +99,7 @@ "token_correspondence_Steel.Effect.Atomic.req_to_act_req" ], 0, - "6507eed1524ea7ea2131a8d6a72b8ad8" + "2b9a769360980e7abd8c59f5c5a974ce" ], [ "Steel.Effect.Atomic.bind_req", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d43d9c05f84b8eb37ed1c00bbace1341" + "643cb042f888b3b58726a2992b54c444" ], [ "Steel.Effect.Atomic.bind_ens", @@ -148,7 +148,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fff6c4cea2f1e314ca31e758054accd9" + "1857f9655a364ded885b75791f8a1160" ], [ "Steel.Effect.Atomic.frame00", @@ -164,7 +164,7 @@ "lemma_Steel.Effect.Common.can_be_split_star_r" ], 0, - "b8903269647990a112d6635ba50d02f5" + "4d293656fdb03f3619ae0836ff4a8b20" ], [ "Steel.Effect.Atomic.equiv_middle_left_assoc", @@ -176,7 +176,7 @@ "typing_Steel.Memory.star" ], 0, - "8230a8119aaf6c18d8feba6a760e529a" + "3128948d08290afa70785e11d24df9c8" ], [ "Steel.Effect.Atomic.frame00", @@ -236,7 +236,7 @@ "unit_typing" ], 0, - "6099ebfe912eacee0cead4de363b6632" + "48c33dffc6a5ddac0567c8693ef8c55b" ], [ "Steel.Effect.Atomic.bind_req_opaque", @@ -258,7 +258,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2cdc1af3d407c9f395b65a1ee31f2242" + "d6350e5ec02bff15c5d685788dba22c3" ], [ "Steel.Effect.Atomic.bind_ens_opaque", @@ -285,7 +285,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ab40667670fd217ec79a80566147f8a7" + "6c31fd3eaeb9d3b83683e66387e82f40" ], [ "Steel.Effect.Atomic.bind_opaque", @@ -341,7 +341,7 @@ "typing_Tm_abs_cba0eadd079db128ee8d5b32e777ba59" ], 0, - "8317ed5362020955e9fda679d4f3507c" + "1e35257ab8da4ded77e6d18a408f1ab6" ], [ "Steel.Effect.Atomic.norm_repr", @@ -362,7 +362,7 @@ "token_correspondence_Steel.Effect.Atomic.req_to_act_req" ], 0, - "675c475a87e01128f88ebb9d6abdc5ce" + "d274a54e9f16080e601d08f417143183" ], [ "Steel.Effect.Atomic.bind", @@ -374,7 +374,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "106568e8c08b7aa73fec2ad976f344c8" + "9cbf7f1063f48f84e8563c6ac6786b76" ], [ "Steel.Effect.Atomic.subcomp_pre", @@ -396,7 +396,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c83e1581c922b4916d22cd2f044552a9" + "2c764259e78c43fca24d1a82733b7f37" ], [ "Steel.Effect.Atomic.subcomp_opaque", @@ -442,7 +442,7 @@ "typing_Tm_abs_da13d0d644788bcc4db60075783914b3" ], 0, - "fe1516054ade2759b5683c5e171d7ec8" + "5eab4ddea2eef068545b70a915bfa69e" ], [ "Steel.Effect.Atomic.subcomp", @@ -454,7 +454,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9e9ca7f251b6b35e7d2f344a3a6e4530" + "bda1a0be625007bdf3eee1a01325598e" ], [ "Steel.Effect.Atomic.if_then_else_req", @@ -469,7 +469,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "65c399167d0ddb782bd5ee2f922b795f" + "fcaea3a01d1c8d31c3b3f3a162fe57ed" ], [ "Steel.Effect.Atomic.if_then_else_ens", @@ -490,7 +490,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c9bb6d0859322e6b4ce7dd24a3b5eb83" + "e5389712ef06bf7f451577d52fb858e0" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -499,7 +499,7 @@ 1, [ "@query" ], 0, - "426621f6d870c936414fd2464229e1e2" + "d19cfc847c5827c85b77638762891623" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -508,7 +508,7 @@ 1, [ "@query" ], 0, - "e084b6957912f8d3df86baf4ba4ce1d0" + "e014b7dacb9c7cd2146856a5a7a2c80b" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -520,7 +520,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2cd4b740e66a8192ed8e1d015fde6cff" + "34cd4d071ea39426f9152e6a0bbf0703" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -532,7 +532,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d6bd44ea4be1329c1638de265ffc8c80" + "9e538306ab8e13da62f4c52c2784676a" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -544,7 +544,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "b553dbee6c0c315ea09744b1fd3db2e6" + "7cbd21aa2e8ee15b84682f9ff4759e2a" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -556,7 +556,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fc0415a2c361484e2c751d4c6870eed6" + "bd3215f574bc0b32f8110330a389b119" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -565,7 +565,7 @@ 1, [ "@query" ], 0, - "905817df74e0814b2519a47aea0c93a2" + "95bb3c512ac284597a98d85b28790909" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -574,7 +574,7 @@ 1, [ "@query" ], 0, - "56fbbd3a8692c06caeda147bc882cd06" + "e014b7dacb9c7cd2146856a5a7a2c80b" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -586,7 +586,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5fa4282b5fee850268a76e8cd89c97f6" + "34cd4d071ea39426f9152e6a0bbf0703" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -598,7 +598,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ab74eb1e71033ef2d5dc73595c1f0e43" + "9e538306ab8e13da62f4c52c2784676a" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -610,7 +610,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "e07c7165b9dbf9102843dd9c5f9d2e93" + "7cbd21aa2e8ee15b84682f9ff4759e2a" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -622,7 +622,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "23d7540921fefc0229a46e1ed3844627" + "bd3215f574bc0b32f8110330a389b119" ], [ "Steel.Effect.Atomic.bind_pure_steela_", @@ -672,7 +672,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472", "unit_typing" ], 0, - "51db2eedb64576bf36661ca7d26eadfe" + "efc00e800b8415fac9a93c9080ea9526" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -681,7 +681,7 @@ 1, [ "@query" ], 0, - "747263309833df6b10cce05ae1778105" + "285444443124e6645328984ddbe1ec6d" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -690,7 +690,7 @@ 1, [ "@query" ], 0, - "07672904fdd060c31bf86441f9217efa" + "e014b7dacb9c7cd2146856a5a7a2c80b" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -702,7 +702,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1692d2bf405e7f2dfd84e194a6704063" + "34cd4d071ea39426f9152e6a0bbf0703" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -714,7 +714,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7fdeff6422e7484fda6d38642143037c" + "9e538306ab8e13da62f4c52c2784676a" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -726,7 +726,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "3124724d459ea5d43d1e3e42e3f74ac8" + "7cbd21aa2e8ee15b84682f9ff4759e2a" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -738,7 +738,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "65b3f34958cd173074a6a6b6c589e264" + "bd3215f574bc0b32f8110330a389b119" ], [ "Steel.Effect.Atomic.lift_atomic_steel", @@ -815,7 +815,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "0de28651bfddf4b4811cce6c73e8c383" + "f9f36efd7acfbb2907590f0f2abc4103" ], [ "Steel.Effect.Atomic.as_atomic_action", @@ -853,7 +853,7 @@ "typing_Tm_abs_8e91adfb0b85981739f6d6f97814fe7f" ], 0, - "110d0d5df3fd122e737b8ccac889f206" + "47104fc27c6fa192b8a8990cb9a7b7f2" ], [ "Steel.Effect.Atomic.as_atomic_action_ghost", @@ -891,7 +891,7 @@ "typing_Tm_abs_8e91adfb0b85981739f6d6f97814fe7f" ], 0, - "1ae4ebc04fb92ed063e425913360e35f" + "4dd0e91cd1e045977d62f071e66ef6e4" ], [ "Steel.Effect.Atomic.as_atomic_unobservable_action", @@ -929,7 +929,7 @@ "typing_Tm_abs_8e91adfb0b85981739f6d6f97814fe7f" ], 0, - "5ef9fe1c72ed925dd73d3a3eb2b95115" + "6ac0ea33971a3c5422ce8d08d9e34191" ], [ "Steel.Effect.Atomic.get0", @@ -951,7 +951,7 @@ "token_correspondence_Steel.Effect.Atomic.req_to_act_req" ], 0, - "96b2951819866077b7efbb023306ea3b" + "2d63d6d9b4e20eb84c7203912e5c02ba" ], [ "Steel.Effect.Atomic.gget", @@ -975,7 +975,7 @@ "typing_Steel.Effect.Common.__proj__Mkvprop___item__t" ], 0, - "f60893a76c574a57e99e06e771bb576c" + "e151a7057b55adfd816d7398bc8bf70d" ], [ "Steel.Effect.Atomic.intro_star", @@ -984,7 +984,7 @@ 1, [ "@query" ], 0, - "1db1f84c90b09dede2f6e1d534373831" + "f6aa068e6538d5d5bbde15932ddb50b0" ], [ "Steel.Effect.Atomic.intro_star", @@ -1011,7 +1011,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "07aa9a30a4cf6f22347cd9d45726a1a5" + "30c3582381f4a3e6b2dd5fc28ae80d08" ], [ "Steel.Effect.Atomic.rewrite_slprop0", @@ -1040,7 +1040,7 @@ "unit_inversion" ], 0, - "1e80c06632d9cd9a21f792dbcaade3ef" + "9258530fd7c7a782ed4067b8298a8c5e" ], [ "Steel.Effect.Atomic.change_slprop0", @@ -1049,7 +1049,7 @@ 0, [ "@query" ], 0, - "63af7d67fec2fa26d4ff153cf1af46ae" + "931366f27411682377ad04f225bab69e" ], [ "Steel.Effect.Atomic.change_slprop0", @@ -1102,7 +1102,7 @@ "unit_inversion", "unit_typing" ], 0, - "f98e0f45b4973bf71d0abc0aef81eece" + "a94a87f7f9dea5316e7866bfae298c57" ], [ "Steel.Effect.Atomic.change_slprop", @@ -1119,7 +1119,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "833b77b0099283cbdd2aafde4191957a" + "293a0d4b1994f75ec53cf7870fda0db3" ], [ "Steel.Effect.Atomic.change_slprop", @@ -1135,7 +1135,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "b08dd07c8ffb2eaaec24634bacb57463" + "8aed4bbcd0ca4147c57111c2c21f42dc" ], [ "Steel.Effect.Atomic.change_slprop", @@ -1152,7 +1152,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "acf4359a38187d3627b8c812e1aabda0" + "7462445582317e7357ac4b3e307eb29b" ], [ "Steel.Effect.Atomic.change_equal_slprop", @@ -1165,7 +1165,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "0c179fdf768751503175e97063b896d6" + "0729556e03fb57bbe5df76145ad8322c" ], [ "Steel.Effect.Atomic.change_equal_slprop", @@ -1178,7 +1178,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "109858369cf9733b83bc2fcc63d9d195" + "48c43b8cf1ad8f05d666ab767a4813aa" ], [ "Steel.Effect.Atomic.change_slprop_20", @@ -1187,7 +1187,7 @@ 0, [ "@query" ], 0, - "6e14a955f0461a9d60757bd539873036" + "e1d820bbdbeb932c8149bce4ddadfc0a" ], [ "Steel.Effect.Atomic.change_slprop_20", @@ -1227,7 +1227,7 @@ "unit_inversion" ], 0, - "b8f57a055f8552d065682d19342435f7" + "ac1419483942aa0600938ed3ae3e82d3" ], [ "Steel.Effect.Atomic.change_slprop_2", @@ -1244,7 +1244,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "bd95e0285a358717e58e632941c79a3b" + "bfe9a503d6102d957cef316d9da9d6b8" ], [ "Steel.Effect.Atomic.change_slprop_2", @@ -1253,7 +1253,7 @@ 1, [ "@query" ], 0, - "c79bc22a4801e88dfd930fe57171271c" + "6361d28e61712546208fdedaf7496436" ], [ "Steel.Effect.Atomic.change_slprop_2", @@ -1270,7 +1270,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "d352ff26739d5b8020e119994e415bc2" + "c9569390b694cf47b9fee76ce5cdbb9e" ], [ "Steel.Effect.Atomic.change_slprop_rel0", @@ -1286,7 +1286,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "78dc1c5601b6a233df8a883426542468" + "57ed4979af3bc5562cf71b79259c44d1" ], [ "Steel.Effect.Atomic.change_slprop_rel0", @@ -1336,7 +1336,7 @@ "unit_inversion" ], 0, - "8c30844dde78852c2843da591a82a8bb" + "2e8cb65ef50d3a54e8a5f913ffd5a2f8" ], [ "Steel.Effect.Atomic.change_slprop_rel", @@ -1354,7 +1354,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "dfc532ba018ae80a14c8fa37dd18fa2f" + "67ba415e4f8779a696b550ba3ee916b6" ], [ "Steel.Effect.Atomic.change_slprop_rel", @@ -1371,7 +1371,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "be89dc2b209957118edc08fa4199e2a8" + "b1099460cca2821eede6cc96c7a1d88f" ], [ "Steel.Effect.Atomic.change_slprop_rel", @@ -1380,7 +1380,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "e82613263efbffd3bc0292c4217cae56" + "04f9e15731a0d078e0d5fee759a972aa" ], [ "Steel.Effect.Atomic.change_slprop_rel_with_cond0", @@ -1389,7 +1389,7 @@ 1, [ "@query" ], 0, - "3b5899571f6c75f62923563f8df90e63" + "843a7da75cd5af28e51ff1ec795e7195" ], [ "Steel.Effect.Atomic.change_slprop_rel_with_cond0", @@ -1440,7 +1440,7 @@ "unit_inversion", "unit_typing" ], 0, - "2f7e706be4451b4db77bb7ea7d157d06" + "281ed7103d5437558a13628859e1ad54" ], [ "Steel.Effect.Atomic.change_slprop_rel_with_cond", @@ -1458,7 +1458,7 @@ "refinement_interpretation_Tm_refine_09eb42cfbdc4f0484d793ab8c0e3fe25" ], 0, - "8a36f39a4f22a9337a4b979761b6e1d9" + "6f8e384a6cd4dfc6f6ddb7e0ea57783d" ], [ "Steel.Effect.Atomic.change_slprop_rel_with_cond", @@ -1470,7 +1470,7 @@ "refinement_interpretation_Tm_refine_09eb42cfbdc4f0484d793ab8c0e3fe25" ], 0, - "3d7ae4acf547afb41f714a065bf813e7" + "ababb95622c434afcc4b09fec734a11f" ], [ "Steel.Effect.Atomic.change_slprop_rel_with_cond", @@ -1487,7 +1487,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "3ab07bf9f256d1d9fe3f01640162bac7" + "54a581455760d1034f62613fdadb4735" ], [ "Steel.Effect.Atomic.extract_info0", @@ -1503,7 +1503,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "829a0fd1b0a859e3385e819e01434b00" + "0e8bb14847336c42fe1ec5239995530d" ], [ "Steel.Effect.Atomic.extract_info0", @@ -1539,7 +1539,7 @@ "unit_inversion" ], 0, - "709719842431b6faeb64e055c9ff9ab9" + "ccb59bea5400fc00884744db1d944585" ], [ "Steel.Effect.Atomic.extract_info", @@ -1556,7 +1556,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "71119ebbe11e51b58f586f217d9df216" + "73a2b1170834a010473fd02298c43d6e" ], [ "Steel.Effect.Atomic.extract_info", @@ -1572,7 +1572,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "e124f5e37f82ab7c2e37d15fd6b141af" + "cb755f78f31eea757d864b53d8f30954" ], [ "Steel.Effect.Atomic.extract_info", @@ -1581,7 +1581,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "eed7bbffff90f00aea917d18ffb59fc0" + "bb83cb8177b7147196283a965ac4427c" ], [ "Steel.Effect.Atomic.extract_info_raw0", @@ -1602,7 +1602,7 @@ "unit_inversion" ], 0, - "2508c5c5651bdf5a0676865708bd9b01" + "8f219d6b06609537009385bd6bae4663" ], [ "Steel.Effect.Atomic.noop", @@ -1611,7 +1611,7 @@ 1, [ "@query" ], 0, - "ca0ff4629b887330197f347c1bae4c56" + "6d8709562084efc6c72403ec23ec9f97" ], [ "Steel.Effect.Atomic.slassert0", @@ -1632,7 +1632,7 @@ "unit_inversion" ], 0, - "1545766575bcca679c267577206089c6" + "be8cb6036eceba9a653301bfa437c586" ], [ "Steel.Effect.Atomic.drop", @@ -1651,7 +1651,7 @@ "typing_Steel.Memory.star" ], 0, - "df0513f95844e2fdc06fbae8e8c0cb49" + "da0b6d5529b3a40203605b236912247a" ], [ "Steel.Effect.Atomic.reveal_star0", @@ -1711,7 +1711,7 @@ "unit_inversion" ], 0, - "740c10da3d92660b1168fb8949ee935e" + "e002b632421b97b4e1948c7fa95366de" ], [ "Steel.Effect.Atomic.reveal_star", @@ -1738,7 +1738,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "a304d2560136fa314dc7123c0b9c9e6b" + "4c297262159d5433d968a3366a7222c5" ], [ "Steel.Effect.Atomic.reveal_star", @@ -1765,7 +1765,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "0bba7d3a41afe8a25f0e4b5384f33b5b" + "ea67b312c4993d18126b7079be067a76" ], [ "Steel.Effect.Atomic.reveal_star_30", @@ -1836,7 +1836,7 @@ "typing_Steel.Effect.Common.star", "unit_inversion" ], 0, - "a286ada568b79b56e245a758b2675afc" + "64622f3ce63d57ef33485ddca97d1fa3" ], [ "Steel.Effect.Atomic.reveal_star_3", @@ -1863,7 +1863,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "fb6867c925a8839634f05723d553e03c" + "1fe7f7e94ad2158f07b11a860e61e43b" ], [ "Steel.Effect.Atomic.reveal_star_3", @@ -1889,7 +1889,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "110a5f1aefb531fdf0482c415b1d6b67" + "7b2a7582fa70cb285bdafaf20fb45231" ], [ "Steel.Effect.Atomic.intro_pure", @@ -1898,7 +1898,7 @@ 1, [ "@query" ], 0, - "1c19a6ae70dbcdf2fb44f7ccccd61da8" + "7d5203c406fa710de81ed0d595875179" ], [ "Steel.Effect.Atomic.elim_pure", @@ -1910,7 +1910,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "108f3acd81315de99722faa3d975629d" + "5eeabe8e914a3f7cc2eb6c8073a4746a" ], [ "Steel.Effect.Atomic.intro_exists", @@ -1931,7 +1931,7 @@ "token_correspondence_Steel.Effect.Atomic.h_exists_sl_" ], 0, - "a28ea967c50a3af0cc5194fdec564a36" + "8a3afe969dbaa14e9f0a5cd5cebb5330" ], [ "Steel.Effect.Atomic.intro_exists_erased", @@ -1952,7 +1952,7 @@ "token_correspondence_Steel.Effect.Atomic.h_exists_sl_" ], 0, - "f4c0642a91b25978c763a83a6cf185ea" + "e73a18565e4daafbb8050e0f6df414aa" ], [ "Steel.Effect.Atomic.witness_exists", @@ -1995,7 +1995,7 @@ "typing_Tm_abs_61a867b549c51e941721c3a94fd621f6" ], 0, - "50d5178f776420e0da46720f1115b9bf" + "8502f1c050a8181e88f083d61348d258" ], [ "Steel.Effect.Atomic.exists_equiv", @@ -2023,7 +2023,7 @@ "typing_Steel.Effect.Common.to_vprop_" ], 0, - "aebae36fdb09912e50b3fe4d8e5e705d" + "b7a45a1a0aefaef8b125d0ac127d9bb1" ], [ "Steel.Effect.Atomic.exists_cong", @@ -2038,7 +2038,7 @@ "typing_Tm_abs_43476be6e2b528121aa9b342a6d30d83" ], 0, - "34418d43e7ccc615e26b7aeccc7eb281" + "dcd0e9ede1941b50d22adb4f796dc026" ], [ "Steel.Effect.Atomic.new_invariant", @@ -2047,7 +2047,7 @@ 1, [ "@query" ], 0, - "1aca83c69582540c2a0d118c871d061e" + "e5b83701fbbf9553e4b07534c84949a0" ], [ "Steel.Effect.Atomic.as_atomic_o_action", @@ -2085,7 +2085,7 @@ "typing_Tm_abs_8e91adfb0b85981739f6d6f97814fe7f" ], 0, - "8574eeb9b7a3f3323cbdd7186705b6e6" + "d4f6784db124bbbffdbcb8165ad11e83" ], [ "Steel.Effect.Atomic.with_invariant", @@ -2134,7 +2134,7 @@ "typing_Steel.Memory.locks_invariant", "typing_Steel.Memory.star" ], 0, - "5c647d47aefc2590279a576c1442fa88" + "07b58a8e2d07287833ed54b302cb540d" ], [ "Steel.Effect.Atomic.with_invariant_g", @@ -2174,7 +2174,7 @@ "typing_Steel.Memory.star" ], 0, - "735c47757720eb37c888d2cf3ee74d43" + "816e63057af7fb05fdbbedfae90cf99b" ], [ "Steel.Effect.Atomic.intro_vrefine", @@ -2198,7 +2198,7 @@ "typing_Steel.Effect.Common.vrefine" ], 0, - "c8e8465b3726ad173116800e7703da71" + "cb5dc5508ef5511dd9e836eccf6599ae" ], [ "Steel.Effect.Atomic.intro_vrefine", @@ -2207,7 +2207,7 @@ 1, [ "@query" ], 0, - "b55a97b29c60a4892d313d0523a30a34" + "e6c290432420fc290d103302ee8248c2" ], [ "Steel.Effect.Atomic.elim_vrefine", @@ -2231,7 +2231,7 @@ "typing_Steel.Effect.Common.vrefine" ], 0, - "1a3b6ae1b966198f7e36a1670865aa80" + "4d888536f42a1e3d0aff03f1f3730a42" ], [ "Steel.Effect.Atomic.elim_vrefine", @@ -2246,7 +2246,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "edf81fd8a07e21d70a7ac56dfad6da4e" + "7940f432a0a58e9aece94d171cb36d29" ], [ "Steel.Effect.Atomic.vdep_rel", @@ -2255,7 +2255,7 @@ 1, [ "@query", "equation_FStar.Pervasives.dfst" ], 0, - "643fa53c0ee1ae8888772ee8d6438cb6" + "01bb7a7b8660ffc429fcac82e7ee0cb9" ], [ "Steel.Effect.Atomic.intro_vdep_lemma", @@ -2308,7 +2308,7 @@ "typing_Steel.Effect.Common.star", "typing_Steel.Effect.Common.vdep" ], 0, - "03fe247c2a2abe6444d7433ee3431522" + "2ae85f75faa57c5100825062461cac41" ], [ "Steel.Effect.Atomic.intro_vdep", @@ -2336,7 +2336,7 @@ "typing_Steel.Effect.Common.vdep" ], 0, - "5e76e1e5e685f5d19276f3461c433e7b" + "d596ef90a31fa287f185ba431c13f0af" ], [ "Steel.Effect.Atomic.intro_vdep", @@ -2360,7 +2360,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "0a0c3b071aecd3ec6f152638b01e842c" + "c40b7922049f3341d408b1d0127afb60" ], [ "Steel.Effect.Atomic.elim_vdep_lemma", @@ -2411,7 +2411,7 @@ "typing_Steel.Effect.Common.star", "typing_Steel.Effect.Common.vdep" ], 0, - "f382183f9af5d2197c52b5964b65278f" + "c6a4f0bb8345e355035aad1656dbf5e3" ], [ "Steel.Effect.Atomic.elim_vdep0", @@ -2463,7 +2463,7 @@ "typing_Steel.Effect.Common.vdep", "typing_Steel.Effect.Common.vdep_" ], 0, - "9d1911345f5bc01f137950bffac12f13" + "e93ca894dea5c356e8fbcb36d590c204" ], [ "Steel.Effect.Atomic.elim_vdep", @@ -2487,7 +2487,7 @@ "typing_Steel.Effect.Common.vdep" ], 0, - "7bc9ecebf2dde3d64ae192dc02c790e8" + "3e972e0708b6eda5e9d01417cb0bfc8c" ], [ "Steel.Effect.Atomic.elim_vdep", @@ -2512,7 +2512,7 @@ "typing_Steel.Effect.Common.vdep_t" ], 0, - "396f88fff11b59afea3d4ce43ffe0eaa" + "e075d44394c199c63a8d2cf2098a51e6" ], [ "Steel.Effect.Atomic.intro_vrewrite", @@ -2525,7 +2525,7 @@ "typing_Steel.Effect.Common.vrewrite" ], 0, - "0426c6d2d59141a77a8778a4edd1418a" + "c8df08ccde51be50eddf83b96b53e76d" ], [ "Steel.Effect.Atomic.intro_vrewrite", @@ -2534,7 +2534,7 @@ 1, [ "@query" ], 0, - "4af2ac3789f3e81eff4ab203491fb349" + "8ef543e8fd5442bf84db20ac9ef4c645" ], [ "Steel.Effect.Atomic.elim_vrewrite", @@ -2547,7 +2547,7 @@ "typing_Steel.Effect.Common.vrewrite" ], 0, - "23c98b484ebc925373636342fd1e77d4" + "1238dd6d40a5213f678d4caadebcf3ee" ], [ "Steel.Effect.Atomic.elim_vrewrite", @@ -2556,7 +2556,7 @@ 1, [ "@query" ], 0, - "5d120c249f5769fffbc5bf087d57b9a2" + "286d1e952ec222983c40d64f74d5e90e" ], [ "Steel.Effect.Atomic.mk_selector_vprop_sel'", @@ -2570,7 +2570,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "55ca140d3093e935a7da6c585cebb733" + "2db32fafbad7c596473a32ffba7eba03" ], [ "Steel.Effect.Atomic.mk_selector_vprop_sel", @@ -2601,7 +2601,7 @@ "typing_Steel.Memory.join" ], 0, - "991217e5aabbcb139a96f93e37e4240b" + "f1bc61e0c101c07441ac5ff4b8624e3d" ], [ "Steel.Effect.Atomic.mk_selector_vprop_intro", @@ -2613,7 +2613,7 @@ "typing_Steel.Effect.Atomic.mk_selector_vprop" ], 0, - "83e31705d60a01c04d29849832aaea05" + "21cb61f1803c0cd3746d2b6380f526a0" ], [ "Steel.Effect.Atomic.mk_selector_vprop_intro", @@ -2643,7 +2643,7 @@ "typing_Steel.Memory.id_elim_exists" ], 0, - "6178979218eb9a143dddffaf4813f585" + "2c0cba15f17ca3f378c76a139cb7ce06" ], [ "Steel.Effect.Atomic.mk_selector_vprop_elim", @@ -2657,7 +2657,7 @@ "typing_Steel.Effect.Atomic.mk_selector_vprop" ], 0, - "1e5f0ab826f03cd858fd0c6e194451d5" + "a46df2c96c6de8a8b9b1fd4d1fa3c2bb" ], [ "Steel.Effect.Atomic.mk_selector_vprop_elim", @@ -2686,7 +2686,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.Memory.id_elim_exists" ], 0, - "8d9caf70fbb8399d67959ffbb0b7ac03" + "e6f1b595c48906f03ede2149b1ee244d" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Effect.Atomic.fsti.hints b/lib/steel/Steel.Effect.Atomic.fsti.hints index f5cda2afc..477ae4e62 100644 --- a/lib/steel/Steel.Effect.Atomic.fsti.hints +++ b/lib/steel/Steel.Effect.Atomic.fsti.hints @@ -12,7 +12,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "80fdf0f6881b7112f8df7c6cd9fcacb8" + "c93b38a74f20df61aa700f937ce14bdd" ], [ "Steel.Effect.Atomic.bind_req", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e8af0ad4e6f696fd1434cf51f0bdad4b" + "a5325313a6bbd8a75fbdf38d947188a1" ], [ "Steel.Effect.Atomic.bind_ens", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "20a550225fb4dc690cf01aa2a2fce087" + "1857f9655a364ded885b75791f8a1160" ], [ "Steel.Effect.Atomic.subcomp_pre", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2fc41140054ff452f6e1e23dfe98a499" + "d86b55e020ee1a12460810e0026f97bd" ], [ "Steel.Effect.Atomic.if_then_else_req", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "20b16c6c0e062035bad13b2cd923cd19" + "5f6be51053c9a7cd8f7ed7d19e656a11" ], [ "Steel.Effect.Atomic.if_then_else_ens", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2311c488c8827a6532d059bc50fc0582" + "fd8d3626037b05d3fb11cabba85f4610" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "c712fbb4be9a70cbd9b8fafb9cf041e9" + "592b4d5ff7d4bc0fbbd1b803f1a8b225" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -137,7 +137,7 @@ 1, [ "@query" ], 0, - "7d323c3eaab15966426d10a29551e15d" + "878b8beb257bf2c94120db1be48040a4" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "32da6b92348fd41f9fd8e3b0301f6c2c" + "5b252e3d17cb6b731cb5206daef5b967" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ffea655c7cc40803b6f15f0856f82d10" + "8666056141f79d1c489ac997eb83fe4d" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "3f1ecd9f4952172a987f418e6f4604c6" + "8f2387eaef1dba81d264467e999f5f17" ], [ "Steel.Effect.Atomic.SteelAGCommon", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "101e4e8737be877b40e7bef93ca4ddb6" + "0215ffdc731cc6111d00aed6e3a5efa5" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -194,7 +194,7 @@ 1, [ "@query" ], 0, - "23936f336a5dd867a74533379192268a" + "bd368c301b203044bb614f46d4b15487" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -203,7 +203,7 @@ 1, [ "@query" ], 0, - "34b547e2a8319a10aa8bbaaf433d3437" + "878b8beb257bf2c94120db1be48040a4" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -215,7 +215,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9fad6d98c8e920e874a67f052f2834fb" + "5b252e3d17cb6b731cb5206daef5b967" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a471de394a8e1a6d57b14e498fcb40ab" + "8666056141f79d1c489ac997eb83fe4d" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "dcd9309d165cf93810f71b7f4248d95a" + "8f2387eaef1dba81d264467e999f5f17" ], [ "Steel.Effect.Atomic.SteelAtomicBase", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "daac1187f78923354472a9d82109f7ae" + "0215ffdc731cc6111d00aed6e3a5efa5" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -260,7 +260,7 @@ 1, [ "@query" ], 0, - "17fda34e8fd4b26d0310ebdaca5dbc25" + "fcfe2ff51a3f3f4db4fd4017232ff349" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -269,7 +269,7 @@ 1, [ "@query" ], 0, - "6b395f9c2d477ff0bf9477190621729e" + "878b8beb257bf2c94120db1be48040a4" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -281,7 +281,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "07f857927128e945e4b35207b19cf418" + "5b252e3d17cb6b731cb5206daef5b967" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b4140d5600153905218822bec316c562" + "8666056141f79d1c489ac997eb83fe4d" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -305,7 +305,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "3b0f53cffb1c65751d9f93dbf91cc5f2" + "8f2387eaef1dba81d264467e999f5f17" ], [ "Steel.Effect.Atomic.SteelGhostBase", @@ -317,7 +317,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a6868969d96d8923ebcce86bd5330021" + "0215ffdc731cc6111d00aed6e3a5efa5" ], [ "Steel.Effect.Atomic.gget", @@ -339,7 +339,7 @@ "typing_Steel.Effect.Common.__proj__Mkvprop___item__t" ], 0, - "dc44fb4b4880701cf148608279d64ebf" + "cbe380a40b5a1772158db85761dcec4b" ], [ "Steel.Effect.Atomic.change_slprop", @@ -356,7 +356,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "bc779f9ded350641b56b596e3002867d" + "e810e64067b31bdcc655f33e266dfdc7" ], [ "Steel.Effect.Atomic.change_equal_slprop", @@ -369,7 +369,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "ded97a9f1d4b57a978be99fbdaf3acb0" + "e816bfaada7a69f3254eb2b765e29866" ], [ "Steel.Effect.Atomic.change_slprop_2", @@ -386,7 +386,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "273ab87e8a8d2390ef13d7259e8d81a1" + "48d0fc47e33e522490ad7a52fad0c677" ], [ "Steel.Effect.Atomic.change_slprop_rel", @@ -404,7 +404,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f3ba7e93f6aadcb2a0170d258a53f13d" + "74586f7dcc2d7b8b5ce97549f236fe64" ], [ "Steel.Effect.Atomic.change_slprop_rel_with_cond", @@ -422,7 +422,7 @@ "refinement_interpretation_Tm_refine_09eb42cfbdc4f0484d793ab8c0e3fe25" ], 0, - "3656db60468277be672e69cd6b052600" + "a53029cb4bcca42300b2f8406208808d" ], [ "Steel.Effect.Atomic.extract_info", @@ -439,7 +439,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "47b22a8c9614483f85ce8717c14128a6" + "c8e1180ae0195964103ea3360dc22b08" ], [ "Steel.Effect.Atomic.reveal_star", @@ -467,7 +467,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "e7ecf9fe63b8c2525c514dd6e34e1129" + "caeef800829bb7e31afe512569222452" ], [ "Steel.Effect.Atomic.reveal_star_3", @@ -494,7 +494,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "cb4b9cd806d7d53f25c23b4605e74815" + "fcb39beac7212e04cbbaae98b32ff959" ], [ "Steel.Effect.Atomic.intro_vrefine", @@ -518,7 +518,7 @@ "typing_Steel.Effect.Common.vrefine" ], 0, - "08a1d7120a9f1f44299eafcc24b01acf" + "fffbdeb3dc0579413fc635fbae8b15c9" ], [ "Steel.Effect.Atomic.elim_vrefine", @@ -542,7 +542,7 @@ "typing_Steel.Effect.Common.vrefine" ], 0, - "6cf1ef5092309b883da2a51e3a5cd53d" + "b6c58575a557c4655b07d639abc74dcf" ], [ "Steel.Effect.Atomic.intro_vdep", @@ -570,7 +570,7 @@ "typing_Steel.Effect.Common.vdep" ], 0, - "618bc8898a775b10da6df7023b49c992" + "e0fc8188ad5ceec52843ed693a01e4a4" ], [ "Steel.Effect.Atomic.elim_vdep", @@ -594,7 +594,7 @@ "typing_Steel.Effect.Common.vdep" ], 0, - "e58caedf245834f76b8e6773601fc239" + "9aeabcdd15a92133abb6d86052dece44" ], [ "Steel.Effect.Atomic.intro_vrewrite", @@ -607,7 +607,7 @@ "typing_Steel.Effect.Common.vrewrite" ], 0, - "240a6771487b5f89202ef05aea34e89a" + "463fab97e79f14bc2e85ef1117f91e4f" ], [ "Steel.Effect.Atomic.elim_vrewrite", @@ -620,7 +620,7 @@ "typing_Steel.Effect.Common.vrewrite" ], 0, - "e19fdffc1a6e3b45482ec592b08db8db" + "b1a624ea051542c55c237e4dfb2104d6" ], [ "Steel.Effect.Atomic.mk_selector_vprop_intro", @@ -632,7 +632,7 @@ "typing_Steel.Effect.Atomic.mk_selector_vprop" ], 0, - "428b56e9b66fedae09908433404cf5cb" + "4cf7a616be2147434a7ea236c52e6a1a" ], [ "Steel.Effect.Atomic.mk_selector_vprop_elim", @@ -646,7 +646,7 @@ "typing_Steel.Effect.Atomic.mk_selector_vprop" ], 0, - "b04775a44c48ec19e8167cad76e8cde6" + "2605b648222b8f0c97bd4e54024d145d" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Effect.Common.fst.hints b/lib/steel/Steel.Effect.Common.fst.hints index 0c0740c45..88fa54adb 100644 --- a/lib/steel/Steel.Effect.Common.fst.hints +++ b/lib/steel/Steel.Effect.Common.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_05e27cac11d5ba294d48e85e16d78292" ], 0, - "dde491080c709c9812751d87f6917e8e" + "274f225c19091a882b8b6028b7048bd2" ], [ "Steel.Effect.Common.sel_depends_only_on", @@ -20,7 +20,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.join_preserves_interp" ], 0, - "beddb56d3fc60ee2b406ab1262f7135c" + "3e42fafac8eaa4dd0de4f70dd84f7ef8" ], [ "Steel.Effect.Common.sel_depends_only_on_core", @@ -33,7 +33,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "2469d16f66b7fc6d11c4b7a5f2ffa88e" + "97386bc64e54f7498e9132f6e4887cc5" ], [ "Steel.Effect.Common.__proj__VUnit__item___0", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_93368cf460be2295c4e025d7bd1d2312" ], 0, - "ef1679236f54ef405a4863194967b178" + "4bde466bf7ddfce987f4ef9322ed2538" ], [ "Steel.Effect.Common.__proj__VStar__item___0", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_380577768717aa10698b318ebfe56684" ], 0, - "789a605e078e6acafdd8d11dc5f451b5" + "dcbf1cb1f0cc065002c0f1da796bb7c6" ], [ "Steel.Effect.Common.__proj__VStar__item___1", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_380577768717aa10698b318ebfe56684" ], 0, - "1cad1324ba3a9144e8898b3058429ca6" + "cae86d3e08a4a9d992b0318f568e447b" ], [ "Steel.Effect.Common.to_vprop'", @@ -82,7 +82,7 @@ "interpretation_Tm_abs_94d090eee5e8db6e0aafeb40e3c020bd" ], 0, - "b86ca083ced998ab6b1cdb1046eee982" + "fc9def351f849a42230de2ba29437295" ], [ "Steel.Effect.Common.hp_of", @@ -100,7 +100,7 @@ "subterm_ordering_Steel.Effect.Common.VStar" ], 0, - "9325fb4157320245dffed3c5664aa828" + "d2b03751e1784e05e79103a844cef9ad" ], [ "Steel.Effect.Common.t_of", @@ -118,7 +118,7 @@ "subterm_ordering_Steel.Effect.Common.VStar" ], 0, - "28b72eb1ed0dd662d63f8f7bcb44d102" + "8f216117bc5862877ce30ba6ad696fa3" ], [ "Steel.Effect.Common.sel_of", @@ -164,7 +164,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "be46b7f2909ce958328d9aecefb53678" + "7cb9776b6e6e8968d718cd378f34eaa3" ], [ "Steel.Effect.Common.h_exists", @@ -177,7 +177,7 @@ "interpretation_Tm_abs_f2ed4660fc7472748716c4e5000b0f50" ], 0, - "1d892c13ba9a3b87912fad0abd9762a3" + "b3c60dee56202e22f16e38f2e97dac97" ], [ "Steel.Effect.Common.reveal_can_be_split", @@ -186,7 +186,7 @@ 1, [ "@query", "equation_Steel.Effect.Common.can_be_split" ], 0, - "4a91a8c55599079dd0f617c06c3c52ea" + "c1d9357193f61bb628b123107baf8a58" ], [ "Steel.Effect.Common.can_be_split_interp", @@ -202,7 +202,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "075bea4410073aa23d604970efe67d32" + "318b9723fe859667e413177f691d09a3" ], [ "Steel.Effect.Common.can_be_split_trans", @@ -215,7 +215,7 @@ "equation_Steel.Memory.slimp" ], 0, - "074f680beeec11d826a4ec160e61a3f7" + "86cb4902e5a4e1a990eae13512df912d" ], [ "Steel.Effect.Common.can_be_split_trans_rev", @@ -224,7 +224,7 @@ 1, [ "@query" ], 0, - "76bc77238d9580f9e12b1e7206b1b6cd" + "8cffb337ea6997484498418eb7e832b9" ], [ "Steel.Effect.Common.can_be_split_star_l", @@ -247,7 +247,7 @@ "typing_Steel.Effect.Common.hp_of", "typing_Steel.Effect.Common.star" ], 0, - "a3138ecb9f63013babda6401bee173a3" + "6596310f3f325eda7a51c2b551b3eefc" ], [ "Steel.Effect.Common.can_be_split_star_r", @@ -270,7 +270,7 @@ "typing_Steel.Effect.Common.hp_of", "typing_Steel.Effect.Common.star" ], 0, - "c4308a61373349131b523c7d1284eacf" + "056e471524ba45560adc0202c961c43f" ], [ "Steel.Effect.Common.can_be_split_refl", @@ -282,7 +282,7 @@ "equation_Steel.Memory.slimp" ], 0, - "f39e7d81ea8648c7d971dca4d61accc7" + "ccc50a652a18e9553be862c2279dc6d8" ], [ "Steel.Effect.Common.can_be_split_congr_l", @@ -303,7 +303,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "e21feb4f575a7ad00cb8e7e658761d46" + "163ae428b21e1289c6c569f4cef58d7b" ], [ "Steel.Effect.Common.can_be_split_congr_r", @@ -324,7 +324,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "f6d37d01857441e9818ce929b3303b95" + "e8808556568087d6aedc81c61d662491" ], [ "Steel.Effect.Common.can_be_split_forall_dep_trans_rev", @@ -340,7 +340,7 @@ "interpretation_Tm_abs_b371058decdbff2f75af09b406e587b4" ], 0, - "1c2a5f31a2c084a29ad377a97ecb7097" + "87387508198c70cd890c884445c3140b" ], [ "Steel.Effect.Common.can_be_split_forall_dep_congr_l", @@ -355,7 +355,7 @@ "interpretation_Tm_abs_cba0eadd079db128ee8d5b32e777ba59" ], 0, - "7f36ae8c4ea49dc67be0c62f05bcd860" + "248d3b95923e8605832946ffb0c00337" ], [ "Steel.Effect.Common.can_be_split_forall_dep_congr_r", @@ -370,7 +370,7 @@ "interpretation_Tm_abs_cba0eadd079db128ee8d5b32e777ba59" ], 0, - "58780f8d9cf7b48a1753a76b12f0f961" + "fed710cf697e9fd368e8a3842b873d6f" ], [ "Steel.Effect.Common.reveal_equiv", @@ -379,7 +379,7 @@ 1, [ "@query", "equation_Steel.Effect.Common.equiv" ], 0, - "898d4bf6df337b03a7c74b6bd45d8542" + "69890ae006cc27d8119d4c0b796ac318" ], [ "Steel.Effect.Common.valid_rmem", @@ -408,7 +408,7 @@ "token_correspondence_Steel.Effect.Common.hp_of.fuel_instrumented" ], 0, - "b7550beb9f864a3650fa0f021e32f60e" + "aaf8bb7557545d38c307b16bc83a2f7a" ], [ "Steel.Effect.Common.unrestricted_mk_rmem", @@ -420,7 +420,7 @@ "refinement_interpretation_Tm_refine_c1cb6a5ec15d3eb1281bac3fe1ecbc41" ], 0, - "a6a2acd4ccc74eec0a9d3ac5f4d8d5eb" + "8032850396755d4932ea0b22cc346ba7" ], [ "Steel.Effect.Common.mk_rmem'", @@ -437,7 +437,7 @@ "refinement_interpretation_Tm_refine_c1cb6a5ec15d3eb1281bac3fe1ecbc41" ], 0, - "66ebda0d7dcf5cfbfd837312e78b82d0" + "c8f0cc33c3e83789bc4fdfa658a527bc" ], [ "Steel.Effect.Common.lemma_valid_mk_rmem", @@ -488,7 +488,7 @@ "typing_Tm_abs_6af19054736cf7ed32ba36668de76ebe" ], 0, - "aa8b0cab178098e1fecb33c3e7e60a66" + "2090420f9b981445c903e35b0685a19b" ], [ "Steel.Effect.Common.mk_rmem", @@ -497,7 +497,7 @@ 1, [ "@query" ], 0, - "0add8e3980925f27b82866fff04e9494" + "7801fdce9433f00877fbcada150a66d6" ], [ "Steel.Effect.Common.reveal_mk_rmem", @@ -519,7 +519,7 @@ "refinement_interpretation_Tm_refine_c1cb6a5ec15d3eb1281bac3fe1ecbc41" ], 0, - "ca21ea763bcdd11d1aea788b115b2f97" + "f0129168808fe2cd837e85dfd4442c7c" ], [ "Steel.Effect.Common.reveal_mk_rmem", @@ -556,7 +556,7 @@ "typing_Tm_abs_6af19054736cf7ed32ba36668de76ebe" ], 0, - "9af34b28fcc768e0eeda57faaaef1c03" + "b91305c91cf7d490e1b9375fbb29906c" ], [ "Steel.Effect.Common.emp'", @@ -569,7 +569,7 @@ "interpretation_Tm_abs_b001ba650ef23e7336605be449ae2517" ], 0, - "073f663377cd537edb3735cb3bc0c629" + "cf1ce2d9c42fafb2c44d1804b6fc6dea" ], [ "Steel.Effect.Common.reveal_emp", @@ -593,7 +593,7 @@ "typing_Steel.Effect.Common.emp" ], 0, - "a25557025368a565710320c0cdc4c660" + "3eb232330efbae69e357c270906d69aa" ], [ "Steel.Effect.Common.unrestricted_focus_rmem", @@ -605,7 +605,7 @@ "refinement_interpretation_Tm_refine_c1cb6a5ec15d3eb1281bac3fe1ecbc41" ], 0, - "0cc5331903525131418379abc276348a" + "4c69fd851a4e891cbe10bf17c60f26e7" ], [ "Steel.Effect.Common.lemma_valid_focus_rmem", @@ -645,7 +645,7 @@ "typing_Tm_abs_b4b0eb0a30c8752636aec539d6e3910e" ], 0, - "95dcfd8113660837a69a05a022f321f4" + "2193eabfbcce53c0ec4bd38fc83e67f1" ], [ "Steel.Effect.Common.focus_rmem", @@ -654,7 +654,7 @@ 1, [ "@query" ], 0, - "2249eb1e00a22425c1d5b76ea4f17df4" + "efe252c3c4250e5eebf83bb01c67d7e7" ], [ "Steel.Effect.Common.focus_rmem_refl", @@ -685,7 +685,7 @@ "typing_Tm_abs_b4b0eb0a30c8752636aec539d6e3910e" ], 0, - "6128dc09d6233b593a16e218ff68db59" + "6288d8a5d01a9d1280c5905400aa5024" ], [ "Steel.Effect.Common.frame_equalities'", @@ -705,7 +705,7 @@ "subterm_ordering_Steel.Effect.Common.VStar" ], 0, - "ae75f5ae105a89f0a74285d8b6c5b672" + "cf104a92fc19e77ea28c6a4548710234" ], [ "Steel.Effect.Common.lemma_frame_refl'", @@ -714,7 +714,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "dde389017a85d8ba33dc57c27352a7c2" + "8d3afc4dde89544379da064e60164755" ], [ "Steel.Effect.Common.lemma_frame_refl'", @@ -765,7 +765,7 @@ "typing_Tm_abs_b4b0eb0a30c8752636aec539d6e3910e" ], 0, - "361f750043857b00652793265da67cec" + "157047040a021eb23d90a339c1a6bb2f" ], [ "Steel.Effect.Common.lemma_frame_equalities", @@ -774,7 +774,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "366f3e8d46b29b40575aaad95832e6d9" + "b0bac2e499ea64e0f8769b9b9628aeee" ], [ "Steel.Effect.Common.lemma_frame_equalities", @@ -794,7 +794,7 @@ "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf" ], 0, - "1507ac09cbe2fc1b02a4727e7a1d2aed" + "0fb362bc08d04c7ce1a011cbe8b59c54" ], [ "Steel.Effect.Common.lemma_frame_emp", @@ -817,7 +817,7 @@ "typing_Steel.Effect.Common.emp", "unit_inversion" ], 0, - "ecc8c2ad1c9ecaa520a36c5f902da58d" + "61cb7af2660b317af3f75361083ba757" ], [ "Steel.Effect.Common.elim_conjunction", @@ -826,7 +826,7 @@ 1, [ "@query" ], 0, - "e8fd835996887ffd2a67fdfd98e40c29" + "38f2b7d60b8a80ec4138570550eeebd3" ], [ "Steel.Effect.Common.can_be_split_dep_refl", @@ -839,7 +839,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "bd3faedfa524010ca022e546c72af0bb" + "027df41d47fbdc9f11d5583a0d7cd2d5" ], [ "Steel.Effect.Common.equiv_can_be_split", @@ -853,7 +853,7 @@ "lemma_Steel.Memory.reveal_equiv", "typing_Steel.Effect.Common.hp_of" ], 0, - "ddef77c3c0649802adbbe1d38a02f4eb" + "5ed09a4f05c122cdb5638d310159afdc" ], [ "Steel.Effect.Common.intro_can_be_split_frame", @@ -877,7 +877,7 @@ "typing_Steel.Effect.Common.hp_of", "typing_Steel.Effect.Common.star" ], 0, - "0a79bca78c2f9c6696215616b8452305" + "89a0ed253b7bcf3440d275aeca3dd43a" ], [ "Steel.Effect.Common.can_be_split_post_elim", @@ -899,7 +899,7 @@ "lemma_Steel.Memory.reveal_equiv", "typing_Steel.Effect.Common.hp_of" ], 0, - "244b1b0818b9a4b619e8c863b10a3d81" + "7730e6dfcb1c736270c97c258d55503e" ], [ "Steel.Effect.Common.equiv_forall_refl", @@ -915,7 +915,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "0ca99cc6e83a5dc0bd4ad30f58d1ebc8" + "7dd2d4456308826304d8e1a9a6af551c" ], [ "Steel.Effect.Common.equiv_forall_elim", @@ -935,7 +935,7 @@ "lemma_Steel.Memory.reveal_equiv", "typing_Steel.Effect.Common.hp_of" ], 0, - "78201c9091da655e8de19ff48623ab8f" + "49839293cc4bc8186d3b6377b476ce99" ], [ "Steel.Effect.Common.equiv_refl", @@ -947,7 +947,7 @@ "lemma_Steel.Memory.reveal_equiv", "typing_Steel.Effect.Common.hp_of" ], 0, - "a40b521b70f8d4f87e518fc7a22e0b25" + "86a47d19b0a52e4dcfecf436c406a566" ], [ "Steel.Effect.Common.equiv_sym", @@ -960,7 +960,7 @@ "lemma_Steel.Memory.reveal_equiv", "typing_Steel.Effect.Common.hp_of" ], 0, - "b64c9e27ea1b5bb185f3749c390b00b0" + "387ea711fef72c9222b66bf5e7f1949d" ], [ "Steel.Effect.Common.equiv_trans", @@ -973,7 +973,7 @@ "lemma_Steel.Memory.reveal_equiv", "typing_Steel.Effect.Common.hp_of" ], 0, - "738ecc804d8386c7900a9a38e8e3fa9a" + "3460cbaa5aff9dd39c5018e10b35053d" ], [ "Steel.Effect.Common.cm_identity", @@ -1003,7 +1003,7 @@ "typing_Steel.Memory.star" ], 0, - "d5483e6d837bcb3f74e0ebe258fa720d" + "2a2d2fff7608a6644994998aa01d5862" ], [ "Steel.Effect.Common.star_commutative", @@ -1023,7 +1023,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "53f29ef125941ce1da40b2fdde436d23" + "818bdb53f2987a4f267944ff0a09b2d6" ], [ "Steel.Effect.Common.star_associative", @@ -1045,7 +1045,7 @@ "typing_Steel.Effect.Common.star", "typing_Steel.Memory.star" ], 0, - "126700258488642cf4691eeb164871a0" + "97327ad6e90b8499a9d0ce87d5f6578d" ], [ "Steel.Effect.Common.star_congruence", @@ -1065,7 +1065,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "37586f45dd05f56709cbe8c0494df037" + "7b053e57de5a40bbb9b0da0d2a19abf4" ], [ "Steel.Effect.Common.rm", @@ -1081,7 +1081,7 @@ "token_correspondence_Steel.Effect.Common.equiv" ], 0, - "827772e1cc88a03aaa42a557c28c1c87" + "54748af9e133e2e0fdcffd03fa79d82f" ], [ "Steel.Effect.Common.vrefine_am", @@ -1110,7 +1110,7 @@ "token_correspondence_Steel.Effect.Common.sel_of" ], 0, - "633edb3550182d94961e0508ea2b3601" + "faa2e717fbbb94a4b10db0c844e5862a" ], [ "Steel.Effect.Common.vrefine_hp", @@ -1126,7 +1126,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "c3cf7e909ef988af2f015014624bf631" + "0ad6b84b5109623ff2b7df5de43be683" ], [ "Steel.Effect.Common.interp_vrefine_hp", @@ -1142,7 +1142,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "3a332bddf1c6fc5bbe435f2d650f9b13" + "d0331a763e781e9ea2d7e5422392382e" ], [ "Steel.Effect.Common.interp_vrefine_hp", @@ -1166,7 +1166,7 @@ "typing_Steel.Effect.Common.vrefine_am" ], 0, - "1d79fa3f15373811d07d7a80583bff9b" + "e92ad8bd7596c9062337ca2b17e6a7b3" ], [ "Steel.Effect.Common.vrefine_t", @@ -1182,7 +1182,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "28de22598f6f779b8c83903d490b96d1" + "5dce682a7c79cf666684f202e64ab84a" ], [ "Steel.Effect.Common.vrefine_sel'", @@ -1203,7 +1203,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "33716e8c6a6a7264d2e3219bc1f9b121" + "91214751118833e755a662021dc75623" ], [ "Steel.Effect.Common.vrefine_sel", @@ -1240,7 +1240,7 @@ "typing_Steel.Effect.Common.vrefine_am" ], 0, - "44d878cf64b6ec8b92fb0e9d55be9644" + "7e7910ecda2ece0373f7c109e60f699d" ], [ "Steel.Effect.Common.vrefine_sel_eq", @@ -1249,7 +1249,7 @@ 1, [ "@query" ], 0, - "4c22859ccd813cb6b65c6ed27b3d8538" + "5316e79f9c307cb92cbea1b4a6b02791" ], [ "Steel.Effect.Common.vrefine_sel_eq", @@ -1280,7 +1280,7 @@ "typing_Steel.Effect.Common.vrefine_am" ], 0, - "aae7c73c109be1c0426ed145412a9fd9" + "dbb00427bac6152f884854e769607ac3" ], [ "Steel.Effect.Common.interp_vdep_hp", @@ -1289,7 +1289,7 @@ 1, [ "@query" ], 0, - "0ec5a6994db5e94ad9d34a45d45fd20d" + "7549a042277682cc4c411a3d11089b6d" ], [ "Steel.Effect.Common.interp_vdep_hp", @@ -1327,7 +1327,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "37eefbb9b2a7be10c97b362d30cb658b" + "59532baf03b07559bf86e0038c58a073" ], [ "Steel.Effect.Common.vdep_sel'", @@ -1345,7 +1345,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "032a84d8b5ba1bf29e45bca3d04c082c" + "5d7c8fd8056aff09e69168d7fdf23059" ], [ "Steel.Effect.Common.vdep_sel", @@ -1402,7 +1402,7 @@ "typing_Steel.Memory.core_mem" ], 0, - "e983d70e5cdaef8c311fff831063ee07" + "3e320b956c98c29cca291b4cd48a9ac2" ], [ "Steel.Effect.Common.vdep_sel_eq", @@ -1411,7 +1411,7 @@ 1, [ "@query" ], 0, - "24cf9e19c58cb3319786addaf8a3a3b2" + "dc327288bf966b67295b8ac5984e13de" ], [ "Steel.Effect.Common.vdep_sel_eq", @@ -1450,7 +1450,7 @@ "typing_Steel.Effect.Common.vdep_hp_payload" ], 0, - "75fdde9f68d7c49d04391e65cc8d1968" + "09d4a6cdbef057b03daade1e30d3ed19" ], [ "Steel.Effect.Common.vrewrite_sel", @@ -1484,7 +1484,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "2260fd185dc8cd16a63dd63f1562214a" + "a3f329b2beeffd8759f7e0151fb13c33" ], [ "Steel.Effect.Common.vrewrite_sel_eq", @@ -1500,7 +1500,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "3c750a5a01cf10e0a5a8caac06a5cabc" + "a277e21d39d297fad4d8860eedacfbaa" ], [ "Steel.Effect.Common.vrewrite_sel_eq", @@ -1513,7 +1513,7 @@ "token_correspondence_Steel.Effect.Common.vrewrite_sel" ], 0, - "fae08236708474b2c64a7d24c3cbf1ae" + "81bb7c698fb88153f8a04f3299ee66bc" ], [ "Steel.Effect.Common.visit_tm", @@ -1545,7 +1545,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "aa0d5a41266e88b25b5169cede42837b" + "e7fdeb31aaec4ed34afa378ee32a5060" ], [ "Steel.Effect.Common.visit_tm", @@ -1564,7 +1564,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ed3a9bb7d9e75d50363bf03105e91d24" + "5e4d8ac116f09b3d36e767701c7cebb0" ], [ "Steel.Effect.Common.atoms_to_string", @@ -1580,7 +1580,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ede051c9d5be491d55492f12916fc704" + "35fcf6574af31573304034886976f5a6" ], [ "Steel.Effect.Common.exp", @@ -1594,7 +1594,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2a4ffea1f2dfe785b2bfac3bb260f605" + "3f896c92fcbfd701b1f9aeb18a193d4d" ], [ "Steel.Effect.Common.__proj__Mult__item___0", @@ -1606,7 +1606,7 @@ "refinement_interpretation_Tm_refine_e7954ac14aed50076e3fc9ae4af8e986" ], 0, - "b7f758c2e02be057ee76b4ae39c4fe11" + "55531bebee7f33c34e5a1f7f6fa313fc" ], [ "Steel.Effect.Common.__proj__Mult__item___1", @@ -1618,7 +1618,7 @@ "refinement_interpretation_Tm_refine_e7954ac14aed50076e3fc9ae4af8e986" ], 0, - "c14bbe5d5b025535fb0dd2e150e11b19" + "51a2234485c14f73843d563afcdcbf89" ], [ "Steel.Effect.Common.__proj__Atom__item___0", @@ -1630,7 +1630,7 @@ "refinement_interpretation_Tm_refine_c885ffea822ff4a58aa0f7bf36140816" ], 0, - "153c34be9c9d6a72aa6d0f773d384b13" + "7e3509813c331a87fae54fad9a9abc0c" ], [ "Steel.Effect.Common.my_assoc", @@ -1645,20 +1645,20 @@ "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" ], 0, - "1eb454a17749b03436a4afcaed215819" + "24acf05a74b7d22dcfef109b99edd2c6" ], [ "Steel.Effect.Common.get_candidates", @@ -1673,7 +1673,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b71aaeb0b78cfd967937d133e3ca1d90" + "7bd25dbc94845a55b84d48cd212650e4" ], [ "Steel.Effect.Common.trivial_cancel", @@ -1691,7 +1691,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "73767deb52a9549e19896c12d57c0f54" + "56d51248d3edcbe525a23b1c7fdc5e9e" ], [ "Steel.Effect.Common.trivial_cancels", @@ -1704,7 +1704,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "714cf795ccaea67157351090ccf5fe9f" + "fedc1e19807082d10a5d4cadaf13e5a3" ], [ "Steel.Effect.Common.print_atoms", @@ -1717,7 +1717,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b09a03e5ade77bbe68ee9c4e1f3537dc" + "56f80da4e4ec4c496b56288e97f2a135" ], [ "Steel.Effect.Common.try_candidates", @@ -1730,7 +1730,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9e5d10f41d3432519cc389f4d67dae1d" + "2697b21d0d1a512f9f9d6904b817a398" ], [ "Steel.Effect.Common.remove_from_list", @@ -1743,7 +1743,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "600ccb585bd0e32eb7f668ab6cec6305" + "2f4ce4c70eb227424563d53f5f81f255" ], [ "Steel.Effect.Common.equivalent_lists_once", @@ -1756,7 +1756,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2f5b059e8e392b07453a76c5a4e29140" + "27f3aa2f11eec13a6478810e17ed2798" ], [ "Steel.Effect.Common.equivalent_lists_once_l2", @@ -1769,7 +1769,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4590d75a0c06bc7f25c4c3479732ef4f" + "419e05902905b2f9f8f7da729180d525" ], [ "Steel.Effect.Common.get_head", @@ -1782,7 +1782,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1986dea30aeca5534c13fb5f46d46783" + "59ea07ce37786bb27fb1be5fa6268186" ], [ "Steel.Effect.Common.is_only_uvar", @@ -1802,7 +1802,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "977576ea6b000742483616aeee8a9c58" + "0fb4661d076abda2dcf8b5543e366a9c" ], [ "Steel.Effect.Common.try_unifying_remaining", @@ -1815,7 +1815,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "aae69ab908f0e3d0bf3d15d1fb64a99b" + "7303a978c778b6e80c734dd63d1d229f" ], [ "Steel.Effect.Common.new_args_for_smt_attrs", @@ -1839,7 +1839,7 @@ "typing_FStar.Reflection.Types.name" ], 0, - "45fcafa6f5c33f47860a86f0d8d84422" + "8d119c8e5fc5635f9f07928d7bbfc650" ], [ "Steel.Effect.Common.unifies_with_all_uvars", @@ -1852,7 +1852,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8c8a745e8ad721c29153e830e50d9998" + "5f40a7b520ad904aa885a217fb4f914b" ], [ "Steel.Effect.Common.most_restricted_at_top", @@ -1865,7 +1865,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7e5c39e462be24ab1f92c067ce876730" + "875fe6b44d601599e88e2816b7b88635" ], [ "Steel.Effect.Common.list_to_string", @@ -1879,7 +1879,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "874849c9a8b95b74d7b1ee29083ac355" + "d4a336720cac1e27911aa884d3696121" ], [ "Steel.Effect.Common.mdenote_gen", @@ -1904,7 +1904,7 @@ "typing_tok_Steel.Effect.Common.Unit@tok" ], 0, - "a74bdfda6047175779c93b8513c9cb60" + "7f11e4ab51a3aad33b9277cbd4cfcb6c" ], [ "Steel.Effect.Common.xsdenote_gen", @@ -1924,7 +1924,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "436cd731028b304a81789e11454b1860" + "ebcdf14089ae256deabf7ec60dafa47a" ], [ "Steel.Effect.Common.my_append", @@ -1947,7 +1947,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "c550eacd9899dd4a488e3bde4ca435ee" + "3ac4b21092d0cc96804df2d177ef9767" ], [ "Steel.Effect.Common.flatten", @@ -1968,7 +1968,7 @@ "typing_tok_Steel.Effect.Common.Unit@tok" ], 0, - "c760f0e18a29e4a3ca575f1f8edeab31" + "6fbf0425e14fb04dde01c5db6b64c730" ], [ "Steel.Effect.Common.flatten_correct_aux", @@ -2024,7 +2024,7 @@ "unit_typing" ], 0, - "110b092e81c2003b1c2f77b9211cbc25" + "6eb8ef5791977e4b574ae7bd10057e70" ], [ "Steel.Effect.Common.flatten_correct", @@ -2081,7 +2081,7 @@ "typing_tok_Steel.Effect.Common.Unit@tok" ], 0, - "43eb3df302524ca2a2fb63a587850c44" + "c690446322228c92613ec5e69b699b37" ], [ "Steel.Effect.Common.monoid_reflect", @@ -2093,7 +2093,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a19b73a453554fdcfffd6b09531c7ebb" + "2d2923ad544c364866ca201ad9d6b878" ], [ "Steel.Effect.Common.my_partition", @@ -2120,7 +2120,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "30402cf4358c425a60b986fbe146ccb3" + "30456999ec4a82908bca74bc4cb7e357" ], [ "Steel.Effect.Common.partition_ext", @@ -2152,7 +2152,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.partition" ], 0, - "5fbd2826883bb9f2611411de6af0a29b" + "94d8815579c314a684f8da62136fec1a" ], [ "Steel.Effect.Common.my_sortWith", @@ -2171,8 +2171,8 @@ "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_1b1c2a2634ce27f35881a36f16133fed_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.bool_of_compare", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", @@ -2187,18 +2187,15 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "well-founded-ordering-on-nat" + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "28c2ac1c7772a50d8b996f09c8905cc1" + "d1c4f41d2d81669e1f1dc464601bf255" ], [ "Steel.Effect.Common.sortWith_ext", @@ -2240,7 +2237,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "36e95fa55eb890ddf85b4c726bf0f3ce" + "db232fac054607b507e523bdfaf6eccb" ], [ "Steel.Effect.Common.lemma_xsdenote_aux", @@ -2272,7 +2269,7 @@ "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit" ], 0, - "7fc955747c4f8338787447baad0f019c" + "57160e0b09c30b2ee9172aab434e71ae" ], [ "Steel.Effect.Common.partition_equiv", @@ -2331,7 +2328,7 @@ "unit_inversion", "unit_typing" ], 0, - "61a47a1ef7120f465b8ffd198c55cf67" + "a2f9d41ecb1659d843c0de034641cd30" ], [ "Steel.Effect.Common.sort_correct_aux", @@ -2402,7 +2399,7 @@ "typing_Steel.Effect.Common.sort", "well-founded-ordering-on-nat" ], 0, - "60b545da57fc5ec88e2d277ae36811ec" + "d248b4f843225325d617c09e516ed906" ], [ "Steel.Effect.Common.smt_reflexivity", @@ -2411,7 +2408,7 @@ 1, [ "@query" ], 0, - "00e3f5d222ffb3ea8695cee57862455d" + "160e827c893006fec3a638b886853d15" ], [ "Steel.Effect.Common.identity_left_smt", @@ -2420,7 +2417,7 @@ 1, [ "@query" ], 0, - "1d1c3f03635c81860d234fe99d19e3d2" + "761d6555fa31cc2382ef90813c1cc801" ], [ "Steel.Effect.Common.identity_left", @@ -2429,7 +2426,7 @@ 1, [ "@query" ], 0, - "2c95191d937a811ceb171b5a112393e3" + "cdfe06f40898f10831dcca1902b28def" ], [ "Steel.Effect.Common.identity_right_diff", @@ -2438,7 +2435,7 @@ 1, [ "@query" ], 0, - "324ce53b07f98b6c2996f5ef8425b4ea" + "8c86a9a08a6dce91fc922b942b97f5e9" ], [ "Steel.Effect.Common.equivalent_sorted", @@ -2447,7 +2444,7 @@ 1, [ "@query" ], 0, - "e7613a6693802d606c54a1ec19a352e4" + "b46819efb854a6e3bbd28b4e0b7b24d6" ], [ "Steel.Effect.Common.where_aux", @@ -2465,7 +2462,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c23680c5e79fccae3363f0c35f58f369" + "80ddf039bb37ca83b2790b34aae5ad9c" ], [ "Steel.Effect.Common.fatom", @@ -2480,7 +2477,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3fe14972e3374664ba9f88d0a0507b3b" + "90d024ef00654ad98eee766468c2ad9c" ], [ "Steel.Effect.Common.convert_map", @@ -2496,7 +2493,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "facd702412d51efaf2f0ec582cf2fe8e" + "b047faa5c1e4203e3585751fdf6f382c" ], [ "Steel.Effect.Common.quote_exp", @@ -2517,7 +2514,7 @@ "typing_tok_Steel.Effect.Common.Unit@tok" ], 0, - "a9cc5a8e0cb1a755a3472a8bea1fbc1e" + "1de524ba9586fd2e60ac34afa266656d" ], [ "Steel.Effect.Common.quote_atoms", @@ -2533,7 +2530,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "6dc92cc80f9020ca70c5f971d43e5a4a" + "0fe49c8ec3e8ede06504d7a923f256f8" ], [ "Steel.Effect.Common.normal_elim", @@ -2542,7 +2539,7 @@ 1, [ "@query", "equation_Steel.Effect.Common.normal_tac" ], 0, - "22e974bfc86e3f325ff7efa698f27f46" + "65014c655b20cf846d90e0bfe65dc586" ], [ "Steel.Effect.Common.__proj__Result__item__uu___", @@ -2554,7 +2551,7 @@ "refinement_interpretation_Tm_refine_bd7b365887c1152cb93aee4db5dc733b" ], 0, - "a198214941469e8cc9e743995a7cc4e5" + "008ac44a426e66a1f869e9426f6cdba5" ], [ "Steel.Effect.Common.inst_bv", @@ -2566,7 +2563,7 @@ "refinement_interpretation_Tm_refine_1dbc034b08f552370bddefc318e374cd" ], 0, - "8582c717f504d62880b144f691106233" + "852bb367558a98db07f7a7caf33eeb42" ], [ "Steel.Effect.Common.modus_ponens", @@ -2578,7 +2575,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "415b3b9259877afb48d5d44260f45e53" + "c45d4ad36daddc339d72075e487d688e" ], [ "Steel.Effect.Common.cut", @@ -2587,7 +2584,7 @@ 1, [ "@query" ], 0, - "06e4c6ff3800bae5939c7b43ff1e8283" + "0ab9de888309e856d918203783740227" ], [ "Steel.Effect.Common.and_true", @@ -2596,7 +2593,7 @@ 1, [ "@query" ], 0, - "251c24561d14639d84cebc1498024fd3" + "5a525f4c3a10e497035bd8a95b2ffd36" ], [ "Steel.Effect.Common.__proj__Postpone__item__uu___", @@ -2608,7 +2605,7 @@ "refinement_interpretation_Tm_refine_9999f267b0e4aeddd25af51ee6b7e459" ], 0, - "fd6f3511ae2ddc13b30137a0f343fdd0" + "446d2fcebfd9d69ae5b805eebdd128a9" ], [ "Steel.Effect.Common.elim_and_l_squash", @@ -2620,7 +2617,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "0eed03f06bad773672a8d1ff68d40257" + "927e9ce2cf3e4077f1ad3b3610095bdc" ], [ "Steel.Effect.Common.elim_and_r_squash", @@ -2632,7 +2629,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "2e576be305b796eb0c06613ae1c768a1" + "6f346097ed55ff739e26de495ccb5919" ], [ "Steel.Effect.Common.canon_monoid", @@ -2650,7 +2647,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1d2cea697c5031740e7ac024cd773568" + "cba51250cd4f6a1de70a768c097a7d08" ], [ "Steel.Effect.Common.dismiss_all_but_last'", @@ -2663,7 +2660,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6f754b598f3184190e44339c156eb497" + "467b02237fe5c1bb3a32e06ae1315568" ], [ "Steel.Effect.Common.dismiss_non_squash_goals'", @@ -2676,7 +2673,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "dfc1e0c3ecd552e8c55fac1c397a1556" + "bfa71eeec0f17545cecfb3e00c6cc572" ], [ "Steel.Effect.Common.term_mem", @@ -2690,7 +2687,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "444c3b15da9efc172e798b13055f9818" + "21a3249534fd4aad7adeb678a5b669bb" ], [ "Steel.Effect.Common.lookup_by_term_attr'", @@ -2698,17 +2695,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.sigelt", - "lemma_FStar.Pervasives.invertOption", "proj_equation_Prims.Cons_hd", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "typing_FStar.Reflection.V2.Builtins.inspect_fv", "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "c664027b2b57202c76bc9886cfe4ef12" + "f1f7c98aa5eff5f8d07ae1b34240a81a" ], [ "Steel.Effect.Common.bring_last_goal_on_top'", @@ -2721,7 +2717,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "97dff9e3f387d4a33db71cd6cdc3f3f2" + "84e9cc117ae757d7c2af1cdbd39bf86a" ], [ "Steel.Effect.Common.extract_contexts", @@ -2733,12 +2729,10 @@ "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", - "disc_equation_FStar.Tactics.NamedView.Tv_FVar", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.fv", "lemma_FStar.Pervasives.invertOption", "non_total_function_typing_Non_total_Tm_arrow_b5fb269338aa8fbf8993af346cd57198", - "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", @@ -2747,7 +2741,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "a18a8411a07271507f5d3e30c1827c00" + "5592d6dd15585f9db155e65e3592677f" ], [ "Steel.Effect.Common.open_existentials", @@ -2760,7 +2754,6 @@ "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.V2.Data.argv", "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "lemma_FStar.Pervasives.invertOption", @@ -2773,7 +2766,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "4d0829c41130e8548cda431a8efc5c7d" + "828d2bd310db3211153f85de54f917a5" ], [ "Steel.Effect.Common.emp_unit_variant", @@ -2802,7 +2795,7 @@ "typing_Steel.Memory.star" ], 0, - "82cbd19f51aef66a1fd123dcbf4fe665" + "677526543e59f44f7432131bd3c1f499" ], [ "Steel.Effect.Common.open_existentials_forall_dep", @@ -2815,7 +2808,6 @@ "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.V2.Data.argv", "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "lemma_FStar.Pervasives.invertOption", @@ -2828,7 +2820,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "cea99c5620041a36a381f3e99eec5579" + "6204ea8eb6a7e68e2ab9cef089534c8f" ], [ "Steel.Effect.Common.solve_indirection_eqs", @@ -2838,7 +2830,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "constructor_distinct_FStar.Tactics.Result.Failed", "data_elim_FStar.Tactics.Result.Success", "data_typing_intro_FStar.Reflection.V2.Formula.False_@tok", @@ -2855,7 +2847,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "99551ff80662b89102c6dbb3d030f28e" + "c80bba8f2e1c0465b136258959f4a5f6" ], [ "Steel.Effect.Common.solve_all_eqs", @@ -2877,7 +2869,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0fae4ef1eceafafdaffa2a5f2f069e25" + "286d9b5588a0f66eaa5635b669e0c9f1" ], [ "Steel.Effect.Common.solve_return_eqs", @@ -2899,7 +2891,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "54f6b8474ec339d28d50db7f6599cdea" + "286d9b5588a0f66eaa5635b669e0c9f1" ], [ "Steel.Effect.Common.term_dict_assoc", @@ -2912,7 +2904,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8f21c2a375ddcc9b465e72bc23cf6d53" + "c89a6fc2b2fd293a24aab2365b35a6e6" ], [ "Steel.Effect.Common.remove_dups_from_sorted", @@ -2932,7 +2924,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "b1ac5d101e315366d3b2080c4b8a7934" + "ea738ce31b970b942ebfa80897348e03" ], [ "Steel.Effect.Common.merge_sorted", @@ -2964,7 +2956,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "be06d6da14be6d450087c0db3bdee2f5" + "6803216b9a98de7dc34788151c218c5f" ], [ "Steel.Effect.Common.sorted_lists_intersect", @@ -2996,7 +2988,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "afa9d089700489571071d5cef6c1ccdf" + "1c5ea6cb8b96c8c31b3791a242da960f" ], [ "Steel.Effect.Common.compute_guarded_uvars1", @@ -3009,7 +3001,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "32118dedbc8d18e1e0e054b009237a21" + "489b95d2c5a31c630fb070230a043d6f" ], [ "Steel.Effect.Common.compute_guarded_uvars2", @@ -3022,7 +3014,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "999bfe9b6201e8819f224109a8ef5651" + "97d7afb396d2925e0fdb0afffa57e657" ], [ "Steel.Effect.Common.compute_guarded_uvars3", @@ -3039,7 +3031,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "043678c09b02c5e5eee9f8237dd8d123" + "18f08c866f6887c22627ccb072373809" ], [ "Steel.Effect.Common.pick_next", @@ -3058,7 +3050,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6e06695422989d9b4ce23ef1b5ef608d" + "01b9a115b2821eb4413ae3ff34594804" ], [ "Steel.Effect.Common.pick_next_logical", @@ -3067,7 +3059,7 @@ 2, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "data_elim_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Tactics.Result.__result", @@ -3078,7 +3070,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "61dd24c9b1bbfce33df53e10c5999cb7" + "d1994a5f11a622170897345dd0cdcde9" ], [ "Steel.Effect.Common.filter_goals", @@ -3088,16 +3080,14 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", - "bool_inversion", "data_typing_intro_FStar.Reflection.V2.Formula.False_@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Tactics.Types.goal", - "projection_inverse_BoxBool_proj_0", "typing_Prims.uu___is_Cons" + "projection_inverse_BoxBool_proj_0" ], 0, - "dc06aff6f59e2f4b34e302c221859a9c" + "a3e63893bf8d9fccb19b5f22b0516122" ], [ "Steel.Effect.Common.solve_maybe_emps", @@ -3124,7 +3114,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c1d17fc087073249e1602fd2f17edb13" + "68d123ea112e861e3ea525f6714a6652" ], [ "Steel.Effect.Common.norm_return_pre", @@ -3143,7 +3133,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f35625272e4977782b9d9f6735d3a7f2" + "12604766d6b8eaef5b92599f192ea894" ], [ "Steel.Effect.Common.ite_soundness_tac", @@ -3163,7 +3153,7 @@ "projection_inverse_FStar.Tactics.Result.Failed_ps" ], 0, - "dddae41eba15b40987f8a57d47f7bbda" + "343ffc7af1183160892b15b3e36a154e" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Effect.Common.fsti.hints b/lib/steel/Steel.Effect.Common.fsti.hints index 51fd5e516..89eafb62a 100644 --- a/lib/steel/Steel.Effect.Common.fsti.hints +++ b/lib/steel/Steel.Effect.Common.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_05e27cac11d5ba294d48e85e16d78292" ], 0, - "2d6101a3dd2fe304b8ca4567af8e31a3" + "6aa43ff033ef6f3781a498d0eb078ab4" ], [ "Steel.Effect.Common.sel_depends_only_on", @@ -20,7 +20,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.join_preserves_interp" ], 0, - "30da70f96be523fab3dbcdc9c4be05e8" + "3e42fafac8eaa4dd0de4f70dd84f7ef8" ], [ "Steel.Effect.Common.sel_depends_only_on_core", @@ -33,7 +33,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "0b3d94340b38df36c1af1c2d49bdde84" + "97386bc64e54f7498e9132f6e4887cc5" ], [ "Steel.Effect.Common.__proj__VUnit__item___0", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_93368cf460be2295c4e025d7bd1d2312" ], 0, - "d2d3eafcddf43772079562825b477a36" + "4bde466bf7ddfce987f4ef9322ed2538" ], [ "Steel.Effect.Common.__proj__VStar__item___0", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_380577768717aa10698b318ebfe56684" ], 0, - "488d2952e7311518fa10aae05d89c0ab" + "dcbf1cb1f0cc065002c0f1da796bb7c6" ], [ "Steel.Effect.Common.__proj__VStar__item___1", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_380577768717aa10698b318ebfe56684" ], 0, - "957d198536f0339b6590a14fe0d6b5f2" + "cae86d3e08a4a9d992b0318f568e447b" ], [ "Steel.Effect.Common.to_vprop'", @@ -82,7 +82,7 @@ "interpretation_Tm_abs_94d090eee5e8db6e0aafeb40e3c020bd" ], 0, - "eab110ef578a64e2d26c7266831a00b2" + "fc9def351f849a42230de2ba29437295" ], [ "Steel.Effect.Common.hp_of", @@ -100,7 +100,7 @@ "subterm_ordering_Steel.Effect.Common.VStar" ], 0, - "fc8011c734fa52adf9610caf7aff7a70" + "d2b03751e1784e05e79103a844cef9ad" ], [ "Steel.Effect.Common.t_of", @@ -118,7 +118,7 @@ "subterm_ordering_Steel.Effect.Common.VStar" ], 0, - "9a96ab136801a505545ab9804bfd79c8" + "8f216117bc5862877ce30ba6ad696fa3" ], [ "Steel.Effect.Common.sel_of", @@ -164,7 +164,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "fc4b2329c859c41b9fec4064230783f7" + "7cb9776b6e6e8968d718cd378f34eaa3" ], [ "Steel.Effect.Common.can_be_split_trans_rev", @@ -173,7 +173,7 @@ 1, [ "@query" ], 0, - "a8074eb2e10309f07940ea1c8d5ce16f" + "4d5495a3738d3e12e5112dad9b5e486b" ], [ "Steel.Effect.Common.can_be_split_forall_dep_trans_rev", @@ -189,7 +189,7 @@ "interpretation_Tm_abs_b371058decdbff2f75af09b406e587b4" ], 0, - "e536bcf82894572c2c7b8b13e2584f01" + "247a40fb62314e793cd589b9b6aae4d5" ], [ "Steel.Effect.Common.can_be_split_forall_dep_congr_l", @@ -204,7 +204,7 @@ "interpretation_Tm_abs_cba0eadd079db128ee8d5b32e777ba59" ], 0, - "b554643bcf2519ac468a682497831b0a" + "248d3b95923e8605832946ffb0c00337" ], [ "Steel.Effect.Common.can_be_split_forall_dep_congr_r", @@ -219,7 +219,7 @@ "interpretation_Tm_abs_cba0eadd079db128ee8d5b32e777ba59" ], 0, - "7e6a00fdedbe5b57544e913c0c938dc7" + "fed710cf697e9fd368e8a3842b873d6f" ], [ "Steel.Effect.Common.unrestricted_mk_rmem", @@ -231,7 +231,7 @@ "refinement_interpretation_Tm_refine_c1cb6a5ec15d3eb1281bac3fe1ecbc41" ], 0, - "ebc70d881fce1075685f41146b62d52b" + "a06f815c25494fd226cf00f8a7835f4a" ], [ "Steel.Effect.Common.mk_rmem'", @@ -248,7 +248,7 @@ "refinement_interpretation_Tm_refine_c1cb6a5ec15d3eb1281bac3fe1ecbc41" ], 0, - "8a4964a03d4402fc5808d28cf4f4c4bf" + "c8f0cc33c3e83789bc4fdfa658a527bc" ], [ "Steel.Effect.Common.mk_rmem", @@ -257,7 +257,7 @@ 1, [ "@query" ], 0, - "fcf63748d8d367dbb24cd0e57fa6b473" + "c009279d6a10f26ad154d9048e73007f" ], [ "Steel.Effect.Common.reveal_mk_rmem", @@ -278,7 +278,7 @@ "refinement_interpretation_Tm_refine_c1cb6a5ec15d3eb1281bac3fe1ecbc41" ], 0, - "3bb645911096458ccf6db52b721e1c12" + "f0129168808fe2cd837e85dfd4442c7c" ], [ "Steel.Effect.Common.unrestricted_focus_rmem", @@ -290,7 +290,7 @@ "refinement_interpretation_Tm_refine_c1cb6a5ec15d3eb1281bac3fe1ecbc41" ], 0, - "c7cbaa02bfa66a0c8b0175f73456a0fa" + "616d6557a833bbfa97e08daef57c2ae6" ], [ "Steel.Effect.Common.focus_rmem", @@ -299,7 +299,7 @@ 1, [ "@query" ], 0, - "70127e2bdc9b8ae939abbd644d364433" + "586456df85bfda5438ed5cb3e7a4bdbf" ], [ "Steel.Effect.Common.focus_rmem_refl", @@ -330,7 +330,7 @@ "typing_Tm_abs_b4b0eb0a30c8752636aec539d6e3910e" ], 0, - "39e26168aa2169023998b01d79fa49e6" + "6288d8a5d01a9d1280c5905400aa5024" ], [ "Steel.Effect.Common.frame_equalities'", @@ -350,7 +350,7 @@ "subterm_ordering_Steel.Effect.Common.VStar" ], 0, - "e6aa2aa17aec1c28fd885133cbcfb788" + "cf104a92fc19e77ea28c6a4548710234" ], [ "Steel.Effect.Common.lemma_frame_equalities", @@ -359,7 +359,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "f14589243f6b59b943ae46023b18ef11" + "39598cb91455ff8fa88def568e4d81ee" ], [ "Steel.Effect.Common.rm", @@ -375,7 +375,7 @@ "token_correspondence_Steel.Effect.Common.equiv" ], 0, - "e843c1031e7e2264a48ad6e51321d331" + "5f5d1d566a977945b751506c719f1665" ], [ "Steel.Effect.Common.interp_vrefine_hp", @@ -391,7 +391,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "1dac0f1b156aba5440c896a3e28023cf" + "909be4beb1182bb26b89a7d05c33510b" ], [ "Steel.Effect.Common.vrefine_t", @@ -407,7 +407,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "92db670dedf3dfbd9a306bdcb9573533" + "5dce682a7c79cf666684f202e64ab84a" ], [ "Steel.Effect.Common.vrefine_sel_eq", @@ -416,7 +416,7 @@ 1, [ "@query" ], 0, - "3cf79493cc86781f712a2b0bdc70eb1e" + "155986c968b2303f61aea67eb18db867" ], [ "Steel.Effect.Common.interp_vdep_hp", @@ -425,7 +425,7 @@ 1, [ "@query" ], 0, - "49527de20710ab1ccbd05e6ca7d1d921" + "4724d2c0585ab906e18318431f0e551a" ], [ "Steel.Effect.Common.vdep_sel_eq", @@ -434,7 +434,7 @@ 1, [ "@query" ], 0, - "ac3ec4fe09e2677a8b1780bb670e1959" + "0524d9e4ca5900578566917cd79788b0" ], [ "Steel.Effect.Common.vrewrite_sel_eq", @@ -450,7 +450,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "9c02f855b1951d41368282d76c0acbab" + "c4e7862f50bcff9ccc43f13eb7950467" ], [ "Steel.Effect.Common.visit_tm", @@ -482,7 +482,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "079cc5158e6e752c71b4d2cb625a29d4" + "e7fdeb31aaec4ed34afa378ee32a5060" ], [ "Steel.Effect.Common.visit_tm", @@ -501,7 +501,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "705a8ed1fd4a2245f7b664c9741d0ffe" + "5e4d8ac116f09b3d36e767701c7cebb0" ], [ "Steel.Effect.Common.atoms_to_string", @@ -517,7 +517,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "e67bae4f2b90d657b4cf9c24f01e27ee" + "35fcf6574af31573304034886976f5a6" ], [ "Steel.Effect.Common.exp", @@ -531,7 +531,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2205217fde41de7d3659b0f6263b58f2" + "fd24545dcc76f51fd89a2354ed816ade" ], [ "Steel.Effect.Common.__proj__Mult__item___0", @@ -543,7 +543,7 @@ "refinement_interpretation_Tm_refine_e7954ac14aed50076e3fc9ae4af8e986" ], 0, - "b8e7fb81d9d876de9e384f56dc0f332f" + "603149d23b3eac78b4633edca72b2018" ], [ "Steel.Effect.Common.__proj__Mult__item___1", @@ -555,7 +555,7 @@ "refinement_interpretation_Tm_refine_e7954ac14aed50076e3fc9ae4af8e986" ], 0, - "eed3eeee70f12182e0c6b20e34742ae7" + "51a2234485c14f73843d563afcdcbf89" ], [ "Steel.Effect.Common.__proj__Atom__item___0", @@ -567,7 +567,7 @@ "refinement_interpretation_Tm_refine_c885ffea822ff4a58aa0f7bf36140816" ], 0, - "a3d4133d2da517d499517e0258c721d0" + "7e3509813c331a87fae54fad9a9abc0c" ], [ "Steel.Effect.Common.my_assoc", @@ -582,20 +582,20 @@ "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" ], 0, - "63a85af4504c097897944eb59ec586a6" + "24acf05a74b7d22dcfef109b99edd2c6" ], [ "Steel.Effect.Common.get_candidates", @@ -610,7 +610,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "bd30cb1a3a9f8c4f8e94a30fd6b45055" + "7bd25dbc94845a55b84d48cd212650e4" ], [ "Steel.Effect.Common.trivial_cancel", @@ -628,7 +628,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "065407817d643a138fcd7917ff7a2823" + "56d51248d3edcbe525a23b1c7fdc5e9e" ], [ "Steel.Effect.Common.trivial_cancels", @@ -641,7 +641,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "bcda9366319755ca71bc366beb6b58de" + "fedc1e19807082d10a5d4cadaf13e5a3" ], [ "Steel.Effect.Common.print_atoms", @@ -654,7 +654,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6f7d2a08778a500b95ec39a209c6891a" + "37b3d6fb3cee1c93ebd0f55565dbd797" ], [ "Steel.Effect.Common.try_candidates", @@ -667,7 +667,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "44e95abbbf6ae9aecf08a5170154565d" + "2697b21d0d1a512f9f9d6904b817a398" ], [ "Steel.Effect.Common.remove_from_list", @@ -680,7 +680,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e97f35cd122e7f1bed7ee7238f5adea8" + "2f4ce4c70eb227424563d53f5f81f255" ], [ "Steel.Effect.Common.equivalent_lists_once", @@ -693,7 +693,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "69bf19c564a49df692309c6ec26b90d9" + "27f3aa2f11eec13a6478810e17ed2798" ], [ "Steel.Effect.Common.equivalent_lists_once_l2", @@ -706,7 +706,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d4481143e5468e4965ae3e1b65a6a244" + "419e05902905b2f9f8f7da729180d525" ], [ "Steel.Effect.Common.get_head", @@ -719,7 +719,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2456758a3f076468ccf8b37be941d5dc" + "59ea07ce37786bb27fb1be5fa6268186" ], [ "Steel.Effect.Common.is_only_uvar", @@ -739,7 +739,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "32199e3e0b0e9acd45dcfd3a0f5586b7" + "0fb4661d076abda2dcf8b5543e366a9c" ], [ "Steel.Effect.Common.try_unifying_remaining", @@ -752,7 +752,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "731368b1adc06265f3ba33b62418db8b" + "7303a978c778b6e80c734dd63d1d229f" ], [ "Steel.Effect.Common.new_args_for_smt_attrs", @@ -776,7 +776,7 @@ "typing_FStar.Reflection.Types.name" ], 0, - "1bef525089549c90ff4f8833f09790af" + "8d119c8e5fc5635f9f07928d7bbfc650" ], [ "Steel.Effect.Common.unifies_with_all_uvars", @@ -789,7 +789,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d5ac2498600ae803889ac37731c8aa5f" + "5f40a7b520ad904aa885a217fb4f914b" ], [ "Steel.Effect.Common.most_restricted_at_top", @@ -802,7 +802,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a6cd26b5c2fe4cfc6a2cf999bd6635ae" + "875fe6b44d601599e88e2816b7b88635" ], [ "Steel.Effect.Common.list_to_string", @@ -816,7 +816,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0242e7c8a73a77a116c64280c663d827" + "d4a336720cac1e27911aa884d3696121" ], [ "Steel.Effect.Common.mdenote_gen", @@ -841,7 +841,7 @@ "typing_tok_Steel.Effect.Common.Unit@tok" ], 0, - "d162858493f3cdd266bf138d4116dd28" + "7f11e4ab51a3aad33b9277cbd4cfcb6c" ], [ "Steel.Effect.Common.xsdenote_gen", @@ -861,7 +861,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "b0219b717eb534c2cef8c0d66883bfb6" + "ebcdf14089ae256deabf7ec60dafa47a" ], [ "Steel.Effect.Common.my_append", @@ -884,7 +884,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "ebbe92da43f12dfa22ffd8a68141942d" + "3ac4b21092d0cc96804df2d177ef9767" ], [ "Steel.Effect.Common.flatten", @@ -905,7 +905,7 @@ "typing_tok_Steel.Effect.Common.Unit@tok" ], 0, - "0dd6f00dc471a549cb548d76887295b4" + "6fbf0425e14fb04dde01c5db6b64c730" ], [ "Steel.Effect.Common.flatten_correct_aux", @@ -961,7 +961,7 @@ "unit_typing" ], 0, - "fa2028cabf2b3eff44b8349f7f62cd3c" + "6eb8ef5791977e4b574ae7bd10057e70" ], [ "Steel.Effect.Common.flatten_correct", @@ -1018,7 +1018,7 @@ "typing_tok_Steel.Effect.Common.Unit@tok" ], 0, - "d22d841f04759665f3db68f60e7c7947" + "c690446322228c92613ec5e69b699b37" ], [ "Steel.Effect.Common.monoid_reflect", @@ -1030,7 +1030,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b229fe8c81fb40776a3b3dfac5c470f0" + "2d2923ad544c364866ca201ad9d6b878" ], [ "Steel.Effect.Common.my_partition", @@ -1057,7 +1057,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2a599a6201282b5e160370119179d3c5" + "30456999ec4a82908bca74bc4cb7e357" ], [ "Steel.Effect.Common.partition_ext", @@ -1089,7 +1089,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.partition" ], 0, - "94aab91565a8230e8fe0a6750b0f2376" + "94d8815579c314a684f8da62136fec1a" ], [ "Steel.Effect.Common.my_sortWith", @@ -1135,7 +1135,7 @@ "well-founded-ordering-on-nat" ], 0, - "8b23a1606486e3d855043a1ad2900efd" + "d1c4f41d2d81669e1f1dc464601bf255" ], [ "Steel.Effect.Common.sortWith_ext", @@ -1177,7 +1177,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "4b84ed7b02c7b62bc871f0fa00128d76" + "db232fac054607b507e523bdfaf6eccb" ], [ "Steel.Effect.Common.lemma_xsdenote_aux", @@ -1209,7 +1209,7 @@ "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit" ], 0, - "74d6fe84d821d9792612540c8033af7d" + "0e06137c3ade47f00353196facd116b2" ], [ "Steel.Effect.Common.partition_equiv", @@ -1268,7 +1268,7 @@ "unit_inversion", "unit_typing" ], 0, - "2f52ba06db1efacbd815049198b0dedc" + "45633b00d62added0451be3af2ff0367" ], [ "Steel.Effect.Common.sort_correct_aux", @@ -1339,7 +1339,7 @@ "typing_Steel.Effect.Common.sort", "well-founded-ordering-on-nat" ], 0, - "98a647ba0427e4a889e63ba0adf69a59" + "fdf61986bf888e36066134b8d2d51430" ], [ "Steel.Effect.Common.smt_reflexivity", @@ -1348,7 +1348,7 @@ 0, [ "@query" ], 0, - "7325cfcc82e0acb6064bbba2bf90c46c" + "2dbb6daa253b9196c96634a8acfc8ddb" ], [ "Steel.Effect.Common.identity_left_smt", @@ -1357,7 +1357,7 @@ 0, [ "@query" ], 0, - "c07574b0e8456cabc889686a54cc5e34" + "f63f8acc7381f7c8170388c64868e62e" ], [ "Steel.Effect.Common.identity_left", @@ -1366,7 +1366,7 @@ 0, [ "@query" ], 0, - "6d12973c09c394b5dd8518b5b89dc115" + "c494f9bbe6311cf69b04ab6d1632d6af" ], [ "Steel.Effect.Common.identity_right_diff", @@ -1375,7 +1375,7 @@ 0, [ "@query" ], 0, - "0435c49c753aa29307c682d813d9acbc" + "b2c3ce98e79feb83825577e7cf85d0b1" ], [ "Steel.Effect.Common.equivalent_sorted", @@ -1384,7 +1384,7 @@ 0, [ "@query" ], 0, - "2c22cefec98ea24438e0cfa897f85d2c" + "19943e71f20e27d56230ef80f8a43ac1" ], [ "Steel.Effect.Common.where_aux", @@ -1402,7 +1402,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b91a9270df68eaab1d15a27a4d5e3132" + "75f9b774a7b7707ec840842a58b400d3" ], [ "Steel.Effect.Common.fatom", @@ -1417,7 +1417,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cefef636852a5a1defc38d2bd93c6949" + "90d024ef00654ad98eee766468c2ad9c" ], [ "Steel.Effect.Common.convert_map", @@ -1433,7 +1433,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "541528f010ca1d56d0ebfbe37fbf4cc6" + "b047faa5c1e4203e3585751fdf6f382c" ], [ "Steel.Effect.Common.quote_exp", @@ -1454,7 +1454,7 @@ "typing_tok_Steel.Effect.Common.Unit@tok" ], 0, - "b59ba7af769bb29d28681c4c7f0a5e3e" + "4aaad9f164d48c35d1bb76a926ba326f" ], [ "Steel.Effect.Common.quote_atoms", @@ -1470,7 +1470,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "fb8cc346dfd334632fa883c61c66d2fc" + "506962d77d1385033a40d631ddb9a61d" ], [ "Steel.Effect.Common.normal_elim", @@ -1479,7 +1479,7 @@ 1, [ "@query", "equation_Steel.Effect.Common.normal_tac" ], 0, - "2df768d4c1f20f9bc7c18a8fda7bd7e2" + "5192d3be9765c92a61f6e615f18c6aa6" ], [ "Steel.Effect.Common.__proj__Result__item__uu___", @@ -1491,7 +1491,7 @@ "refinement_interpretation_Tm_refine_bd7b365887c1152cb93aee4db5dc733b" ], 0, - "72e61e6bd852e4f3ad36118d7a564113" + "3a0d3985dcb6fc48a77a66011e1b85f4" ], [ "Steel.Effect.Common.inst_bv", @@ -1503,7 +1503,7 @@ "refinement_interpretation_Tm_refine_1dbc034b08f552370bddefc318e374cd" ], 0, - "8a9d6a0733e567d09f1af8fb2b8d3d1c" + "852bb367558a98db07f7a7caf33eeb42" ], [ "Steel.Effect.Common.modus_ponens", @@ -1515,7 +1515,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f22ce1e01739b1fc6484440d1c1a36d5" + "c45d4ad36daddc339d72075e487d688e" ], [ "Steel.Effect.Common.cut", @@ -1524,7 +1524,7 @@ 1, [ "@query" ], 0, - "2c9a84d3d4d9200e0daa884927e7f484" + "0ab9de888309e856d918203783740227" ], [ "Steel.Effect.Common.and_true", @@ -1533,7 +1533,7 @@ 1, [ "@query" ], 0, - "f7128ef123b83829dda29263640b8bf4" + "5a525f4c3a10e497035bd8a95b2ffd36" ], [ "Steel.Effect.Common.__proj__Postpone__item__uu___", @@ -1545,7 +1545,7 @@ "refinement_interpretation_Tm_refine_9999f267b0e4aeddd25af51ee6b7e459" ], 0, - "801ea31005993f9ebe24ca06d1b175ab" + "90fc776db1c55b965339aa6f325c9455" ], [ "Steel.Effect.Common.elim_and_l_squash", @@ -1557,7 +1557,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "2e29653b36be5b4589ba4ac081c42ff1" + "927e9ce2cf3e4077f1ad3b3610095bdc" ], [ "Steel.Effect.Common.elim_and_r_squash", @@ -1569,7 +1569,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "e621eb965bb0fb821f572f19362e6023" + "6f346097ed55ff739e26de495ccb5919" ], [ "Steel.Effect.Common.canon_monoid", @@ -1587,7 +1587,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1cb4dae5d6a5b4d9ed0d9e7579f3611f" + "cba51250cd4f6a1de70a768c097a7d08" ], [ "Steel.Effect.Common.dismiss_all_but_last'", @@ -1600,7 +1600,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4dd0113113bc6406d9b37c63467b0211" + "77691f8a9ce418a95c645321e7c39e3e" ], [ "Steel.Effect.Common.dismiss_non_squash_goals'", @@ -1613,7 +1613,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9535ec0c12940e12c11fe2715babb316" + "bfa71eeec0f17545cecfb3e00c6cc572" ], [ "Steel.Effect.Common.term_mem", @@ -1627,7 +1627,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f9a1043f732f7973deb0dbdfedd83789" + "21a3249534fd4aad7adeb678a5b669bb" ], [ "Steel.Effect.Common.lookup_by_term_attr'", @@ -1635,17 +1635,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.sigelt", - "lemma_FStar.Pervasives.invertOption", "proj_equation_Prims.Cons_hd", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "typing_FStar.Reflection.V2.Builtins.inspect_fv", "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "fd3bf987bb3563d1f689758559fd80e3" + "f1f7c98aa5eff5f8d07ae1b34240a81a" ], [ "Steel.Effect.Common.bring_last_goal_on_top'", @@ -1658,7 +1657,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f031da8e54fd73b6996934fe865d50c1" + "84e9cc117ae757d7c2af1cdbd39bf86a" ], [ "Steel.Effect.Common.extract_contexts", @@ -1684,7 +1683,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "f6aab9577c10dee7170aa3bbac130df8" + "bb0a47d4d8dc2966413fda9697571bdf" ], [ "Steel.Effect.Common.open_existentials", @@ -1697,7 +1696,6 @@ "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.V2.Data.argv", "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "lemma_FStar.Pervasives.invertOption", @@ -1710,7 +1708,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "2c6c1ee01bce37ced8164859af1fdf88" + "828d2bd310db3211153f85de54f917a5" ], [ "Steel.Effect.Common.open_existentials_forall_dep", @@ -1723,7 +1721,6 @@ "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.V2.Data.argv", "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "lemma_FStar.Pervasives.invertOption", @@ -1736,7 +1733,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "e46d42f9be1aeb9f381ac5f4cfd18276" + "5115eafabec068f8436631ecfa610bc6" ], [ "Steel.Effect.Common.solve_indirection_eqs", @@ -1746,7 +1743,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "constructor_distinct_FStar.Tactics.Result.Failed", "data_elim_FStar.Tactics.Result.Success", "data_typing_intro_FStar.Reflection.V2.Formula.False_@tok", @@ -1763,7 +1760,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5fa0e93b014322eb73096e084e9a076b" + "c80bba8f2e1c0465b136258959f4a5f6" ], [ "Steel.Effect.Common.solve_all_eqs", @@ -1785,7 +1782,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "380f6385ae3cc18b0cfbc210bad45d32" + "286d9b5588a0f66eaa5635b669e0c9f1" ], [ "Steel.Effect.Common.solve_return_eqs", @@ -1807,7 +1804,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7e9c774cfd9b047b6d69d4c82b477c2a" + "286d9b5588a0f66eaa5635b669e0c9f1" ], [ "Steel.Effect.Common.term_dict_assoc", @@ -1820,7 +1817,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "dd90caa7d9c123eba0fca3436640fa39" + "c89a6fc2b2fd293a24aab2365b35a6e6" ], [ "Steel.Effect.Common.remove_dups_from_sorted", @@ -1840,7 +1837,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "846502400723c105cdbe221d856fb2a5" + "ea738ce31b970b942ebfa80897348e03" ], [ "Steel.Effect.Common.merge_sorted", @@ -1872,7 +1869,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "b593dcdee88c845d5bc4d3894ad4862f" + "6803216b9a98de7dc34788151c218c5f" ], [ "Steel.Effect.Common.sorted_lists_intersect", @@ -1904,7 +1901,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "f3afa58773fda5bb1fd613709bf28303" + "1c5ea6cb8b96c8c31b3791a242da960f" ], [ "Steel.Effect.Common.compute_guarded_uvars1", @@ -1917,7 +1914,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ca84f5343826f20ebe21141d1110ccf4" + "489b95d2c5a31c630fb070230a043d6f" ], [ "Steel.Effect.Common.compute_guarded_uvars2", @@ -1930,7 +1927,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3ba3753c44e79e0bf80c44f7140b89a6" + "97d7afb396d2925e0fdb0afffa57e657" ], [ "Steel.Effect.Common.compute_guarded_uvars3", @@ -1947,7 +1944,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0a060371afd21d8f8800c952a54e452e" + "18f08c866f6887c22627ccb072373809" ], [ "Steel.Effect.Common.pick_next", @@ -1966,7 +1963,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fda21fab6d22a7b593a4d6cad619641e" + "01b9a115b2821eb4413ae3ff34594804" ], [ "Steel.Effect.Common.pick_next_logical", @@ -1975,7 +1972,7 @@ 2, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "data_elim_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Tactics.Result.__result", @@ -1986,7 +1983,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1bd1e51498603767e356404ba22ceed4" + "d1994a5f11a622170897345dd0cdcde9" ], [ "Steel.Effect.Common.filter_goals", @@ -1996,16 +1993,14 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", - "bool_inversion", "data_typing_intro_FStar.Reflection.V2.Formula.False_@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Tactics.Types.goal", - "projection_inverse_BoxBool_proj_0", "typing_Prims.uu___is_Cons" + "projection_inverse_BoxBool_proj_0" ], 0, - "3bacca70c1d05a8848f6d3a9f7a535ce" + "a3e63893bf8d9fccb19b5f22b0516122" ], [ "Steel.Effect.Common.solve_maybe_emps", @@ -2032,7 +2027,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e07226c630e3703852ee855949e2a85a" + "68d123ea112e861e3ea525f6714a6652" ], [ "Steel.Effect.Common.norm_return_pre", @@ -2051,7 +2046,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e869a94a771990650611b6a4b562b4d8" + "12604766d6b8eaef5b92599f192ea894" ], [ "Steel.Effect.Common.ite_soundness_tac", @@ -2071,7 +2066,7 @@ "projection_inverse_FStar.Tactics.Result.Failed_ps" ], 0, - "56b0132b6a11c3face75366dcf44f495" + "343ffc7af1183160892b15b3e36a154e" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Effect.M.fst.hints b/lib/steel/Steel.Effect.M.fst.hints index fcf959cfc..73c78e8da 100644 --- a/lib/steel/Steel.Effect.M.fst.hints +++ b/lib/steel/Steel.Effect.M.fst.hints @@ -22,7 +22,7 @@ "typing_FStar.Universe.downgrade_val" ], 0, - "8136aa869cc141bcedf4afd9ac17eee8" + "969bcdfa5529c8952ba088127ad3eb78" ], [ "Steel.Effect.M.lift_ens_x", @@ -47,7 +47,7 @@ "typing_FStar.Universe.downgrade_val" ], 0, - "f84f85a04138318f00874c7a295ad7f6" + "02fff0f2c46e9a7ded0024bcd56e5894" ], [ "Steel.Effect.M.lift_m", @@ -67,7 +67,7 @@ "true_interp" ], 0, - "27120032a9bd835ef00302eefd9ac244" + "3ee1cecfa9365f386c2cb60ecea70482" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Effect.fst.hints b/lib/steel/Steel.Effect.fst.hints index b23a0f34c..68997810f 100644 --- a/lib/steel/Steel.Effect.fst.hints +++ b/lib/steel/Steel.Effect.fst.hints @@ -42,7 +42,7 @@ "typing_Steel.Effect.Common.mk_rmem_", "typing_Steel.Memory.join" ], 0, - "1412aaa66b54844d070b3a71b5688c4c" + "57c4de969b849b1c3bd25cbb794fe674" ], [ "Steel.Effect.rmem_depends_only_on", @@ -56,7 +56,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "a00e70d26f2c0158f1cec27cdcb75183" + "5896bd57d3bd7dc9fb97202235154028" ], [ "Steel.Effect.rmem_depends_only_on_post'", @@ -72,7 +72,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "ffb45f8045630d9a94dbc88f71aa5977" + "4e584b1a8872cd57fe6768564219984a" ], [ "Steel.Effect.rmem_depends_only_on_post", @@ -88,7 +88,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "37da75b764079e5f165d0f122e0bf411" + "91e36a195a950c61883dd5a1e844bb67" ], [ "Steel.Effect.req_to_act_req", @@ -127,7 +127,7 @@ "token_correspondence_Steel.Memory.join" ], 0, - "8d367974025a942385fd244dd23858a5" + "3b9106f571599cac3df32b26c52140ee" ], [ "Steel.Effect.ens_to_act_ens", @@ -173,7 +173,7 @@ "typing_Tm_abs_43476be6e2b528121aa9b342a6d30d83" ], 0, - "af0e333350994aec7d476f58da66c423" + "4683d0980404316fd45b1d61633a2e75" ], [ "Steel.Effect.reveal_focus_rmem", @@ -190,7 +190,7 @@ "token_correspondence_Steel.Effect.Common.focus_rmem" ], 0, - "6ebc9a96fd215118be50cce522a2b7d5" + "ec7be2156d2a5612d2d105226d795ec7" ], [ "Steel.Effect.focus_is_restrict_mk_rmem", @@ -218,7 +218,7 @@ "refinement_interpretation_Tm_refine_db7ac93a054cb38c020ad5c8d7ad850a" ], 0, - "72264030f76b9af5ee4391f11b5a7b57" + "1a47e82cac55977fb27a835b949d1883" ], [ "Steel.Effect.focus_focus_is_focus", @@ -245,7 +245,7 @@ "refinement_interpretation_Tm_refine_db7ac93a054cb38c020ad5c8d7ad850a" ], 0, - "e128fe01ae88447765a036b54da392b7" + "ff8f272b7c56d33052cf177a4045647b" ], [ "Steel.Effect.focus_replace", @@ -274,7 +274,7 @@ "refinement_interpretation_Tm_refine_db7ac93a054cb38c020ad5c8d7ad850a" ], 0, - "8c547eac8a557c201a5c2fc90f9917cb" + "a31cf5466a049ed9fd74fdb22a1bc996" ], [ "Steel.Effect.can_be_split_3_interp", @@ -286,7 +286,7 @@ "lemma_Steel.Memory.reveal_equiv", "typing_Steel.Memory.star" ], 0, - "b413a58838cba6e0c3ffaede61acca6b" + "668a9c398e7257d107cc924d06e07412" ], [ "Steel.Effect.return_ens", @@ -299,7 +299,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "d593b86e457d7a9b09f6cb602c483323" + "643165f6f71f54ac5480346a186d3e88" ], [ "Steel.Effect.nmst_get", @@ -308,7 +308,7 @@ 1, [ "@query" ], 0, - "27aa14e303509f3c4c0783026657cd5e" + "44d1b38d87ddd14c21ac8da79e246b4c" ], [ "Steel.Effect.lemma_frame_equalities_refl", @@ -327,7 +327,7 @@ "subterm_ordering_Steel.Effect.Common.VStar" ], 0, - "ca18219e6136f12f7c2e91bcbdbf315e" + "de35faaa6222655d40d859f5b456fc8f" ], [ "Steel.Effect.return_", @@ -359,7 +359,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core" ], 0, - "72903857e5e8197d713a67b3184d5293" + "1fba4835e74d6d50c37712e0d711713d" ], [ "Steel.Effect.bind_req", @@ -381,7 +381,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bfa8a3dbbb6b15ccf1af6383e04713fd" + "fd222eb435276f400c51bac855cd4329" ], [ "Steel.Effect.bind_ens", @@ -408,7 +408,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fcc2f9b1a1ad8e14d3d166ac106951ba" + "fcb0c20b393c54790d9d9bac77f1320a" ], [ "Steel.Effect.req_frame'", @@ -417,7 +417,7 @@ 0, [ "@query" ], 0, - "681a91267ab1b2747e0603e715a9ae1e" + "76768f80105b6a73bf96b268cc82a70b" ], [ "Steel.Effect.req_frame", @@ -435,7 +435,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "8551bc7e29343f49a6355b7163ba2edd" + "60fe54b1d5b472ec041ece32a38adc94" ], [ "Steel.Effect.lemma_frame_opaque_refl", @@ -444,7 +444,7 @@ 0, [ "@query", "true_interp" ], 0, - "e2a54e3cf80356e4165b6d64e56f9fba" + "cf53a481889876afc63e6272a4e5812c" ], [ "Steel.Effect.frame00", @@ -460,7 +460,7 @@ "lemma_Steel.Effect.Common.can_be_split_star_r" ], 0, - "2e01b1501d5432cd4681baa90d986a18" + "178dbb3b1ca129fe3cabee6249f566ef" ], [ "Steel.Effect.frame00", @@ -564,7 +564,7 @@ "typing_Steel.Semantics.Instantiate.state", "unit_typing" ], 0, - "55a5ad837439416ae16a47b57429c81c" + "88d87a4e77e9a970a25ba31192990c43" ], [ "Steel.Effect.norm_repr", @@ -586,7 +586,7 @@ "token_correspondence_Steel.Effect.req_to_act_req" ], 0, - "40c11d6f9dc41a6f02fd054d0edac457" + "8fb6d3149a5fa38610b402700743187e" ], [ "Steel.Effect.bind_req_opaque", @@ -608,7 +608,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f5b3f6860a1c7709a1ae39bbb75b1c1c" + "1cbe8494d45f767d56c2e6dc550c03b7" ], [ "Steel.Effect.bind_ens_opaque", @@ -635,7 +635,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3511bddd85a85ed05ff91f07fac10ada" + "c02e3507a155eb3dd2e9a0138b13f34e" ], [ "Steel.Effect.bind_opaque", @@ -651,8 +651,8 @@ "Steel.Effect_interpretation_Tm_arrow_72f3e4c51df6599e3ca4aae4dca47513", "Steel.Effect_interpretation_Tm_arrow_a19bbba36abc781e45cbdb382b291379", "Steel.Memory_interpretation_Tm_arrow_a3f4d7c1aacb7394bbaa5f9eea315b24", - "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_1d2260ab5bf91376903bf3548d96cbee", - "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_8e75039bcf6d3f223cc623c33ba7d626", + "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_20a170eb99562942a92592ed1d60d1d4", + "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_287be6b6c40896ab87f23f8edadd951b", "equation_Prims.squash", "equation_Steel.Effect.Common.can_be_split_forall", "equation_Steel.Effect.Common.can_be_split_forall_dep", @@ -673,8 +673,8 @@ "function_token_typing_Steel.Memory.core_mem", "function_token_typing_Steel.Memory.interp", "function_token_typing_Steel.Memory.star", + "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core", "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__interp", - "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__locks_invariant", "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star", "interpretation_Tm_abs_20217dd7560168b49fa5c668a501c19f", "interpretation_Tm_abs_2ce1214044eee812134d466a3fd29cb5", @@ -692,16 +692,12 @@ "l_quant_interp_f4c8a2275016302d59a1079bd443743c", "lemma_Steel.Effect.Common.can_be_split_star_l", "lemma_Steel.Effect.Common.can_be_split_star_r", - "lemma_Steel.Memory.affine_star_smt", - "lemma_Steel.Memory.core_mem_interp", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_core", - "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_hprop", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_interp", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_locks_invariant", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_mem", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_star", "projection_inverse_Steel.Semantics.Hoare.MST.Mkst0_core", - "projection_inverse_Steel.Semantics.Hoare.MST.Mkst0_hprop", "projection_inverse_Steel.Semantics.Hoare.MST.Mkst0_interp", "projection_inverse_Steel.Semantics.Hoare.MST.Mkst0_locks_invariant", "projection_inverse_Steel.Semantics.Hoare.MST.Mkst0_mem", @@ -718,15 +714,13 @@ "token_correspondence_Steel.Memory.star", "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core", "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__locks_invariant", - "typing_Steel.Effect.Common.hp_of", - "typing_Steel.Effect.Common.star", "typing_Steel.Memory.core_mem", - "typing_Steel.Memory.star", + "typing_Steel.Effect.Common.star", "typing_Steel.Semantics.Instantiate.state", "typing_Tm_abs_96a8524c21fcb386a47afb4b5e90a1c5", "typing_Tm_abs_cba0eadd079db128ee8d5b32e777ba59" ], 0, - "d776b19879b6cead976770e6b225f9fd" + "dbd50e8e3c729decc43ababf012cc549" ], [ "Steel.Effect.bind", @@ -738,7 +732,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "abb7c90799f909b697e6cefd0f75d991" + "8b768b6e2740a1bc41ad4db356fd1e9d" ], [ "Steel.Effect.subcomp_pre", @@ -760,7 +754,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3a5555a66df8c8a2a2538b30c2f10f66" + "be14b334f606648ad5d185bb3d0db25a" ], [ "Steel.Effect.subcomp_pre_opaque", @@ -782,7 +776,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f367a9ef4ed99677cd86e989b19fe877" + "36c375b7fbeb963953720f2e50ea02ef" ], [ "Steel.Effect.subcomp_opaque", @@ -865,7 +859,7 @@ "typing_Tm_abs_da13d0d644788bcc4db60075783914b3" ], 0, - "a4185b79b535e07a7e84d21facfb5725" + "8ded7b3de7eb7d5cf210adb43f617142" ], [ "Steel.Effect.lemma_rewrite", @@ -874,7 +868,7 @@ 0, [ "@query" ], 0, - "22ee8772e1eeb121154b07de053588e3" + "abb1d08ecda7b7a629c11bd281728535" ], [ "Steel.Effect.lemma_norm_opaque", @@ -883,7 +877,7 @@ 0, [ "@query" ], 0, - "81073e24d8bf8252dd695b9616e9f008" + "e24a1e23f535e4bf7a349e5ad644ba04" ], [ "Steel.Effect.lemma_subcomp_pre_opaque_aux1", @@ -906,7 +900,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "15b31986115171c1632b6ab7af821439" + "6f8536aed06049e5d6a704f7cd51dade" ], [ "Steel.Effect.lemma_subcomp_pre_opaque_aux2", @@ -930,7 +924,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "72d612175308d1de652f517603e26dbe" + "f364450bf5790df7681522a51dbe5536" ], [ "Steel.Effect.lemma_subcomp_pre_opaque", @@ -939,7 +933,7 @@ 0, [ "@query" ], 0, - "9cb774bc07ddbf84f0843d59d73c01ad" + "fc6e985b03e69e1b49b1b28b3cb40893" ], [ "Steel.Effect.subcomp", @@ -951,7 +945,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "be1bb9f5b11bbb3def4dca61977a24b2" + "9f53bf203475b6d3221b3fe0b64ab7e7" ], [ "Steel.Effect.if_then_else_req", @@ -966,7 +960,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1311f5409667f9d2ae3b8a844aea6335" + "8a6aac7f917f7a2ed94573947c01bcf0" ], [ "Steel.Effect.if_then_else_ens", @@ -987,7 +981,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8e616ea7846afec7f20bf33445940a9c" + "7f451f03c7538bff5ec0778f5caafb52" ], [ "Steel.Effect.SteelBase", @@ -996,7 +990,7 @@ 0, [ "@query" ], 0, - "474b719803df38fd8a0ea025ab518f59" + "51efe828923c4afabdf66d32109d1b7c" ], [ "Steel.Effect.SteelBase", @@ -1008,7 +1002,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3737d8bd4c0731d9c0ba7fe48579412d" + "b06921cffdc844c82133ab7b823e33a8" ], [ "Steel.Effect.SteelBase", @@ -1020,7 +1014,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "56aaed2f98dddbf5ad72f493c918b409" + "029f5479b684e6fb1067f18c9e2bc73f" ], [ "Steel.Effect.SteelBase", @@ -1032,7 +1026,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "e8fd63c73447c4127ad602aab8e76179" + "00b044d14acb8b1cffa080f84da68d9c" ], [ "Steel.Effect.SteelBase", @@ -1044,7 +1038,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6f12830b9c4a4c20e7167a1ce793d002" + "67de420f187d946b92f42caa48930b2b" ], [ "Steel.Effect.bind_pure_steel_", @@ -1091,7 +1085,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "5a7569a286fbbb50188c84b354007059" + "0a6f2ee0421527095d05499061fbaae5" ], [ "Steel.Effect.bind_div_steel", @@ -1123,7 +1117,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core" ], 0, - "a6d2e19582d110d6591dc75659bf2ce3" + "2aa6f90e9a535009ca3b91fd4a60183a" ], [ "Steel.Effect.par0", @@ -1206,7 +1200,7 @@ "typing_Tm_abs_2a0df6dfb08f9ea718b7ce324b05aa46" ], 0, - "37bfc53309b5a19a1a5df0d519762ea7" + "8852a684f6567269a40726ad14c6aabb" ], [ "Steel.Effect.action_as_repr", @@ -1282,7 +1276,7 @@ "typing_Tm_abs_8e91adfb0b85981739f6d6f97814fe7f" ], 0, - "6f2248291569cd6d3b5343afeb6c4857" + "0325075fae5695161e70eced63a42916" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Effect.fsti.hints b/lib/steel/Steel.Effect.fsti.hints index 9b07d847f..154dd0b4c 100644 --- a/lib/steel/Steel.Effect.fsti.hints +++ b/lib/steel/Steel.Effect.fsti.hints @@ -12,7 +12,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "239b32e5922d2ad7cf016104f87d7bb7" + "1aa26fc8c94f87f2ac71d14137c02fe8" ], [ "Steel.Effect.bind_req", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6dd5cdc665f2e7667d7a150bd6b560ce" + "a105abb7befacad9235eadc52fac3703" ], [ "Steel.Effect.bind_ens", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c76e56ab890a70c383bd6e77c643a7a2" + "fcb0c20b393c54790d9d9bac77f1320a" ], [ "Steel.Effect.subcomp_pre", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7be39aeff3058886fbec047e0ffb7867" + "bad164f339e410808a8716bb212a657f" ], [ "Steel.Effect.if_then_else_req", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f4329f61b454ba78052949712d53b1f1" + "381d6e328b6cf66794b018fdcabd5c8c" ], [ "Steel.Effect.if_then_else_ens", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "05bf0a8083c2297878b1ffcc5e83ec55" + "6915a2ade151d79bcb771222d79656b6" ], [ "Steel.Effect.SteelBase", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "349c2270e9c06c42dec1049ce1cb42b9" + "8821a36111e1f98b1ae01d0c1f07958c" ], [ "Steel.Effect.SteelBase", @@ -140,7 +140,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "44065d2bbbed467de76989b214de0439" + "689d2ffcee0789ab3453ef12d74cf416" ], [ "Steel.Effect.SteelBase", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "01c788ddc01eca4de694d97121f5f159" + "e3557a54d7756f91f42f9b93a9e6743f" ], [ "Steel.Effect.SteelBase", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "45c657dac4fc38f1cc807dc323d1aefc" + "8d5f93a0752411b53f9c68aabb3560e2" ], [ "Steel.Effect.SteelBase", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "09cd4c1ff6c73386bf8ec48e960f28d7" + "13bddf03a70a4d2d463c28f4ac65f904" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.FractionalAnchoredPreorder.fst.hints b/lib/steel/Steel.FractionalAnchoredPreorder.fst.hints index d91dec1fa..0b5c963a2 100644 --- a/lib/steel/Steel.FractionalAnchoredPreorder.fst.hints +++ b/lib/steel/Steel.FractionalAnchoredPreorder.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_e357af150cfcd9684beb853ff130a9db" ], 0, - "e1c3457677d2738651d9c26887f96353" + "a75739e5cbf2d7a58ba78a3cacd1c36e" ], [ "Steel.FractionalAnchoredPreorder.initial_value", @@ -46,7 +46,7 @@ "true_interp" ], 0, - "1200ea70bac4d8eecf2f844498ad1404" + "6c69d48fd65d51081d736809594ee456" ], [ "Steel.FractionalAnchoredPreorder.__proj__Owns__item___0", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_fd8ddb33aa4a2f310fec06ee36e08b23" ], 0, - "da96e8d224a041a6a504635ae6917f23" + "c0a4532ba0f3870d0d1627073be6b8d7" ], [ "Steel.FractionalAnchoredPreorder.perm_opt_composable", @@ -74,7 +74,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "738618b3f642a20ceeff5591e6b7f537" + "210d69a8742554ef026a84f86786f51d" ], [ "Steel.FractionalAnchoredPreorder.compose_perm_opt", @@ -90,7 +90,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "9f738ff09303703fb0ee7177db4664dd" + "6becdf9706004264f87bdbf94fedee00" ], [ "Steel.FractionalAnchoredPreorder.compose_permissions", @@ -115,7 +115,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "2fcb1f45a72c573c8c7422783c0af63c" + "8cd0c4e93cddcfb5eb3afcfae1d5e815" ], [ "Steel.FractionalAnchoredPreorder.avalue_composable", @@ -138,7 +138,7 @@ "typing_Steel.FractionalAnchoredPreorder.has_some_ownership" ], 0, - "6642c93e37b5386a0c809059dbfea949" + "a5b65e7b4360ace443490fd03d39b2c2" ], [ "Steel.FractionalAnchoredPreorder.composable", @@ -200,7 +200,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "7f155ecb8ba8694d78fc1672f8a06900" + "3500082bc97d5917b6e10e6cd28eb9df" ], [ "Steel.FractionalAnchoredPreorder.compose_avalue", @@ -271,7 +271,7 @@ "typing_Steel.Preorder.vhist" ], 0, - "2bee2c3564aab7ccf98602ecf0657178" + "a5dc002dfba7f804c21b794181fb8643" ], [ "Steel.FractionalAnchoredPreorder.compose_avalue_comm", @@ -352,7 +352,7 @@ "typing_Steel.Preorder.p_op", "typing_Steel.Preorder.vhist" ], 0, - "3a009d06592881facdd183284634d1a0" + "59999b7d381f91e54745c749ecc7d2d2" ], [ "Steel.FractionalAnchoredPreorder.avalue_composable_assoc_l", @@ -361,7 +361,7 @@ 2, [ "@query" ], 0, - "952b50811ea79a1ed39acb468d64a8e4" + "e7cc5b0621b518818f1671196887bc05" ], [ "Steel.FractionalAnchoredPreorder.avalue_composable_assoc_l", @@ -470,7 +470,7 @@ "typing_Steel.Preorder.vhist" ], 0, - "23496efa50b2a6ee50ae8dfc23aa3586" + "45ae25ac87f4537bbcbc8f2578e933fd" ], [ "Steel.FractionalAnchoredPreorder.compose_avalue_assoc_l", @@ -479,7 +479,7 @@ 2, [ "@query" ], 0, - "effd67e284581e8badad03e8fee82d2e" + "a9c16dc55841cf3409b57ed910a7446f" ], [ "Steel.FractionalAnchoredPreorder.compose_avalue_assoc_l", @@ -569,7 +569,7 @@ "typing_Steel.Preorder.p_op", "typing_Steel.Preorder.vhist" ], 0, - "3836e2eef3e9091cda1519b381130bd3" + "f1233fb4f6a2140441134ae0a54ef907" ], [ "Steel.FractionalAnchoredPreorder.avalue_composable_assoc_r", @@ -578,7 +578,7 @@ 2, [ "@query" ], 0, - "abbac0f422a115458d4e0ce308d8e232" + "2ef2722db633cc822d37684f8423f245" ], [ "Steel.FractionalAnchoredPreorder.avalue_composable_assoc_r", @@ -687,7 +687,7 @@ "typing_Steel.Preorder.vhist" ], 0, - "9f929b3b779419f460029906684f7b9f" + "479b252659a3877e6cb5db44250a5517" ], [ "Steel.FractionalAnchoredPreorder.compose_avalue_assoc_r", @@ -696,7 +696,7 @@ 2, [ "@query" ], 0, - "a56031d5c9e40d3d733808a6ad8d3275" + "ce3763ca1905c78aff45294ec45ed6ea" ], [ "Steel.FractionalAnchoredPreorder.compose_avalue_assoc_r", @@ -783,7 +783,7 @@ "typing_Steel.Preorder.p_op", "typing_Steel.Preorder.vhist" ], 0, - "c8bf025b9366d42103cf4182cfdbb608" + "fc30c78b5e92a5480b6fc5fa19af3a64" ], [ "Steel.FractionalAnchoredPreorder.compose", @@ -811,7 +811,7 @@ "token_correspondence_Steel.FractionalAnchoredPreorder.composable" ], 0, - "8e396489e110a3b68b8835748252e9a0" + "8db172de7c2e72b6080757e89f04676a" ], [ "Steel.FractionalAnchoredPreorder.composable_assoc_r", @@ -860,7 +860,7 @@ "true_interp" ], 0, - "3513c98820a0aadb39e4b345f4f39f43" + "e41cb018b78a6b99bf2e22a1cafa87e6" ], [ "Steel.FractionalAnchoredPreorder.composable_assoc_l", @@ -908,7 +908,7 @@ "true_interp" ], 0, - "caed45410c9c5b32bba44bd6ceb681b3" + "5807e8f74a256e00e6dbbb180feb1abc" ], [ "Steel.FractionalAnchoredPreorder.full_knowledge", @@ -923,7 +923,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b3d1ea027e928dafb3820368af403117" + "1401ccacfaac1e6ccf86035d9a5805cf" ], [ "Steel.FractionalAnchoredPreorder.pcm", @@ -970,7 +970,7 @@ "true_interp" ], 0, - "63bbded5b21e6df0ca2da6269b20a4ae" + "955d0fe10c521e1252da6a6e3877fc91" ], [ "Steel.FractionalAnchoredPreorder.avalue_update", @@ -992,7 +992,7 @@ "refinement_interpretation_Tm_refine_78ac283fce1cd27d3e9ce0303f136043" ], 0, - "6cbee05bcc89f90458054f520c7e107e" + "7ad30dc0beba8c2476ab3c82425d86cb" ], [ "Steel.FractionalAnchoredPreorder.update_hist", @@ -1128,7 +1128,7 @@ "typing_Steel.Preorder.vhist" ], 0, - "8cf1a1ff610c3acec423b4a9e10b98cb" + "b1eb5994b6637e28376fd84bfe088bd0" ], [ "Steel.FractionalAnchoredPreorder.avalue_update_value", @@ -1157,7 +1157,7 @@ "token_correspondence_Steel.Preorder.extends_" ], 0, - "aeb757ecf18897298ea9eabd1e48a53b" + "f0f82a3486d357f4a592b92b2066de0d" ], [ "Steel.FractionalAnchoredPreorder.update_value", @@ -1178,7 +1178,7 @@ "refinement_interpretation_Tm_refine_d994c5b8ab6b6d0f56b0cc87c029406f" ], 0, - "686371bd5dba64a07b3b5022fd09325f" + "35f2c1c9ddbaa2d882c1b02070944658" ], [ "Steel.FractionalAnchoredPreorder.avalue_anchored_update", @@ -1208,7 +1208,7 @@ "typing_Steel.FractionalAnchoredPreorder.avalue_perm" ], 0, - "0f929d723f3a7e07ad5d923a03e75469" + "fe05fd7fa24332ce2b15147e9c8557e6" ], [ "Steel.FractionalAnchoredPreorder.update_anchored_hist", @@ -1354,7 +1354,7 @@ "typing_Steel.Preorder.p_op", "typing_Steel.Preorder.vhist" ], 0, - "bdb7934edc51568589d3a7b180b48cee" + "352620b7bf47be656821d162ed427bb6" ], [ "Steel.FractionalAnchoredPreorder.avalue_update_anchored_value", @@ -1383,7 +1383,7 @@ "token_correspondence_Steel.Preorder.extends_" ], 0, - "03c3a54c2c4fc669cbb55f42299caf0c" + "a74ee825389601f1429cdceaa385653d" ], [ "Steel.FractionalAnchoredPreorder.update_anchored_value", @@ -1404,7 +1404,7 @@ "refinement_interpretation_Tm_refine_be8b2216ddd78616d1fcd23ce1a9765e" ], 0, - "7bba0965eb59135432d0d2bc64b7098e" + "130cd697dbb5133c25d88d313d611ebd" ], [ "Steel.FractionalAnchoredPreorder.snapshot", @@ -1425,7 +1425,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "c3f1f3f302b7afe3924a7789c1a78815" + "3c674e14d48d7ddcdbd0f75c41c00fb4" ], [ "Steel.FractionalAnchoredPreorder.snapshot_lemma", @@ -1492,7 +1492,7 @@ "typing_Steel.FractionalAnchoredPreorder.has_some_ownership" ], 0, - "5e8388a02c3b5488e13b595a046f2cb9" + "7d44267dd2655515a7eb5a0faa03dc1c" ], [ "Steel.FractionalAnchoredPreorder.snapshot_dup_lemma", @@ -1545,7 +1545,7 @@ "typing_Steel.FractionalAnchoredPreorder.avalue_val" ], 0, - "dbb866a4d1b1a4a4fc9b42e774291c0c" + "cc7bbc8a1b99dd4a34537d579a781cfa" ], [ "Steel.FractionalAnchoredPreorder.anchored_snapshot", @@ -1586,7 +1586,7 @@ "typing_Steel.Preorder.vhist" ], 0, - "7df31902e66c49735b9f2eee48b159c7" + "79852be447e56109f4231a3ab54fc63b" ], [ "Steel.FractionalAnchoredPreorder.anchored_snapshot_lemma", @@ -1682,7 +1682,7 @@ "typing_Steel.Preorder.vhist", "unit_typing" ], 0, - "eb6141ba133c77a972a6e675eea7152b" + "6c2babda6cc78bbdd6cdc5c5da72cd1b" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.FractionalPermission.fst.hints b/lib/steel/Steel.FractionalPermission.fst.hints index 369ff3ab9..4d1ef77f5 100644 --- a/lib/steel/Steel.FractionalPermission.fst.hints +++ b/lib/steel/Steel.FractionalPermission.fst.hints @@ -18,7 +18,7 @@ "typing_Steel.FractionalPermission.__proj__MkPerm__item__v" ], 0, - "7d040282b3f69dc3963be1832d7ffb16" + "5f2415001c02e98c2a1250932b18b276" ], [ "Steel.FractionalPermission.sum_perm", @@ -37,7 +37,7 @@ "typing_Steel.FractionalPermission.__proj__MkPerm__item__v" ], 0, - "de7125e0736e876e2a69f7a721d0969b" + "0626773e799b552769715c3493f626f7" ], [ "Steel.FractionalPermission.full_perm", @@ -52,7 +52,7 @@ "projection_inverse_BoxReal_proj_0" ], 0, - "fb13db9d3672357230d396ebf07deda6" + "bb07bb447880f3a9d290dac7454ff84d" ], [ "Steel.FractionalPermission.sum_halves", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_3f54e9b64bb1cf73ff37c7c9d439498d" ], 0, - "b38599f8176963cb1c57c7045ceb6943" + "12050d5b48143a41a0a88ce86d9115b3" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.GhostMonotonicHigherReference.fst.hints b/lib/steel/Steel.GhostMonotonicHigherReference.fst.hints index beb7e75c7..7a8df77ac 100644 --- a/lib/steel/Steel.GhostMonotonicHigherReference.fst.hints +++ b/lib/steel/Steel.GhostMonotonicHigherReference.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_e4845a01f12392be383fb566ef9a67d2" ], 0, - "ac32d254a0429f3172302c613f6c49f2" + "f62cc95db10da7d92e388829fe9f35c5" ], [ "Steel.GhostMonotonicHigherReference.alloc", @@ -94,7 +94,7 @@ "typing_Steel.Preorder.unit_history" ], 0, - "7bcd76087834fa17f5b2e83ea83f2f25" + "f7057021e36f86ce34bb5d9fe2c4a362" ], [ "Steel.GhostMonotonicHigherReference.extract_pure", @@ -103,7 +103,7 @@ 1, [ "@query" ], 0, - "08b30fa3b3a7c12b3e06a6315c0fcff3" + "52f611d7ac81fe1c643713825bf2220a" ], [ "Steel.GhostMonotonicHigherReference.elim_pure", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_2167ff7cbe93b5b0478b5a301a0c3372" ], 0, - "366d5bafefab94a7baf688c8fd4d3f0f" + "d16ff4183395db122731f8ee1818947c" ], [ "Steel.GhostMonotonicHigherReference.write", @@ -234,7 +234,7 @@ "typing_Steel.Preorder.uu___is_Current" ], 0, - "5bec206fcaf144224e21d161f64e8603" + "daa2bef9d9a41e99f0009ff13615dbe6" ], [ "Steel.GhostMonotonicHigherReference.get_squash", @@ -246,7 +246,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4e21bb6dc83fab357c9f3a67d7c1c24f" + "76e11520d35a9636dfb87c119629c3de" ], [ "Steel.GhostMonotonicHigherReference.witness", @@ -312,7 +312,7 @@ "typing_Steel.Preorder.p_op", "typing_Steel.Preorder.uu___is_Current" ], 0, - "ce9daa163bd586ef5834bfffffd76725" + "3b0d86a53dfbbfc47a79fa6134362f25" ], [ "Steel.GhostMonotonicHigherReference.recall", @@ -375,7 +375,7 @@ "typing_Steel.Preorder.p_op" ], 0, - "a287f3df94d853da0d4f63be237969b0" + "6ab5cd80f37fa603e90dcdd9d324b97b" ], [ "Steel.GhostMonotonicHigherReference.elim_pts_to", @@ -393,7 +393,7 @@ "typing_Steel.GhostMonotonicHigherReference.pts_to_" ], 0, - "731f45b13b06d330cc68836d257ac46c" + "283ca487dd352d1560d2c10e00826d6c" ], [ "Steel.GhostMonotonicHigherReference.intro_pts_to", @@ -402,7 +402,7 @@ 1, [ "@query" ], 0, - "23706c03569e150fb81c07d89d6d6d69" + "d07478cd8703d53e878acd41d945a6c0" ], [ "Steel.GhostMonotonicHigherReference.share", @@ -439,7 +439,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.Preorder.uu___is_Current" ], 0, - "8b738cf2197d95280ae464fe0702d588" + "d229fd2aa4d4892c6254e2e395f60de0" ], [ "Steel.GhostMonotonicHigherReference.gather", @@ -480,7 +480,7 @@ "token_correspondence_Steel.Preorder.history_compose" ], 0, - "9c7cbef5deefe515bcffd3e3b95c804e" + "3307472cb6978b42b0b955de82764c3a" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.GhostMonotonicReference.fst.hints b/lib/steel/Steel.GhostMonotonicReference.fst.hints index fc47597f3..859559cfb 100644 --- a/lib/steel/Steel.GhostMonotonicReference.fst.hints +++ b/lib/steel/Steel.GhostMonotonicReference.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.Universe.downgrade_val" ], 0, - "da2836d08c60c5a2df87200b5f0a800a" + "11bb920f0debcdd691826eb35142913d" ], [ "Steel.GhostMonotonicReference.alloc", @@ -28,7 +28,7 @@ "equation_Steel.GhostMonotonicReference.pts_to_sl" ], 0, - "638c476127c9fb3b2a174aad98816927" + "74ab2800733756bb30f19a01d0152a25" ], [ "Steel.GhostMonotonicReference.write", @@ -44,7 +44,7 @@ "lemma_FStar.Universe.downgrade_val_raise_val" ], 0, - "1f1d3b725e5bd5311e3e2ed3b9398ac1" + "5a305cc46c0bf7343e8760b14fce8237" ], [ "Steel.GhostMonotonicReference.witness", @@ -66,7 +66,7 @@ "typing_FStar.Ghost.reveal", "typing_FStar.Universe.downgrade_val" ], 0, - "a95e838bb78bf04b769912546e2c29f4" + "842972abee19def87e6d7c998fea7efa" ], [ "Steel.GhostMonotonicReference.recall", @@ -81,7 +81,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "48a684fe2ce67b547561a44050047143" + "d5acac17ff6cc1c1734758966fe06cb3" ], [ "Steel.GhostMonotonicReference.share", @@ -90,7 +90,7 @@ 1, [ "@query" ], 0, - "7ea6f6311866e16906f8a457e96f3a69" + "bc4d48c70251b3ea627e6edd97be1cc1" ], [ "Steel.GhostMonotonicReference.gather", @@ -99,7 +99,7 @@ 1, [ "@query" ], 0, - "decfab0b343459f404f071bebfece934" + "48c562a9a7a21a524368436daf38e4f1" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.GhostPCMReference.fst.hints b/lib/steel/Steel.GhostPCMReference.fst.hints index 785d3a2b1..171634734 100644 --- a/lib/steel/Steel.GhostPCMReference.fst.hints +++ b/lib/steel/Steel.GhostPCMReference.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "44b27e7872ec6fefab50d679d432d946" + "ec4e1f3e1f2172959ea949f4dcf589c1" ], [ "Steel.GhostPCMReference.read", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_38139a80be7280e4f39fe8cad1b7e3bc" ], 0, - "4141e452ebc48d7f4a4be09c03e56269" + "b2e24c407fc0c15cede482d95697000e" ], [ "Steel.GhostPCMReference.write", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "06b76682327b53f0701a6fccc0b0068f" + "92745096d893af6281c13159930779bf" ], [ "Steel.GhostPCMReference.upd_gen", @@ -38,7 +38,7 @@ 1, [ "@query" ], 0, - "73709118fb33129cc89a6dcdb39bfb6b" + "fa8facf1c01100cf5e2dcb7573b517ec" ], [ "Steel.GhostPCMReference.share", @@ -47,7 +47,7 @@ 1, [ "@query" ], 0, - "52d8dbfb50b0a3838291b0f76fd35eac" + "6145efd6771b1a34dced51c13451f454" ], [ "Steel.GhostPCMReference.share", @@ -56,7 +56,7 @@ 1, [ "@query" ], 0, - "45e41f1ca0060831758a7ea69c116a84" + "3d57cf7e315dd9d14b497227ad049660" ], [ "Steel.GhostPCMReference.gather", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_2312a63c4e89fea10d3f55e0bd838c5e" ], 0, - "c82620ef2c9c3a01d446dd739a2cb391" + "9210de64d85e04b1902569c05054fb14" ], [ "Steel.GhostPCMReference.gather", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_2312a63c4e89fea10d3f55e0bd838c5e" ], 0, - "3bd034903dbc4e3accd48af5f3778053" + "23d2b8fe5ef589ca5c2116da5a4cee72" ], [ "Steel.GhostPCMReference.witness", @@ -93,7 +93,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fbeb3be24270acfc6cec4e38f9169f2c" + "5300655251a0883a603fd44251743db9" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.GhostPCMReference.fsti.hints b/lib/steel/Steel.GhostPCMReference.fsti.hints index d6b494047..3f7c2e0a1 100644 --- a/lib/steel/Steel.GhostPCMReference.fsti.hints +++ b/lib/steel/Steel.GhostPCMReference.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "541617c9a4c65002adfdafe932ad4d8b" + "ffa4a37d95e9c55357071179c6ff355c" ], [ "Steel.GhostPCMReference.gather", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_2312a63c4e89fea10d3f55e0bd838c5e" ], 0, - "ab5d8549e435e76c2fbfe9086ed29e93" + "9210de64d85e04b1902569c05054fb14" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Heap.fst.hints b/lib/steel/Steel.Heap.fst.hints index 1717134ce..c5f4a4565 100644 --- a/lib/steel/Steel.Heap.fst.hints +++ b/lib/steel/Steel.Heap.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_c5bb02572245d4fcfeb17cc78a7e815b" ], 0, - "d0d24fd682a4ad57cfd5cd9d329c26bc" + "020e3fa9cd84b25c76a2b9da6d9b4177" ], [ "Steel.Heap.update_addr'", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5dcb4e32921b6e3a53f73f28ec167247" + "019dec8aae96f691c914d6a8e907427c" ], [ "Steel.Heap.disjoint_cells", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_15ebe4aeffbf2f27a759fb5badc95dd9" ], 0, - "112c832149ee824ef2d9d06a9d34c917" + "3b657864b8bb955e849177cb0ab7ebdc" ], [ "Steel.Heap.disjoint_cells_sym", @@ -85,7 +85,7 @@ "typing_Steel.FractionalPermission.sum_perm" ], 0, - "942c74fc5a91c40f0f8f0df4660090f6" + "29363dc6ddbbc0ae0faf3a1ae2d6bd9f" ], [ "Steel.Heap.disjoint_addr", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "97d26136b8e2b5bb1e9bc792cf38b0e8" + "1511f7ca73ed8845272995bcd527da53" ], [ "Steel.Heap.core_ref", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "93efda89e80ba1f3c4c51245cfcace20" + "82f1381d57347ce3d041543a53abdcfa" ], [ "Steel.Heap.__proj__Addr__item___0", @@ -135,7 +135,7 @@ "refinement_interpretation_Tm_refine_2cffc8c7f9b79ea586bdfcd9e81e33e6" ], 0, - "bb3554e3ad6cfe16672277c3e9a34dd9" + "ee92e85323b12218a582863a75b94e7c" ], [ "Steel.Heap.core_ref_is_null", @@ -149,7 +149,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b63dae342b6aff203ec5161a7eef2a12" + "76898225269ef6d924449fe6b76e54be" ], [ "Steel.Heap.is_null", @@ -158,7 +158,7 @@ 1, [ "@query", "equation_Steel.Heap.null" ], 0, - "c9cfaca49e4b7d2aecbc77ab5b98e89d" + "f2b78a38dbb8cebeef61569e01fb43b4" ], [ "Steel.Heap.disjoint_sym", @@ -190,7 +190,7 @@ "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "090876a984a6c8e2ebd0403bf7d24dd0" + "9b70b0d97315ae5700c53d7356449e90" ], [ "Steel.Heap.join_cells", @@ -212,7 +212,7 @@ "refinement_interpretation_Tm_refine_8e632b8471a8b98549e9b2eefe08c1fd" ], 0, - "a90d865f797bba4c7b7bc1fdde2585b4" + "c34ad956428437109f71c6c3ebe52f12" ], [ "Steel.Heap.join", @@ -240,7 +240,7 @@ "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "6fac8b31376871572bd8ad173ee913d3" + "a1e2146ed5570d3c1b2c88a918f1dff0" ], [ "Steel.Heap.disjoint_join_cells_assoc", @@ -288,7 +288,7 @@ "typing_FStar.Real.one" ], 0, - "961051552d0d2cd6dfee6bf495393ece" + "0a5df0da915cd728d643463e957db2cd" ], [ "Steel.Heap.disjoint_join'", @@ -346,7 +346,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "3dabfab24aba6a3538fafb83bcf77993" + "bfda4f981ccaf766a49972240b64e25b" ], [ "Steel.Heap.mem_equiv_eq", @@ -363,7 +363,7 @@ "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "b462e5129a57b79b8086bbab27c64661" + "aee2c939c024546dcfdc45681520c8b5" ], [ "Steel.Heap.join_cells_commutative", @@ -393,7 +393,7 @@ "typing_Steel.FractionalPermission.sum_perm" ], 0, - "78c72e43d7adbfa36a19a205c8af6ad7" + "0ff895dd025650ae3e3ec1c1b164456e" ], [ "Steel.Heap.join_commutative'", @@ -432,7 +432,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "342447abaeed141bfb571ab6f8f08212" + "4bfead1f0f2175e4518d9e89ba858cd1" ], [ "Steel.Heap.join_commutative", @@ -441,7 +441,7 @@ 1, [ "@query", "lemma_Steel.Heap.disjoint_sym" ], 0, - "ebc863d87aba67735566be2ed5f4c415" + "0dfdf9965df1224c4301a2f7a989d0e6" ], [ "Steel.Heap.join_commutative", @@ -457,7 +457,7 @@ "typing_Steel.Heap.join" ], 0, - "0d836d5246890dc1de633aa71d9e8ed5" + "4afe6b78ae02f844917c59dc6a61dad3" ], [ "Steel.Heap.disjoint_join", @@ -466,7 +466,7 @@ 1, [ "@query" ], 0, - "ac7d87dfc224c2bb66661030a5d93115" + "ab6acdb1b89182786fc42e825baaf630" ], [ "Steel.Heap.disjoint_join", @@ -482,7 +482,7 @@ "typing_Steel.Heap.join" ], 0, - "d6427d6bb92399330e04d51971647da7" + "6c0026a7dcb2f1e2694254a2c8ef51aa" ], [ "Steel.Heap.join_associative'", @@ -540,7 +540,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "7cda2826540a78e07343efb4e0f3c4d1" + "ce5a51b3da078514b52023c54080b44e" ], [ "Steel.Heap.join_associative", @@ -552,7 +552,7 @@ "refinement_interpretation_Tm_refine_b3a6822d21434eb6a4849a21492ca268" ], 0, - "60cf7bf03d9534cf46654f4927f8520c" + "d5b0151a8453f18730a76d54aab8187d" ], [ "Steel.Heap.join_associative", @@ -582,7 +582,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "b08a35073f909aa268177e62bed98b62" + "40083cde6eaa83252cf9a6e86a745ec6" ], [ "Steel.Heap.heap_prop_is_affine", @@ -591,7 +591,7 @@ 1, [ "@query" ], 0, - "68d951412bb99828192f5a89f21a3b0d" + "7734b89d07a20a648ae8b163bac1d4ed" ], [ "Steel.Heap.join_associative2", @@ -608,7 +608,7 @@ "typing_Steel.Heap.join" ], 0, - "121e62f87c9bb09b3ac1e640a4724831" + "49f4c26bb4f2f8937fbee26333e3fe42" ], [ "Steel.Heap.as_slprop", @@ -634,7 +634,7 @@ "typing_Tm_abs_247fcb3dcafc9381685f0bf22c649302" ], 0, - "0c2126b1c24d174297079880694bd1af" + "0c7c63f8c53c5b704bd0dc3e0ef1913a" ], [ "Steel.Heap.slprop_extensionality", @@ -652,7 +652,7 @@ "refinement_interpretation_Tm_refine_f87f2e589941f64689bd47cee7804d95" ], 0, - "a508cd6f14aea7ad223eaf8a6a9d86ab" + "e28bdcb6602b499c9186a1c127b45717" ], [ "Steel.Heap.emp", @@ -665,7 +665,7 @@ "true_interp" ], 0, - "368beffc48acde62a3c85bbe99679949" + "309a0a40a5dd7572845e652b22767763" ], [ "Steel.Heap.affine_hprop_intro", @@ -677,7 +677,7 @@ "refinement_interpretation_Tm_refine_ded0a90cd19174872b595688cb04390d" ], 0, - "4e550737e97319acc2de1f8612c1cd33" + "e2b6457546d80d7b87804160b21c161f" ], [ "Steel.Heap.affine_hprop_intro", @@ -690,7 +690,7 @@ "refinement_interpretation_Tm_refine_ded0a90cd19174872b595688cb04390d" ], 0, - "2b8fb98ce916b5fb14889f06a2327ef4" + "8a8b9f0f8340515314c8459d9e9200e2" ], [ "Steel.Heap.pts_to_cell", @@ -702,7 +702,7 @@ "refinement_interpretation_Tm_refine_15ebe4aeffbf2f27a759fb5badc95dd9" ], 0, - "600c72f76ef44936865eadd5bb350b09" + "740d93631ee6757a6ad6365b580bc865" ], [ "Steel.Heap.pts_to_cell_join", @@ -716,7 +716,7 @@ "refinement_interpretation_Tm_refine_15ebe4aeffbf2f27a759fb5badc95dd9" ], 0, - "d3bd1a724c75477d671ec226eff4c6d7" + "5d5404890ecebac1849c1712d82a947c" ], [ "Steel.Heap.pts_to", @@ -790,7 +790,7 @@ "unit_typing" ], 0, - "e329bc641072129261e8f4f8d0541e35" + "648c7b002425d2ee0dcaddd11442b88e" ], [ "Steel.Heap.h_and", @@ -806,7 +806,7 @@ "refinement_interpretation_Tm_refine_f87f2e589941f64689bd47cee7804d95" ], 0, - "6d71e1ffe6081b53c53211430a3f5e9c" + "aba0ccdb23497b44fc6368f751ae2343" ], [ "Steel.Heap.h_or", @@ -822,7 +822,7 @@ "refinement_interpretation_Tm_refine_f87f2e589941f64689bd47cee7804d95" ], 0, - "dca9adc858c952ef987d5af427d236fa" + "fdc071c94c537260f8763c6578df9b37" ], [ "Steel.Heap.star", @@ -843,7 +843,7 @@ "typing_Steel.Heap.join" ], 0, - "8decf1a644e6b8b84def6eeb94b24366" + "38807c5c622b1446807f9a549e0a0af2" ], [ "Steel.Heap.wand", @@ -866,7 +866,7 @@ "typing_Steel.Heap.join" ], 0, - "edfadcd59b51ff16d2f397fad9ef06b8" + "f75134d7f1b9a7f8913c09b40cf12f51" ], [ "Steel.Heap.h_exists", @@ -885,7 +885,7 @@ "refinement_interpretation_Tm_refine_f87f2e589941f64689bd47cee7804d95" ], 0, - "906c9fe4d7b6743e1e4cdcecd1d247a8" + "920cb551ec21d2a91464a8b44276f545" ], [ "Steel.Heap.h_forall", @@ -904,7 +904,7 @@ "refinement_interpretation_Tm_refine_f87f2e589941f64689bd47cee7804d95" ], 0, - "7468e874cfbfb7e3ec5a27d4b690abd7" + "4f644b5fe0d1d52649de8828dc1550a7" ], [ "Steel.Heap.affine_star", @@ -936,7 +936,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "13e3dea02ec5b2e30df99a929953d05a" + "a02b410bec11af9ec4d6a9a405774b12" ], [ "Steel.Heap.equiv_symmetric", @@ -945,7 +945,7 @@ 1, [ "@query", "equation_Steel.Heap.equiv" ], 0, - "0eb1e18de030cec5c8b46f03083802aa" + "b54085359f64289f515ea9184ca0d2a4" ], [ "Steel.Heap.equiv_extensional_on_star", @@ -970,7 +970,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "c25428fd780b50e11778e84d91bb0caa" + "ea95c8412f5bf2d069046528e5873023" ], [ "Steel.Heap.emp_unit", @@ -1030,7 +1030,7 @@ "typing_Tm_abs_f5223daf128beda4a0dd5887912295ae" ], 0, - "70cee6707c3b555ae52dde9af31b4f48" + "f479b59fd4341d820b060c4adad7366f" ], [ "Steel.Heap.intro_emp", @@ -1047,7 +1047,7 @@ "typing_Tm_abs_f5223daf128beda4a0dd5887912295ae" ], 0, - "fe2f2ee8034847bf72773d75ed0072e6" + "5181d2ede359066d90212b02bf57ecca" ], [ "Steel.Heap.h_exists_cong", @@ -1073,7 +1073,7 @@ "typing_Tm_abs_901bf6c2b340a2b05e40ec01da45f3ed" ], 0, - "f661ad15cd9d65760169c449d74a4268" + "390102cd4c445d4b11e4c6913071ea9b" ], [ "Steel.Heap.h_exists_alt", @@ -1100,7 +1100,7 @@ "typing_Tm_abs_901bf6c2b340a2b05e40ec01da45f3ed" ], 0, - "d22de4a057a211b6796903593b52b803" + "b05b7db4da2ade97576b3c377555b622" ], [ "Steel.Heap.intro_h_exists", @@ -1126,7 +1126,7 @@ "typing_Tm_abs_901bf6c2b340a2b05e40ec01da45f3ed" ], 0, - "1d4fada92f48ab67d13927110a18a673" + "bba6393aae37022216b04c29ae901420" ], [ "Steel.Heap.elim_h_exists", @@ -1152,7 +1152,7 @@ "typing_Tm_abs_901bf6c2b340a2b05e40ec01da45f3ed" ], 0, - "867444404607e68a485f12a5f6217fcf" + "a5af886ac46b889314857c1a729d90cc" ], [ "Steel.Heap.interp_depends_only_on", @@ -1169,7 +1169,7 @@ "refinement_interpretation_Tm_refine_f87f2e589941f64689bd47cee7804d95" ], 0, - "14bf53354f64a23b0917696350651c27" + "498c870d85cb0d4571c4d04ef9f6ec0f" ], [ "Steel.Heap.intro_pts_to", @@ -1200,7 +1200,7 @@ "typing_Tm_abs_6561cf70d7ecdf0c968a72e0ec1157b8" ], 0, - "fc4a39a02582eb21a3dbc7eadb6c96dd" + "9e0c2e4c0f847f1a301fa3e67ded71ea" ], [ "Steel.Heap.pts_to_compatible_fwd", @@ -1299,7 +1299,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "0773bcceb0a3ce9e70583534b70711fe" + "84ff53dea6dec6447f956e261bca171c" ], [ "Steel.Heap.pts_to_compatible_bk", @@ -1410,7 +1410,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "0e8598ba902a02bca71cd67822f24894" + "8f6718355d31c8734190c77d3d2bd9f5" ], [ "Steel.Heap.pts_to_compatible", @@ -1419,7 +1419,7 @@ 1, [ "@query" ], 0, - "f60f4970f64c4fe0f101264c8bceb251" + "cbe90c3deaf83f42e05cc71c364e5ccd" ], [ "Steel.Heap.pts_to_compatible", @@ -1428,7 +1428,7 @@ 1, [ "@query" ], 0, - "b3d8de11d9a81bbbcfce43666d545bb2" + "7bb76c5f09d5597523a7522d7b133174" ], [ "Steel.Heap.pts_to_join", @@ -1465,7 +1465,7 @@ "typing_Tm_abs_6561cf70d7ecdf0c968a72e0ec1157b8" ], 0, - "0bc77a6b9470ca451b8929dc20eb75eb" + "09b31c1e7a090927392dd471f21ec4d2" ], [ "Steel.Heap.pts_to_join'", @@ -1502,7 +1502,7 @@ "typing_Tm_abs_6561cf70d7ecdf0c968a72e0ec1157b8" ], 0, - "3b3b1fe584ce4031be8caea22f1f9e38" + "faeab03c4ab8e33a14cd139724f61ecc" ], [ "Steel.Heap.pts_to_compatible_equiv", @@ -1514,7 +1514,7 @@ "refinement_interpretation_Tm_refine_ce38f492787371f877c4f0015affb000" ], 0, - "1983e2fd3577d5060a60636b5ce5a757" + "6e031c24f8bed83ab50f53d80e629891" ], [ "Steel.Heap.pts_to_not_null", @@ -1538,7 +1538,7 @@ "typing_Tm_abs_6561cf70d7ecdf0c968a72e0ec1157b8" ], 0, - "8a7b924a5994f961d7c6783db90e79ac" + "b6fe602138d1505b9e2fff9c46667938" ], [ "Steel.Heap.intro_star", @@ -1550,7 +1550,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "49824a6580d47b38c501564a2d94ebc0" + "1ffafd89fc575fb6f4ba10c257e8eb79" ], [ "Steel.Heap.intro_star", @@ -1580,7 +1580,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "7ad3f562853c3ea7672502ff7c4c25a8" + "414c412ffc2397baa189fe357bbc0a97" ], [ "Steel.Heap.elim_star", @@ -1607,7 +1607,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "40ef10841a7642885b6c078807def765" + "367bd7c625df53e49651f534f76ea488" ], [ "Steel.Heap.star_commutative", @@ -1637,7 +1637,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "74bd2e4952cef496784dbc3e82b5bece" + "e2ce284f5fda8a26bf593e1b4f654a25" ], [ "Steel.Heap.star_associative", @@ -1671,7 +1671,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "1a8f9511c463316a17ea8bd438e9e161" + "ed1663d69796704cf457c43f859448de" ], [ "Steel.Heap.star_congruence", @@ -1696,7 +1696,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "086ede30fcc2baeaf0e7e9f175b8c604" + "5a387fac1ec724ce5da541fc5c4bf954" ], [ "Steel.Heap.refine_interp", @@ -1718,7 +1718,7 @@ "typing_Tm_abs_9d02bb2720375878f16a773f5cd672b6" ], 0, - "7ac1dc57b3a39ad5d2f983c85652e111" + "2cf1bdeb130b531c98f14399c0c6d9b1" ], [ "Steel.Heap.refine_equiv", @@ -1740,7 +1740,7 @@ "typing_Tm_abs_9d02bb2720375878f16a773f5cd672b6" ], 0, - "fafbaa539f70faca162c21fe6f291bb6" + "81010ed6c03211ffe64205c485e1a0bb" ], [ "Steel.Heap.pure", @@ -1752,7 +1752,7 @@ "interpretation_Tm_abs_631a29915bf9a085ae2d714058f48fbf" ], 0, - "0f0b856014711d5d60c8f07daad446ac" + "dbf72f8ff5d973bd11fde179a7742d4e" ], [ "Steel.Heap.pure_equiv", @@ -1781,7 +1781,7 @@ "typing_Tm_abs_f5223daf128beda4a0dd5887912295ae" ], 0, - "9726849c6a5667d9242a2488982d6768" + "70ea19d5dd81df9eac683419fad35b1a" ], [ "Steel.Heap.pure_interp", @@ -1809,7 +1809,7 @@ "typing_Tm_abs_f5223daf128beda4a0dd5887912295ae" ], 0, - "44cbc1babba2e7d280f3ef465b1fe413" + "41b8e37fe3be30ae592bb5513a5ad551" ], [ "Steel.Heap.pure_star_interp", @@ -1866,7 +1866,7 @@ "typing_Tm_abs_f5223daf128beda4a0dd5887912295ae" ], 0, - "51fd33cc015d070d939f94a167d913d2" + "bd5ac6926eafc6b890cf784ef52a4881" ], [ "Steel.Heap.stronger_star", @@ -1892,7 +1892,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "b6c366b7a3e4f771f1b66222890b5fc5" + "582d78ded3ea4c2f5b15dbfc9d043582" ], [ "Steel.Heap.weaken", @@ -1918,7 +1918,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "e05d3456454d3bb8e8cc18e5c0315e9b" + "542fa51d83467a03b0c937f10014f382" ], [ "Steel.Heap.heap_evolves", @@ -1954,7 +1954,7 @@ "token_correspondence_Steel.Preorder.preorder_of_pcm" ], 0, - "92b118c5647080f1f3fc2d490945a693" + "b440ecb45790158ed1b4d9c47d6b7728" ], [ "Steel.Heap.weaken_free_above", @@ -1963,7 +1963,7 @@ 1, [ "@query", "equation_Steel.Heap.free_above_addr" ], 0, - "e4e1e1abc0306a455a1187819121a89e" + "2abf74d30869d25d608834398968305a" ], [ "Steel.Heap.is_frame_preserving", @@ -1972,7 +1972,7 @@ 1, [ "@query" ], 0, - "07d0f1f130f56e2d44fc68554e62bd3c" + "abee0cd6d1bd23df1677c14626a0dca4" ], [ "Steel.Heap.action_with_frame", @@ -1981,7 +1981,7 @@ 1, [ "@query" ], 0, - "5352ec2c0f4c27f42f572ee16a64d65b" + "f4c2f9a98193a3fe2bc670a64ecce163" ], [ "Steel.Heap.action_framing", @@ -1999,7 +1999,7 @@ "refinement_interpretation_Tm_refine_edbdae9d6b6624a6ec3f6b429364c960" ], 0, - "8675de88e7947bcaf1c264b76f90832b" + "0ef1ebd072e9ad1eab69abdf8fe0ed66" ], [ "Steel.Heap.sel", @@ -2047,7 +2047,7 @@ "typing_Tm_abs_901bf6c2b340a2b05e40ec01da45f3ed" ], 0, - "c23223373f1382e81113dbb7a6c26eb3" + "734c43a5f1ed1cc7d1b1cecc1e78ff22" ], [ "Steel.Heap.sel_v", @@ -2056,7 +2056,7 @@ 1, [ "@query" ], 0, - "93a8b0f4514e26dab493d7ba12450b89" + "684da47f81e0ff9ea5562c626efb03c3" ], [ "Steel.Heap.sel_v", @@ -2103,7 +2103,7 @@ "typing_Tm_abs_901bf6c2b340a2b05e40ec01da45f3ed" ], 0, - "ae71c1c922b91b8aacdbaf338ec51605" + "6df6f6df7a73f2db5ecd2f1741c620f8" ], [ "Steel.Heap.sel_lemma", @@ -2153,7 +2153,7 @@ "typing_Tm_abs_901bf6c2b340a2b05e40ec01da45f3ed" ], 0, - "8cddb81494eb74a217fde047eb60d1b1" + "b1484869e319bdfca0de619999c4f97f" ], [ "Steel.Heap.witnessed_ref", @@ -2162,7 +2162,7 @@ 1, [ "@query" ], 0, - "279b0d580a018749ebbe3ebb17a46221" + "83b2ae20a1ceee68f791559393764c46" ], [ "Steel.Heap.witnessed_ref_stability", @@ -2229,7 +2229,7 @@ "typing_Tm_abs_901bf6c2b340a2b05e40ec01da45f3ed" ], 0, - "58d2db6e865cf6b55ead27744a385bca" + "46f9d7b755161dcfe04ddc3ea904a32f" ], [ "Steel.Heap.sel_action", @@ -2283,7 +2283,7 @@ "typing_Tm_abs_901bf6c2b340a2b05e40ec01da45f3ed" ], 0, - "0cb212085600fa273f74c5ca436cadae" + "b98ff0c6ddf099c683c5b88300de4b0d" ], [ "Steel.Heap.sel_action'", @@ -2318,7 +2318,7 @@ "typing_Tm_abs_6561cf70d7ecdf0c968a72e0ec1157b8" ], 0, - "f4b5e0b109289cf80b48ca4ce5925d05" + "d780730e6a6ac8f20566877923ed8249" ], [ "Steel.Heap.refined_pre_action", @@ -2327,7 +2327,7 @@ 2, [ "@query" ], 0, - "0ba946ed3d411dda3b791af3fc263dc0" + "9441b07a4107c96574c2cf24c982d9f7" ], [ "Steel.Heap.refined_pre_action_as_action", @@ -2348,7 +2348,7 @@ "refinement_interpretation_Tm_refine_da7320b2dfec01e1d9eb5c40de6dbb67" ], 0, - "75162dbca108637e6f743766e3cbee33" + "08fccc2fdd40726f1d912bbb463265f6" ], [ "Steel.Heap.select_join", @@ -2419,7 +2419,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "c7578a5b332987e5631a84f107759d4d" + "ff4277f9580f874c8a8e7a2a1c4d357f" ], [ "Steel.Heap.select_refine_pre", @@ -2561,7 +2561,7 @@ "unit_typing" ], 0, - "f5cea6dcafe8c3c0845591adbe6f4478" + "2345dba493f3f1a3673be6fcd5617b1b" ], [ "Steel.Heap.select_refine", @@ -2570,7 +2570,7 @@ 2, [ "@query" ], 0, - "1b5e012c396e6a94ab465f1ab21ccc21" + "76c5815255416861a51de056529e6725" ], [ "Steel.Heap.select_refine", @@ -2579,7 +2579,7 @@ 2, [ "@query" ], 0, - "e85cf13227c3543a844daf05688bf672" + "a81cd21ff37f80b9d1f699fac7bc1ecc" ], [ "Steel.Heap.update_addr_full_heap", @@ -2622,7 +2622,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "62963e2331e17bc0a03e597aa2ed9625" + "a28449c5789c5538edf5a6dbe670e271" ], [ "Steel.Heap.upd_gen", @@ -2692,7 +2692,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "a876fa53ef311e22e7a5ebac43bcd964" + "35c441ee3b7a13bddb9aa6f04b945db0" ], [ "Steel.Heap.upd_gen_updates_only_r", @@ -2742,7 +2742,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "3d6b60799ab1dd2ba8ec865e6dce909c" + "555c9755ed9699680d62ddfde004457c" ], [ "Steel.Heap.upd_gen_full_evolution", @@ -2838,7 +2838,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1", "unit_inversion" ], 0, - "d342c263ddc9d2be3a047703d819631f" + "40bcde1dd3b51c8261cb6522eaa003fa" ], [ "Steel.Heap.upd_gen_frame_preserving", @@ -2855,6 +2855,7 @@ "Steel.Heap_interpretation_Tm_arrow_66be38db55759a6b4c14f509135a0687", "Steel.Heap_interpretation_Tm_arrow_ca94d21e5b58078b367be57819cef3ff", "Steel.Heap_interpretation_Tm_arrow_cd0ae1dbcc8724d89fb0dd22439f0c3d", + "Steel.Heap_interpretation_Tm_arrow_db688e2310abe78afa14dd54b79fd984", "Steel.Heap_pretyping_9a46417d39a7b866ce3fb40024524fb7", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -2895,6 +2896,7 @@ "function_token_typing_FStar.PCM.__proj__Mkpcm___item__composable", "function_token_typing_Prims.int", "function_token_typing_Steel.Heap.heap", + "function_token_typing_Steel.Heap.join", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "interpretation_Tm_abs_04c12d46c423ddf03f687d4acb07e16f", "interpretation_Tm_abs_247fcb3dcafc9381685f0bf22c649302", @@ -2969,7 +2971,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1", "unit_inversion" ], 0, - "b672860f82b0e864acd37ba0261ee582" + "7c71461f73239cf8be7b2630fc433452" ], [ "Steel.Heap.upd_gen_action", @@ -3038,7 +3040,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1", "unit_inversion" ], 0, - "88e73e23fc66812cee19828d4b1388b6" + "0e2ca04116a0025ca74372df243bfdc2" ], [ "Steel.Heap.free_action", @@ -3054,7 +3056,7 @@ "refinement_interpretation_Tm_refine_fb9cf1e65085cceb9a5b0e1571d39934" ], 0, - "b940768d46c7f97fc4d2d26dc791c62b" + "e39e85abccc2d8d7f106f8e52c5b77fb" ], [ "Steel.Heap.split_action", @@ -3066,7 +3068,7 @@ "refinement_interpretation_Tm_refine_782bbf7acd60ae0036bd61a1f4d3807b" ], 0, - "2700442043330534b866aacf5d2c36f0" + "741277705154eeae04cc859ef13678a7" ], [ "Steel.Heap.split_action", @@ -3105,7 +3107,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "38f6decccef3e64a8fa8b507801c965d" + "6fe41061c412b0d1351c51b06af525cc" ], [ "Steel.Heap.gather_action", @@ -3117,7 +3119,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "d93425382331b2c0f15d06b36586eedb" + "efe60cc00d1fa1a9f4759d2aa125f47d" ], [ "Steel.Heap.gather_action", @@ -3156,7 +3158,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "6b9081a41a6603ad63f2f89da68bc47b" + "695c1871ddfbb8ddba4f40989ef1fe2d" ], [ "Steel.Heap.extend", @@ -3169,7 +3171,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "30323b8f4b1e4ceaf72814ad2ec77338" + "497fd217ba6c7964f0609e650d380fb7" ], [ "Steel.Heap.extend", @@ -3266,7 +3268,7 @@ "typing_Tm_abs_bdf915ba992f79503e6dafcc465e1af1" ], 0, - "1db2e637f5899638387a84dd0c8c4109" + "0e13e612625a193e182ad0e1f09e7d44" ], [ "Steel.Heap.hprop_sub", @@ -3301,7 +3303,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "6e18b08014ba5d70b16b972378b7a0b4" + "3eddd800979c5015e918c025bbc98eaf" ], [ "Steel.Heap.frame", @@ -3323,7 +3325,7 @@ "typing_Steel.Heap.star" ], 0, - "6b8d607ed4d27b2e856e28d838ff6981" + "bbe113dad2f78ef6ae238e621a2bf41a" ], [ "Steel.Heap.change_slprop", @@ -3359,7 +3361,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "91e71967b0d3f4a0f36e12e547345564" + "fd3e95a266dbdc8f870f42902f549163" ], [ "Steel.Heap.id_elim_star", @@ -3368,7 +3370,7 @@ 1, [ "@query" ], 0, - "33442b029cdde978675f21f3a8197aa2" + "d9a61874386855dc2feddeb2a1b8b683" ], [ "Steel.Heap.id_elim_star", @@ -3384,7 +3386,7 @@ "refinement_interpretation_Tm_refine_2b938f9e61e361c44666434a8fa1ecd7" ], 0, - "213564fbb22c10a71f5f15c259a060b6" + "bb2b30f87b6bc194010e7d4a22e54a81" ], [ "Steel.Heap.id_elim_exists", @@ -3396,7 +3398,7 @@ "refinement_interpretation_Tm_refine_502ac082042c6e961c8d36a1d2deb03f" ], 0, - "2f114db0b74dfc389f2f27d5a6bd278a" + "44a3f51f2a99e1e38a2a0897c6dc7d03" ], [ "Steel.Heap.witinv_framon", @@ -3408,7 +3410,7 @@ "equation_Steel.Heap.is_witness_invariant" ], 0, - "e0351538a22e76ad1b389c6a7fc40a93" + "b440fb74a0ba48702c2345ec45960833" ], [ "Steel.Heap.witness_h_exists", @@ -3455,7 +3457,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "432ddedba484bef731753d672fb3d5a4" + "f94adee297199d1ade020998eaf488e4" ], [ "Steel.Heap.lift_h_exists", @@ -3509,7 +3511,7 @@ "typing_Tm_abs_a87dd2196e6210fb991043b36784dfe9" ], 0, - "ba7405484897684af242bddae1e679d0" + "d5d0c906103860f6e6be39b25ba8f0e7" ], [ "Steel.Heap.elim_pure", @@ -3559,7 +3561,7 @@ "typing_Tm_abs_f5223daf128beda4a0dd5887912295ae" ], 0, - "a242f410df7e2ee607dc1a56c3edee6c" + "e78557f4cc5c398fbd310f2aaaa34c86" ], [ "Steel.Heap.pts_to_evolve", @@ -3596,7 +3598,7 @@ "typing_Tm_abs_6561cf70d7ecdf0c968a72e0ec1157b8" ], 0, - "47fa4ede3d1aeb45680d1d410e5311a1" + "34f6c9fdc9c64c1aed8ae986487223e9" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Heap.fsti.hints b/lib/steel/Steel.Heap.fsti.hints index 1181712cc..bb2a5033e 100644 --- a/lib/steel/Steel.Heap.fsti.hints +++ b/lib/steel/Steel.Heap.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Steel.Heap.null" ], 0, - "7454d849beda05dd08db23975e51b258" + "c0067e2432e430a2764e7554e10f6214" ], [ "Steel.Heap.join_commutative", @@ -17,7 +17,7 @@ 1, [ "@query", "lemma_Steel.Heap.disjoint_sym" ], 0, - "5eef5b336072316b8e9d6aeb306f594d" + "459ee7f5721d4d7fb9cadf68631e62f9" ], [ "Steel.Heap.disjoint_join", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "747c65385c24e5a6611cf8ae88a59e7c" + "37c8b336cff42e5fb5054cd06be683f1" ], [ "Steel.Heap.join_associative", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_b3a6822d21434eb6a4849a21492ca268" ], 0, - "b06dac2eb6986cf61e391f79ef076480" + "c37e4d01c67134b6aa8b17558896f254" ], [ "Steel.Heap.heap_prop_is_affine", @@ -47,7 +47,7 @@ 1, [ "@query" ], 0, - "75492b7ca1250cf853e85e0d8ddc2664" + "a75d85ac5cec6f538b127bb066635122" ], [ "Steel.Heap.pts_to_compatible", @@ -56,7 +56,7 @@ 1, [ "@query" ], 0, - "b8c53281c1f6f6db89139e11c207cfdc" + "7d9c68ab54b36bfe59d9a5da6669783a" ], [ "Steel.Heap.intro_star", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "18a1e88b421908f78ca004eb2ba6c6d0" + "0724f68f12dc8c302907293665989467" ], [ "Steel.Heap.pure", @@ -80,7 +80,7 @@ "interpretation_Tm_abs_631a29915bf9a085ae2d714058f48fbf" ], 0, - "bb6ed1498b3d53e3b8b0b1b039bcd08d" + "8a72de73d71b2bce2dd48950cdb07deb" ], [ "Steel.Heap.is_frame_preserving", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "264b5e61d730d3b18c20142cb389389c" + "27aa045c72146ee6eb40c0c7e4e319ab" ], [ "Steel.Heap.action_with_frame", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "e34df7fe8ebf8daad7b288c993ca5f1f" + "da6ba94be51eb19011b71a08e4200c17" ], [ "Steel.Heap.action_framing", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_edbdae9d6b6624a6ec3f6b429364c960" ], 0, - "0f74b44d39bf26d2bc4ad562fd2174cf" + "d39765a0e5e222448c16ca894d7539b6" ], [ "Steel.Heap.sel_v", @@ -124,7 +124,7 @@ 1, [ "@query" ], 0, - "a672b7e49959dfe73e229fcde36bab09" + "edf810c541e48c65237b58aade3f8725" ], [ "Steel.Heap.witnessed_ref", @@ -133,7 +133,7 @@ 1, [ "@query" ], 0, - "92b7c4f137fe11aa1537b52249789efd" + "6a2b158d3b99f04a15f6aa510d7168c5" ], [ "Steel.Heap.select_refine", @@ -142,7 +142,7 @@ 1, [ "@query" ], 0, - "8e0a779857dbe2c6d77c6ee2d3e85860" + "e283043a9b22c70dc28d11623b98b0dd" ], [ "Steel.Heap.split_action", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_782bbf7acd60ae0036bd61a1f4d3807b" ], 0, - "f3cc9c80f432323be16c2f3f5916ecf3" + "f35526adf007169d12a44012450e6ce9" ], [ "Steel.Heap.gather_action", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "a0a638b41df78cc5bc4d82120ad3bee4" + "d794c67d9f23c14ed6d1d00dbe37ac76" ], [ "Steel.Heap.extend", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "546ca9f52698b895e60d283acdb4e874" + "e03706c89deaadd5cacb92b793f82e77" ], [ "Steel.Heap.id_elim_star", @@ -188,7 +188,7 @@ 1, [ "@query" ], 0, - "17119aca23daf08a7a0fe5b1e83b2279" + "ee3961ce7724697f6ec4d5c3c0273f1a" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.HigherReference.fst.hints b/lib/steel/Steel.HigherReference.fst.hints index 676365361..f3bdfd07e 100644 --- a/lib/steel/Steel.HigherReference.fst.hints +++ b/lib/steel/Steel.HigherReference.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Steel.HigherReference.null" ], 0, - "b383d738d757c1cbd8016cb4760e44ea" + "12c70eb922fea126815192a35af5857b" ], [ "Steel.HigherReference.abcd_acbd", @@ -20,7 +20,7 @@ "typing_Steel.Memory.star" ], 0, - "1c9dd27d8f2eb42d59fcbc316be04ded" + "00899cc1d9f0339731b69319b7ca7e6a" ], [ "Steel.HigherReference.pts_to_ref_injective", @@ -67,7 +67,7 @@ "typing_Steel.Memory.pure", "typing_Steel.Memory.star" ], 0, - "2fb1ff79541c57427bd673f187118bf2" + "e74cf0d5b6acb94ec95ec64dae1c8810" ], [ "Steel.HigherReference.pts_to_not_null", @@ -101,7 +101,7 @@ "typing_Steel.HigherReference.pts_to_raw", "typing_Steel.Memory.pure" ], 0, - "fe2444bc860a25f50ca1d973d26c5a56" + "dfd8818d6be7d8c3b702582d3082373a" ], [ "Steel.HigherReference.pts_to_witinv", @@ -171,7 +171,7 @@ "typing_Steel.Memory.pure", "typing_Steel.PCMFrac.composable" ], 0, - "db689d6616c575ded941144cd4fad97c" + "62e04e64ee1bc5dd71f9e7f1c7679979" ], [ "Steel.HigherReference.higher_ref_pts_to_injective_eq", @@ -180,7 +180,7 @@ 1, [ "@query", "lemma_FStar.Ghost.hide_reveal" ], 0, - "cb3cff7d56c80858cc23adc723fbf845" + "51a8833bdd1db8823a6222120b925a4c" ], [ "Steel.HigherReference.pts_to_framon", @@ -196,7 +196,7 @@ "lemma_Steel.Memory.witinv_framon" ], 0, - "878d7c1df2000ff61c26d60c752fdaac" + "c0d2527904fc9928452b14fbcd1c637b" ], [ "Steel.HigherReference.intro_pts_to", @@ -222,7 +222,7 @@ "typing_Steel.HigherReference.pts_to_raw" ], 0, - "3d44d5ac638e8b28a9a4834b93f9d2e3" + "50b863f07736a71d10a9db3739a6f6a2" ], [ "Steel.HigherReference.alloc", @@ -297,7 +297,7 @@ "typing_Steel.Memory.star", "typing_Steel.PCMFrac.pcm_frac" ], 0, - "8e671d9f56041e7be92ce919986d987d" + "4a0a08e4dc4a3497bc1ecddb2b6957c9" ], [ "Steel.HigherReference.read", @@ -367,7 +367,7 @@ "typing_Steel.Memory.pure", "typing_Steel.Memory.star" ], 0, - "cb71f9b2795946138a3fed17f1dedee3" + "e61e9701e6fae1c664250b54b4dc699c" ], [ "Steel.HigherReference.atomic_read", @@ -437,7 +437,7 @@ "typing_Steel.Memory.pure", "typing_Steel.Memory.star" ], 0, - "4f980731675bd3562bae5832170e5777" + "484fc825b964b989ab05a0d2ffc1856c" ], [ "Steel.HigherReference.read_refine", @@ -451,7 +451,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "d728210d119238af87a0f89796122f17" + "45076b698ef4041569ceb86180af57a6" ], [ "Steel.HigherReference.write", @@ -538,7 +538,7 @@ "typing_Steel.Memory.pure", "typing_Steel.Memory.star" ], 0, - "be65a32c832cd3bdf8c254e08ea074e9" + "5fa8baa408fc663aa9efbd4723694e1c" ], [ "Steel.HigherReference.atomic_write", @@ -625,7 +625,7 @@ "typing_Steel.Memory.pure", "typing_Steel.Memory.star" ], 0, - "8f935ae427cdf02b1823dcadd53b6fc9" + "85cfbf5d6af895bacd35a52ad16cc635" ], [ "Steel.HigherReference.free", @@ -702,7 +702,7 @@ "typing_Steel.HigherReference.pts_to_raw", "typing_Steel.Memory.pure" ], 0, - "1b2aba337c93cc13e905d44890f33a41" + "ffc4e2f16b349f1f758dcfb77653cf1b" ], [ "Steel.HigherReference.share_atomic_raw", @@ -743,7 +743,7 @@ "token_correspondence_Steel.PCMFrac.compose", "true_interp" ], 0, - "0baaa17c19b7d9b8950a4bb47154d30f" + "578ed7f51b1abde7c9786e24c9a9a7bb" ], [ "Steel.HigherReference.share", @@ -782,7 +782,7 @@ "typing_Steel.HigherReference.pts_to_raw" ], 0, - "cf45948bf0488e7e56262151ef1f73b0" + "77ff0a8af38000ae7871ddd7fc6bcf8e" ], [ "Steel.HigherReference.gather_atomic_raw", @@ -829,7 +829,7 @@ "token_correspondence_Steel.PCMFrac.compose" ], 0, - "78609702dac8337d69944ba84659fa52" + "ba92fb265a8f6695f6b3513b3e1fdba8" ], [ "Steel.HigherReference.gather", @@ -863,7 +863,7 @@ "typing_Steel.HigherReference.pts_to_raw", "typing_Steel.Memory.pure" ], 0, - "77a9f123214f48f32a592e80cfebf775" + "0aab5cfd9b2324f56adbea2dd7774b13" ], [ "Steel.HigherReference.equiv_ext_right", @@ -875,7 +875,7 @@ "typing_Steel.Memory.star" ], 0, - "fc5b6d132fe9174c860029e489810752" + "21106a9f5f8cc51ac55d4752a00c378b" ], [ "Steel.HigherReference.cas_action_helper", @@ -887,7 +887,7 @@ "typing_Steel.Memory.star" ], 0, - "10ec9af88183026900e7d757f4c54798" + "0f49a3d43c7e13c241f9ebc9e8a87876" ], [ "Steel.HigherReference.cas_action", @@ -983,7 +983,7 @@ "typing_Steel.HigherReference.pts_to_raw", "typing_Steel.Memory.pure" ], 0, - "ca5e2bde26d13659cf9a25f70955e31f" + "2b4f0c44050a90084f8c662c40f856a0" ], [ "Steel.HigherReference.reveal_ghost_ref", @@ -992,7 +992,7 @@ 1, [ "@query", "equation_Steel.HigherReference.ghost_ref" ], 0, - "23387a24cbf969fc952cac79eb513ce7" + "6e022fdb45acb275e3cdfc07b88dd34c" ], [ "Steel.HigherReference.reveal_ghost_pts_to_sl", @@ -1005,7 +1005,7 @@ "equation_Steel.HigherReference.ghost_ref" ], 0, - "821fc4fc2b09e447f69ebbf46ac971a6" + "454e1212af81f0e4d6a97fcf621585ab" ], [ "Steel.HigherReference.ghost_pts_to_witinv", @@ -1077,7 +1077,7 @@ "typing_Steel.Memory.pure", "typing_Steel.PCMFrac.composable" ], 0, - "2e4bb5d4d9c80fa8ee966fddc699e9db" + "a3ee6501740631f4161c5e6be161ecaa" ], [ "Steel.HigherReference.ghost_alloc_aux", @@ -1149,7 +1149,7 @@ "typing_Steel.Memory.star", "typing_Steel.PCMFrac.pcm_frac" ], 0, - "4fa2cfb47e3f3ca9262cbed442d403c3" + "e886101337d4f154e3620608df277799" ], [ "Steel.HigherReference.ghost_free", @@ -1229,7 +1229,7 @@ "typing_Steel.HigherReference.ref", "typing_Steel.Memory.pure" ], 0, - "12c2fcfcb16c1badc8f634a38a815194" + "e471b9c6e26f860d813575d3ddbc7da6" ], [ "Steel.HigherReference.ghost_pts_to_perm", @@ -1275,7 +1275,7 @@ "typing_Steel.HigherReference.ref", "typing_Steel.Memory.pure" ], 0, - "2ad819a08a900ec90f58a23ec8718e10" + "6efb30fd65844271d14c9981da94b0a1" ], [ "Steel.HigherReference.ghost_read", @@ -1350,7 +1350,7 @@ "typing_Steel.Memory.pure", "typing_Steel.Memory.star" ], 0, - "9d66b9bc0beb9c08262dec5989f1c0c5" + "50ff997395a180bb80e8271f559ad683" ], [ "Steel.HigherReference.ghost_write_aux", @@ -1437,7 +1437,7 @@ "typing_Steel.Memory.pure", "typing_Steel.Memory.star" ], 0, - "9635e1a8193aa572f42a2138152baba2" + "335eaf7c218db9448239183480f3b40d" ], [ "Steel.HigherReference.ghost_write", @@ -1449,7 +1449,7 @@ "equation_Steel.HigherReference.ghost_pts_to_sl" ], 0, - "d73383d3a63373b3a955de4676fe1881" + "5b877efc0c3023b6600b55afe7fc56d5" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.LockCoupling.fsti.hints b/lib/steel/Steel.LockCoupling.fsti.hints index 44d3d7e9c..1c05d2acb 100644 --- a/lib/steel/Steel.LockCoupling.fsti.hints +++ b/lib/steel/Steel.LockCoupling.fsti.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "d2e28309ad5098ed0665b8abc3729596" + "9dd43e7e2b970991c1cda7e39d8cd871" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Loops.fst.hints b/lib/steel/Steel.Loops.fst.hints index 7053473c3..8e27ad20a 100644 --- a/lib/steel/Steel.Loops.fst.hints +++ b/lib/steel/Steel.Loops.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_d686fd558af661d405d23027daf3f8ef" ], 0, - "634c522139b8d62c074270f134c746aa" + "08f955aa9a65290c8723bf441cac48c5" ], [ "Steel.Loops.for_loop'", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "0c71f83fe9581a36c1230cf148c03019" + "ab81ce22235101d1d85da5c24f567f76" ], [ "Steel.Loops.for_loop'", @@ -52,7 +52,7 @@ "typing_FStar.SizeT.t", "typing_FStar.SizeT.v" ], 0, - "14023ff2e8cd0b8441711ab83944026d" + "8a61491a42afb476839198f76857a20d" ], [ "Steel.Loops.for_loop", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "79adb1801ec564ff486fe19ba6aa43bc" + "2bed8527d1289a5ed0dc7f656c1b7b3d" ], [ "Steel.Loops.for_loop", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "632f11215ad0de39db5094b733e6b2bd" + "45f74a83daee3b796e474993167d3be4" ], [ "Steel.Loops.for_loop", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_4102cf3bbb19f9fe0428d2e5a32fadcb" ], 0, - "83a9739e6c6a67c9fcbc83517478227d" + "274e2ebcce8a50c490ee1d3cd2fd7428" ], [ "Steel.Loops.for_loop_full", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "314f558061df30ff47c1aea3ee0db127" + "4d06e5615e2b2cbca2ad0897df288b99" ], [ "Steel.Loops.for_loop_full", @@ -136,7 +136,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "6511b0953909eea061a16ba48f1bcde6" + "2a5d7404b15025d410d7c20dc4d4ca4a" ], [ "Steel.Loops.while_loop", @@ -145,7 +145,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "f77a6e4195c3b72403b0a45bee20203f" + "1216bf9a4a04f3e606af393f44c91f91" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Loops.fsti.hints b/lib/steel/Steel.Loops.fsti.hints index d7a2ffa8f..dc136b0f9 100644 --- a/lib/steel/Steel.Loops.fsti.hints +++ b/lib/steel/Steel.Loops.fsti.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "11faeb9cd9189cb96eb0435bb84b833f" + "6eb45e1ef39b49c5322c930236ba0343" ], [ "Steel.Loops.for_loop_full", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "05993221f27e926b6c0d889cc7253263" + "4d06e5615e2b2cbca2ad0897df288b99" ], [ "Steel.Loops.for_loop_full", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "76e8affbd79a3dfab1c4e3d227bf21cd" + "2a5d7404b15025d410d7c20dc4d4ca4a" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Memory.fst.hints b/lib/steel/Steel.Memory.fst.hints index 913e7833d..7b9d601c4 100644 --- a/lib/steel/Steel.Memory.fst.hints +++ b/lib/steel/Steel.Memory.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_Steel.Memory.Mkmem_heap" ], 0, - "411c7ee6faf31ba225cc4f15fd0cb689" + "125b1a289e3c091b986fe85997400a71" ], [ "Steel.Memory.disjoint_sym", @@ -29,7 +29,7 @@ "typing_Steel.Memory.__proj__Mkmem__item__heap" ], 0, - "d01255cb486be83ed6da24c33c931396" + "246a377789921e0e2697b1c123257fbc" ], [ "Steel.Memory.join", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_05e27cac11d5ba294d48e85e16d78292" ], 0, - "f9a9f979fe87f3d693a8aeabe78618c9" + "031ef3ce73654116f1067303c26ef81c" ], [ "Steel.Memory.join_commutative", @@ -51,7 +51,7 @@ 1, [ "@query" ], 0, - "495b2af62638f0df6a15fd6658391277" + "afa376dadd6cbabb102ff40abe26fc63" ], [ "Steel.Memory.join_commutative", @@ -65,7 +65,7 @@ "lemma_Steel.Memory.disjoint_sym" ], 0, - "54e313259a0eae1e647c476a9f7ca766" + "30b0361a91bf9300f806478e45863af5" ], [ "Steel.Memory.disjoint_join", @@ -74,7 +74,7 @@ 1, [ "@query" ], 0, - "901c37710ea0a428f322145e473d30fe" + "8b4d5878439fd3dd3c09a8bb9b3f69df" ], [ "Steel.Memory.disjoint_join", @@ -93,7 +93,7 @@ "projection_inverse_Steel.Memory.Mkmem_locks" ], 0, - "47ed0d892da8fead0ec3a94904adf34a" + "4f3bb9a7ffb3eb69f770fedd7134ab12" ], [ "Steel.Memory.join_associative", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_b0e7dfa1e7af76a2bbbf2a5a03a80662" ], 0, - "16f94275863de9f85dee3bc4d2de6eff" + "ed4d80de154546e7a805ee379c5c4e81" ], [ "Steel.Memory.join_associative", @@ -124,7 +124,7 @@ "projection_inverse_Steel.Memory.Mkmem_locks" ], 0, - "53f5e5da37f0aa97a19ddc4cb22e6539" + "08f16f60314300143dfb64fa0ff676f4" ], [ "Steel.Memory.slprop_extensionality", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7879d216a83f7f724a540f0aeb8eb1a8" + "f4ddb02e03838c0043bd214ee83a9862" ], [ "Steel.Memory.reveal_equiv", @@ -154,7 +154,7 @@ "fuel_guarded_inversion_Steel.Memory.mem" ], 0, - "1f7330b57025ae877cecbb338a042ef0" + "6eb69184f43aebfcbf7bd8e375036faa" ], [ "Steel.Memory.core_ref_is_null", @@ -163,7 +163,7 @@ 1, [ "@query", "equation_Steel.Memory.core_ref_null" ], 0, - "ed3b6c928661f4d2322c1b6c31386fd0" + "f13c3d099d104abe254afacad8487b0f" ], [ "Steel.Memory.is_null", @@ -172,7 +172,7 @@ 1, [ "@query", "equation_Steel.Memory.null" ], 0, - "ea1cae53f0b3558d1b34b33a145ba58b" + "a7e4af5100dfd37681ada3ae960e981f" ], [ "Steel.Memory.equiv_symmetric", @@ -181,7 +181,7 @@ 1, [ "@query", "lemma_Steel.Memory.reveal_equiv" ], 0, - "63993d4d7daf1ae95c3c2f9567176ee4" + "37ec6147f3d669133320fbc5c53adcb1" ], [ "Steel.Memory.equiv_heap_iff_equiv", @@ -198,7 +198,7 @@ "typing_Steel.Memory.mem_of_heap", "unit_typing" ], 0, - "fe11d3a37a6354067865e1eafeb9bef9" + "d07c5312ba4e8a218fe05f5591d6342a" ], [ "Steel.Memory.equiv_heap_iff_equiv_forall", @@ -207,7 +207,7 @@ 1, [ "@query" ], 0, - "3748e60541bc662d88e7c402106ad55a" + "a2c962cb6fa1bb342822de70b94c2b7c" ], [ "Steel.Memory.equiv_extensional_on_star", @@ -219,7 +219,7 @@ "lemma_Steel.Memory.equiv_heap_iff_equiv", "typing_Steel.Memory.star" ], 0, - "e5f2788e593c43c471827ef69ff6a087" + "bc57b15c01c12ae99e24e8b32399a983" ], [ "Steel.Memory.emp_unit", @@ -232,7 +232,7 @@ "typing_Steel.Memory.star" ], 0, - "a240215d0ea8d543d2a0c96a5581c811" + "e7070c4599110dc514d86fbff7e6beeb" ], [ "Steel.Memory.intro_emp", @@ -244,7 +244,7 @@ "equation_Steel.Memory.heap_of_mem", "equation_Steel.Memory.interp" ], 0, - "eba64a25d3bf0b5831c503e4b0658fd9" + "e7ada705963826534772eecc8dcd1517" ], [ "Steel.Memory.pure_equiv", @@ -256,7 +256,7 @@ "lemma_Steel.Memory.equiv_heap_iff_equiv", "typing_Steel.Memory.pure" ], 0, - "831107fa6fc4dfb0d11ecc63efaaea20" + "d40715e0696665d92c31df4589b3cf46" ], [ "Steel.Memory.pure_interp", @@ -268,7 +268,7 @@ "equation_Steel.Memory.interp", "equation_Steel.Memory.pure" ], 0, - "389e8d3cd5bbbfc4a8aa74c194f08777" + "a80b10737bcdef2e88e771d8fe9337f6" ], [ "Steel.Memory.pure_star_interp", @@ -282,7 +282,7 @@ "fuel_guarded_inversion_Steel.Memory.mem" ], 0, - "57a1d5c2f146ec6a478dc248634d6320" + "9364deb8048794a12a641bb08c225a70" ], [ "Steel.Memory.pts_to_compatible", @@ -291,7 +291,7 @@ 1, [ "@query" ], 0, - "0a6ed2a1ac966ed9523c20fe75452409" + "630a62e5d1e70f04e7f1225af8e3a2bd" ], [ "Steel.Memory.pts_to_compatible", @@ -306,7 +306,7 @@ "fuel_guarded_inversion_Steel.Memory.mem" ], 0, - "57f674486befbd323a8ecfbb00f68b9a" + "7fae82274bc0ceae9c0ae95384dbe1ec" ], [ "Steel.Memory.pts_to_compatible_equiv", @@ -322,7 +322,7 @@ "typing_Steel.Memory.star" ], 0, - "6905795af7e42fea3065a4c5c1648909" + "a153ed29fa4dc471c4c8378fad6d7295" ], [ "Steel.Memory.pts_to_not_null", @@ -338,7 +338,7 @@ "fuel_guarded_inversion_Steel.Memory.mem" ], 0, - "85b54dffcdc5092dc2d724282a831799" + "4a052cd3b4f9b1c1263a4d78af7589f4" ], [ "Steel.Memory.intro_star", @@ -350,7 +350,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6aad60f09e2486f626064be65bb70664" + "89d8425ff7c4078c805e816e6863ccf0" ], [ "Steel.Memory.intro_star", @@ -368,7 +368,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "2708ce1a69a30cecd0376cd34b533c99" + "b6337b1dc746d100bbfac0c4ba70b7a5" ], [ "Steel.Memory.elim_star", @@ -394,7 +394,7 @@ "refinement_interpretation_Tm_refine_963b012b06d1d73d5d3ccd999d2f94ce" ], 0, - "4e07bb9ad6aae84e866ab63ab7bc874e" + "43c94268ea22db1f281fdfc4fab858a3" ], [ "Steel.Memory.interp_star", @@ -403,7 +403,7 @@ 1, [ "@query" ], 0, - "7712fc1bd2e052b64ff101669f1c85ae" + "3c787e53cc2d2fd2524dc0d33b2ce269" ], [ "Steel.Memory.interp_star", @@ -418,7 +418,7 @@ "refinement_interpretation_Tm_refine_c9e1f9f4c6e019f6f57bb66f0dee9b17" ], 0, - "cc9b6460782f4cfa3104f7f55b607cfb" + "04bae9af547e79ddf74b9a16754f2f96" ], [ "Steel.Memory.star_commutative", @@ -430,7 +430,7 @@ "lemma_Steel.Memory.equiv_heap_iff_equiv", "typing_Steel.Memory.star" ], 0, - "40010aa3ad7383900aef645fa0e92880" + "e1f9b15fdab17bbe955dc3c041a8a4cc" ], [ "Steel.Memory.star_associative", @@ -442,7 +442,7 @@ "lemma_Steel.Memory.equiv_heap_iff_equiv", "typing_Steel.Memory.star" ], 0, - "032a7b638a51e2e7060a424af0d2aaf7" + "9f017ced213a0df050a12d666ddee1d1" ], [ "Steel.Memory.star_congruence", @@ -455,7 +455,7 @@ "lemma_Steel.Memory.equiv_heap_iff_equiv", "typing_Steel.Heap.star" ], 0, - "8d5a3435ab19533387df9753165ac103" + "c9f804d98fad6cc6e4693154f9b7b0e5" ], [ "Steel.Memory.affine_star", @@ -469,7 +469,7 @@ "fuel_guarded_inversion_Steel.Memory.mem" ], 0, - "d3740179046e4ca84bf4a94000545a5f" + "204cf1e135b92cd89efcedac9d5333e8" ], [ "Steel.Memory.iname", @@ -483,7 +483,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7099e526ceb185b5c9f72ba31d468d6c" + "afb46ef770999cda32e484b1b059d144" ], [ "Steel.Memory.lock_store_invariant", @@ -512,7 +512,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "61c49e2f3f909c79fd3c233c8dce9b41" + "4813c216deb93f555e44ee7d6c1f7326" ], [ "Steel.Memory.lock_i", @@ -531,7 +531,7 @@ "refinement_interpretation_Tm_refine_5e5faf9baa891750c12708114dbafd00" ], 0, - "76cfe13aded9b05f5001c9c78928d606" + "aab09e79ab339ce6e09f6564cdadd273" ], [ "Steel.Memory.lock_store_evolves", @@ -543,7 +543,7 @@ "refinement_interpretation_Tm_refine_a6e2574e381d36c77dec02e90158b213" ], 0, - "8272544e50002a7810852f1d0398e3db" + "2388ef6fae5499ac2d8e0623eb86510f" ], [ "Steel.Memory.lock_store_evolves", @@ -563,7 +563,7 @@ "refinement_interpretation_Tm_refine_a6e2574e381d36c77dec02e90158b213" ], 0, - "c6edd39b966a4d7b2827e4d4fd553afa" + "c0d2cc9f5b6d9d01488adab1fa9d6a21" ], [ "Steel.Memory.inames_ok_empty", @@ -578,7 +578,7 @@ "typing_Steel.Memory.iname" ], 0, - "cac3ea55551a357ef2ef7ea2a8dacc00" + "a8e36adbbcfdc2408534b16051ab8e9d" ], [ "Steel.Memory.extend_lock_store", @@ -626,7 +626,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "f954182cc34945be548b644468fd5b7f" + "e7233942233e4fa85942f3ec2cc228f9" ], [ "Steel.Memory.move_invariant", @@ -693,7 +693,7 @@ "unit_inversion", "unit_typing" ], 0, - "8218767d3fb97f53b320768d1def9e14" + "e32c85844814dab807d406e63a768637" ], [ "Steel.Memory.core_mem_interp", @@ -709,7 +709,7 @@ "projection_inverse_Steel.Memory.Mkmem_heap" ], 0, - "7c302ad8e32e4b6c8c0805f29ac4c799" + "c1848c5701e26ac7c65b220133d41f8b" ], [ "Steel.Memory.interp_depends_only_on", @@ -729,7 +729,7 @@ "typing_Steel.Memory.__proj__Mkmem__item__heap" ], 0, - "f191a4833a9fa2286a568404ff8b6e98" + "7ce2bf562b213d4a109e31f91b9b1dc7" ], [ "Steel.Memory.mem_prop_is_affine", @@ -742,7 +742,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "8a82452e486128a645f2bfac1db93fcb" + "d70b2904826b35006dccbd89f79dd172" ], [ "Steel.Memory.a_mem_prop_as_a_heap_prop", @@ -770,7 +770,7 @@ "typing_Steel.Memory.mem_of_heap" ], 0, - "fd445bacbd7b7d13fadec770c892c28b" + "bdb565c441354bdfb3743de2c2f17364" ], [ "Steel.Memory.interp_refine_slprop", @@ -779,7 +779,7 @@ 1, [ "@query" ], 0, - "10bd4a274d4aaf350d506b6354065938" + "909b5409087db80c6dc7f57fac0cb247" ], [ "Steel.Memory.interp_refine_slprop", @@ -804,7 +804,7 @@ "typing_Steel.Memory.a_mem_prop_as_a_heap_prop" ], 0, - "44f42db84a6d6964cfa381e96fe6fdb9" + "f21a33917127a37d32d3bfca854dd7fd" ], [ "Steel.Memory.dep_hprop", @@ -813,7 +813,7 @@ 1, [ "@query" ], 0, - "1c0a22de3f8cea67cbbd2bd6f679aefa" + "b265194abf4142b3b5012cb3ffdc690e" ], [ "Steel.Memory.dep_hprop_is_affine0", @@ -843,7 +843,7 @@ "typing_Steel.Memory.mem_of_heap" ], 0, - "7f82a9f92c1770cc7a741bca4f196ecd" + "0d8915ef11abc048d08813464a0f673f" ], [ "Steel.Memory.dep_hprop_is_affine1", @@ -852,7 +852,7 @@ 1, [ "@query" ], 0, - "a7c88b8a8fc1b239b733f2c824eccf2a" + "bca3b6935ccf0714fb5e489b4019401f" ], [ "Steel.Memory.dep_hprop_is_affine", @@ -864,7 +864,7 @@ "token_correspondence_Steel.Memory.dep_hprop" ], 0, - "a4fb4d0b098952d325b3f15fc3988877" + "07d3ed2290c6c4d209a98c28eb348ac5" ], [ "Steel.Memory.sdep", @@ -873,7 +873,7 @@ 1, [ "@query" ], 0, - "81819b2a50dd2602e339420938375933" + "42da77906e170ce72120c73af8d47867" ], [ "Steel.Memory.dep_slprop_is_affine", @@ -886,7 +886,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "3145c5efd922200979de64c3b490a751" + "5c3713fd397f1ec3f5f619bcac81d007" ], [ "Steel.Memory.interp_sdep", @@ -925,7 +925,7 @@ "typing_Steel.Memory.mem_of_heap", "typing_Steel.Memory.mem_set_heap" ], 0, - "d401478a631cc50aa00ea6a2dc9e8ebe" + "3688cbeedd9bd8f6ff6c77ee0add4bc8" ], [ "Steel.Memory.h_exists_cong", @@ -940,7 +940,7 @@ "typing_Steel.Memory.h_exists" ], 0, - "e427358359a7bd1e12a657bff9cc78ef" + "e57b0f98ab7638a8a31419eef96b26de" ], [ "Steel.Memory.intro_h_exists", @@ -953,7 +953,7 @@ "fuel_guarded_inversion_Steel.Memory.mem" ], 0, - "44f164d43412bf20160745baca7facd3" + "5cffc38bd4dcb3bd5d029c0901db2a13" ], [ "Steel.Memory.elim_h_exists", @@ -966,7 +966,7 @@ "fuel_guarded_inversion_Steel.Memory.mem" ], 0, - "1e3d95b2256c68443bb9745753008f85" + "79b76ebd1cd3ba896aad1f68c3308499" ], [ "Steel.Memory.mem_evolves", @@ -979,7 +979,7 @@ "refinement_interpretation_Tm_refine_e2245fc196de5b71293ba64ccf39fbac" ], 0, - "f36bae65cc3c308d35fb1c786013230f" + "9d249e8ec0d45c4f738fafcbac1abbbd" ], [ "Steel.Memory.mem_evolves", @@ -1010,7 +1010,7 @@ "typing_Steel.Memory.lock_store_evolves" ], 0, - "ed737d3d376c16fb77d3385804d451e3" + "55f8fabf594fbf82c221483b6ccd6a70" ], [ "Steel.Memory.ac_reasoning_for_m_frame_preserving", @@ -1024,7 +1024,7 @@ "lemma_Steel.Memory.reveal_equiv" ], 0, - "dd2317b574a5414bd7d184c4ce53a8c4" + "29a484a59b20a069525cc57e9bd3c0be" ], [ "Steel.Memory.is_frame_preserving", @@ -1038,7 +1038,7 @@ "refinement_interpretation_Tm_refine_deb237b0c4d319c8ca9c30634c46a898" ], 0, - "56719056aa2bde4a74a0604c1430a9e9" + "ef53940aae663585374f05f891333dbe" ], [ "Steel.Memory.hheap_of_hmem", @@ -1070,7 +1070,7 @@ "typing_Steel.Memory.locks_invariant" ], 0, - "f160e8231d36869ad85b96f2bbcafeef" + "267f577c6232633f78945a5b02350829" ], [ "Steel.Memory.hmem_of_hheap", @@ -1117,7 +1117,7 @@ "typing_Steel.Memory.locks_invariant", "typing_Steel.Memory.star" ], 0, - "fcbee18e30b2be111ba90bf29e3bf728" + "8f3ad8492266d9bfb9543b1844d3c420" ], [ "Steel.Memory.as_hprop", @@ -1144,7 +1144,7 @@ "typing_Steel.Memory.mem_of_heap" ], 0, - "8753f8f4988a1de72f245b1899d76e4f" + "f19c4cceb0e823736d912d8767c6d0b6" ], [ "Steel.Memory.mprop_preservation_of_hprop_preservation", @@ -1163,7 +1163,7 @@ "token_correspondence_Steel.Memory.as_hprop" ], 0, - "7fe599dbf9fb785d5fda81de24823efb" + "c9fc9d49b14bdc654028a3257b56a7aa" ], [ "Steel.Memory.lift_heap_action", @@ -1220,7 +1220,7 @@ "typing_Steel.Memory.locks_invariant", "typing_Steel.Memory.star" ], 0, - "ad2b9b5f5bdf1e02680ee9e3841c6065" + "36957eeb2c60056f3227f9c6cd24a8df" ], [ "Steel.Memory.frame_preserving_respects_preorder", @@ -1245,7 +1245,7 @@ "typing_Steel.Memory.__proj__Mkmem__item__heap" ], 0, - "198534d003454b757d4bf4748381330b" + "4b9a362033a5f813b19a7c3c5594e26f" ], [ "Steel.Memory.lift_tot_action_nf", @@ -1267,7 +1267,7 @@ "refinement_interpretation_Tm_refine_deb237b0c4d319c8ca9c30634c46a898" ], 0, - "44969d06d4caabc9d12a682d31bc6974" + "f7fece652fb2ea9a2437eed893005812" ], [ "Steel.Memory.lift_tot_action", @@ -1276,7 +1276,7 @@ 1, [ "@query", "equation_Steel.Memory.preserves_frame" ], 0, - "6bc10945cd1470573ae15e3bf66e8eb6" + "0510e0a9743ac5f665dbbe6f7420a4eb" ], [ "Steel.Memory.lift_heap_action_with_frame", @@ -1332,7 +1332,7 @@ "typing_Steel.Memory.star" ], 0, - "78f036bb5949bf80acc92e620b275b86" + "39c7aa757700e4d85637d84bb87202bf" ], [ "Steel.Memory.lift_tot_action_with_frame", @@ -1349,7 +1349,7 @@ "refinement_interpretation_Tm_refine_deb237b0c4d319c8ca9c30634c46a898" ], 0, - "fd96649ebcae9d92473a23fc0401cf29" + "e504ced54932c4d3b17c2e9ed246490f" ], [ "Steel.Memory.sel_action", @@ -1361,7 +1361,7 @@ "fuel_guarded_inversion_FStar.PCM.pcm" ], 0, - "8897ec13aa20ff0e3c056e6b05b91022" + "3cac8f6201396e87197bf8ba1778b487" ], [ "Steel.Memory.upd_action", @@ -1373,7 +1373,7 @@ "fuel_guarded_inversion_FStar.PCM.pcm" ], 0, - "d3efbfc0c0892f3de0a9eff7e97a2fc8" + "4fec2c6c794f51c45490def494b9f5e2" ], [ "Steel.Memory.free_action", @@ -1386,7 +1386,7 @@ "proj_equation_FStar.PCM.Mkpcm__one" ], 0, - "09b6066487e0b0574104edb6cffd954d" + "da942f8cb8ee2ec041bf0d5f6949355f" ], [ "Steel.Memory.split_action", @@ -1398,7 +1398,7 @@ "refinement_interpretation_Tm_refine_782bbf7acd60ae0036bd61a1f4d3807b" ], 0, - "11cdd936aea376834ac83cec750cbf4d" + "ac0983d1ad39531fa0437fdc47c5445e" ], [ "Steel.Memory.split_action", @@ -1411,7 +1411,7 @@ "refinement_interpretation_Tm_refine_782bbf7acd60ae0036bd61a1f4d3807b" ], 0, - "f2294060fda298db5eb01d8fe9054697" + "f7e6bbc0133103c052059a94caeff8e8" ], [ "Steel.Memory.gather_action", @@ -1423,7 +1423,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "6d06bba5e8e40d2177314293d7f99bc1" + "2554bfafe5585eef5f2664436f9a719c" ], [ "Steel.Memory.gather_action", @@ -1437,7 +1437,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "5d4c5ad5b1ee726f575081c6fa74da19" + "68f8fe0998d1c0ad54df15723780e60c" ], [ "Steel.Memory.weaken", @@ -1449,7 +1449,7 @@ "refinement_interpretation_Tm_refine_47a62d150952a9f041893d448e58053d" ], 0, - "ca014a5fa041967881b8735cd08ab588" + "2b77ee17b1e3faba73c9e4f50a5f9de6" ], [ "Steel.Memory.weaken_pure", @@ -1458,7 +1458,7 @@ 1, [ "@query", "equation_Steel.Heap.stronger" ], 0, - "4b5d210e747ca2c28d1586eee307c09d" + "614c102dc67f0735e7f62240d0fb43c7" ], [ "Steel.Memory.inc_ctr", @@ -1495,7 +1495,7 @@ "typing_Steel.Memory.__proj__Mkmem__item__heap" ], 0, - "43ad06077e65a1a300fcf082a85a9401" + "f5e2f5d03a6e10eaab2d7cd5da482a21" ], [ "Steel.Memory.refined_pre_action_as_action", @@ -1517,7 +1517,7 @@ "refinement_interpretation_Tm_refine_e2245fc196de5b71293ba64ccf39fbac" ], 0, - "f411618b9dd552003a90224d0d28c157" + "3c3e5bd5dfa61a2bc2aeb3c6eaa20916" ], [ "Steel.Memory.alloc_action", @@ -1585,7 +1585,7 @@ "typing_Steel.Memory.locks_invariant", "typing_Steel.Memory.star" ], 0, - "b92a9bb1ed6771d4986ebc0804c712c1" + "c51c32394f97e52c92c78e699553fec3" ], [ "Steel.Memory.select_refine", @@ -1594,7 +1594,7 @@ 1, [ "@query" ], 0, - "7392b9d695a63d04d6db8e6266879b59" + "8772aaf612a31e950a612c61891ce86f" ], [ "Steel.Memory.select_refine", @@ -1606,7 +1606,7 @@ "fuel_guarded_inversion_FStar.PCM.pcm" ], 0, - "8e0a022fd801d586ef4abbe8abb8b63a" + "74b3f8b774bd5c7a7217e7946cbcf106" ], [ "Steel.Memory.upd_gen", @@ -1618,7 +1618,7 @@ "fuel_guarded_inversion_FStar.PCM.pcm" ], 0, - "efa93b6cf7b16a5b37c3b88fbdcb1172" + "f66a7ef06375e9fa582d38669c21f0cb" ], [ "Steel.Memory.witnessed_ref", @@ -1631,7 +1631,7 @@ "refinement_interpretation_Tm_refine_e2245fc196de5b71293ba64ccf39fbac" ], 0, - "6bd1e23f1d1391bfceb161894c5280a1" + "7e2af31f770b0a9610125f68a219fbb7" ], [ "Steel.Memory.witnessed_ref_stability", @@ -1655,7 +1655,7 @@ "typing_Steel.Memory.heap_of_mem" ], 0, - "94f26a6f3d9f7778402b1f09e1a54f39" + "9e1d3a187ad3f5ecb9fa4d3721acc724" ], [ "Steel.Memory.rearrange_pqr_prq", @@ -1667,7 +1667,7 @@ "lemma_Steel.Memory.reveal_equiv" ], 0, - "726248c55413e73292af692fc9e72683" + "c50bc3f161aa422e288e2321f7c950bc" ], [ "Steel.Memory.preserves_frame_cong", @@ -1681,7 +1681,7 @@ "lemma_Steel.Memory.reveal_equiv" ], 0, - "b3276b0df99f12c7decdaf35f9b27d16" + "d187868aa6402c0790be617e32ec16c0" ], [ "Steel.Memory.pure_true_equiv", @@ -1690,7 +1690,7 @@ 1, [ "@query", "equation_Steel.Memory.equiv" ], 0, - "615946383c78260de38eb4efa2a4dda0" + "c13a3677170d8b4819b08ad27720fa34" ], [ "Steel.Memory.preserves_frame_star_pure", @@ -1706,7 +1706,7 @@ "typing_Steel.Memory.star", "unit_typing" ], 0, - "dfaf7b3bc761180b4cec88cf673de0b9" + "c725ddad3676529ca19cd71483733169" ], [ "Steel.Memory.witness", @@ -1737,7 +1737,7 @@ "typing_Steel.Memory.star", "unit_typing" ], 0, - "01ee21dc30d2c1a01c8fbee4248763a6" + "311c3b15c49b8045178aa20cb1314872" ], [ "Steel.Memory.recall", @@ -1767,7 +1767,7 @@ "typing_Steel.Memory.star" ], 0, - "ee477037463c11a49e422e442f2853f2" + "3cc2cfd4318ae3a978914917ef57e06c" ], [ "Steel.Memory.iname_for_p_stable", @@ -1798,7 +1798,7 @@ "token_correspondence_Steel.Memory.iname_for_p" ], 0, - "fabe8c5f070e2ac57909581d1e63fc85" + "40fe605a8600f015a1736a06b1af1bd3" ], [ "Steel.Memory.hmem_with_inv_equiv", @@ -1823,7 +1823,7 @@ "typing_Steel.Memory.star" ], 0, - "f09694b23fd5065ad0a4d3b32b48b348" + "6fcd9f90ee7e70941c2da1cc812d91b0" ], [ "Steel.Memory.new_invariant_tot_action", @@ -1918,7 +1918,7 @@ "typing_Steel.Memory.mem_evolves", "typing_Steel.Memory.star" ], 0, - "4b4670b1cd44d399426430dd4da61baa" + "c3e9bd77fde5615666c21b592d493ca9" ], [ "Steel.Memory.new_invariant", @@ -1941,7 +1941,7 @@ "typing_Steel.Memory.emp", "typing_Steel.Memory.hmem_with_inv_except" ], 0, - "9b7e6d32571b2af7906c75547122fb69" + "950212a657742978c4d855bd0f1eac2c" ], [ "Steel.Memory.rearrange_invariant", @@ -1955,7 +1955,7 @@ "lemma_Steel.Memory.reveal_equiv" ], 0, - "2eef0d939e5756d8b672f5360efb5d86" + "d783c27e8dcc41fced789e34e6b4d21e" ], [ "Steel.Memory.preserves_frame_invariant", @@ -1983,7 +1983,7 @@ "typing_Steel.Memory.star" ], 0, - "53c8744edeefd6b6b7346607521ea6ea" + "0bc403776ba7fa851211eec97bd7759c" ], [ "Steel.Memory.equiv_ext_right", @@ -1995,7 +1995,7 @@ "lemma_Steel.Memory.reveal_equiv" ], 0, - "fc8d4d10543cb95a984b25c5f6045a98" + "7e80afb8c5794b5802e59d3adef8d238" ], [ "Steel.Memory.with_inv_helper", @@ -2007,7 +2007,7 @@ "equation_Steel.Memory.star", "lemma_Steel.Memory.reveal_equiv" ], 0, - "6c44f506fb93ae9439ab93998ddd84c2" + "e988f2d9494748944a92b0317f7f207e" ], [ "Steel.Memory.with_invariant", @@ -2016,21 +2016,14 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Steel.Memory.lock_store_invariant.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Steel.Memory_interpretation_Tm_ghost_arrow_9795a6b43f8ada736381f0d7f06aefac", - "Steel.Memory_pretyping_6bdcb9cab1a52347ef3a7703e3229ec7", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Mkdtuple2", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Pervasives.dfst", + "b2t_def", "bool_inversion", "data_elim_Prims.Mkdtuple2", + "eq2-interp", "equation_FStar.Pervasives.dfst", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Steel.Memory.add_inv", "equation_Steel.Memory.equiv", "equation_Steel.Memory.full_mem", "equation_Steel.Memory.iname", @@ -2038,57 +2031,44 @@ "equation_Steel.Memory.iname_for_p_mem", "equation_Steel.Memory.inames", "equation_Steel.Memory.inames_in", "equation_Steel.Memory.inames_ok", "equation_Steel.Memory.inv", - "equation_Steel.Memory.lock_i", "equation_Steel.Memory.lock_store", + "equation_Steel.Memory.lock_store", "equation_Steel.Memory.locks_invariant", "equation_Steel.Memory.mem_inv", "equation_Steel.Memory.name_of_inv", "equation_Steel.Memory.set_add", "equation_Steel.Memory.slprop", "equation_Steel.Memory.star", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_Steel.Memory.lock_store_invariant.fuel_instrumented", "fuel_guarded_inversion_Prims.dtuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Steel.Memory.iname_for_p_mem", - "int_inversion", "interpretation_Tm_abs_89cf27beb2334ca6a1502437250565a2", "interpretation_Tm_abs_a9ef474c960f5109c07f469fc4840b8c", "interpretation_Tm_abs_d716b89c7122244f867c074692bc6a31", - "kinding_Steel.Memory.lock_state@tok", "l_and-interp", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", + "l_and-interp", "lemma_FStar.Ghost.hide_reveal", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_union", "lemma_Steel.Memory.equiv_heap_iff_equiv", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Mkdtuple2__1", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThan", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Steel.Memory.Invariant_inv", "proj_equation_Steel.Memory.Mkmem_locks", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e5faf9baa891750c12708114dbafd00", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "refinement_interpretation_Tm_refine_e07018fc241889786cc751d62d2d651d", "refinement_interpretation_Tm_refine_e2245fc196de5b71293ba64ccf39fbac", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Steel.Memory.iname_for_p", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.tail", "typing_FStar.List.Tot.Base.tl", - "typing_FStar.Set.mem", "typing_FStar.Set.set", + "typing_FStar.Ghost.reveal", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_Steel.Memory.__proj__Mkmem__item__locks", "typing_Steel.Memory.add_inv", "typing_Steel.Memory.iname", - "typing_Steel.Memory.lock_i", "typing_Steel.Memory.lock_store_invariant", "typing_Steel.Memory.mem_inv", "typing_Steel.Memory.name_of_inv", "typing_Steel.Memory.star", "typing_Tm_abs_d716b89c7122244f867c074692bc6a31" ], 0, - "a3c07e213c4b617104f15399757b5595" + "d22859771578646af33f1c8eafcdf94f" ], [ "Steel.Memory.equiv_pqrs_p_qr_s", @@ -2102,7 +2082,7 @@ "refinement_interpretation_Tm_refine_7f6550cba00bb19d69b6713b52b71833" ], 0, - "b07fd4a7a6b217eaf44314f758dd962c" + "61be3bbba25cea09005e42dc1841e61b" ], [ "Steel.Memory.frame", @@ -2123,7 +2103,7 @@ "refinement_interpretation_Tm_refine_d13ff5e7a2dcec6ca4a9195f0dca7981" ], 0, - "426176d1e69e6bef2bfbfd1b9e729dc5" + "160182efc89a661866fb0dcf077d1da0" ], [ "Steel.Memory.frame", @@ -2147,7 +2127,7 @@ "refinement_interpretation_Tm_refine_e2245fc196de5b71293ba64ccf39fbac" ], 0, - "f311438277ffb832744e459b91eca935" + "a97fca4a52dafe0804d8cf005f899c90" ], [ "Steel.Memory.change_slprop", @@ -2161,7 +2141,7 @@ "projection_inverse_Steel.Memory.Mkmem_heap" ], 0, - "3b88299d73dd00a8fb24c7ec0732a389" + "2bebbd336acdd9902626dbd92246cd78" ], [ "Steel.Memory.relate_frame_monotonic_1", @@ -2176,7 +2156,7 @@ "typing_Steel.Memory.__proj__Mkmem__item__heap" ], 0, - "b3728ba349f082622ca0a9e8c9c3ae08" + "adcb7dab6fde2802bc7b24400111caca" ], [ "Steel.Memory.relate_frame_monotonic_2", @@ -2194,7 +2174,7 @@ "typing_Steel.Memory.mem_of_heap" ], 0, - "1badac63ddec1fdf668cc40bf84b83f7" + "fc2ed662b732b1f345f4fe3885d32b8c" ], [ "Steel.Memory.witness_h_exists", @@ -2203,7 +2183,7 @@ 1, [ "@query", "equation_Steel.Memory.h_exists" ], 0, - "628d34ac86208265d422b897ef85c537" + "0556c1bc4833011c41c69b215a55bc6f" ], [ "Steel.Memory.lift_h_exists", @@ -2215,7 +2195,7 @@ "equation_Steel.Memory.slprop" ], 0, - "22935380ccc85499d18918c360db5a48" + "00cf96957f7677d44fb3568cc8daeadf" ], [ "Steel.Memory.elim_pure", @@ -2224,7 +2204,7 @@ 1, [ "@query", "equation_Steel.Memory.emp", "equation_Steel.Memory.pure" ], 0, - "cc1be2300c32d48e20bf008d334643bd" + "46cb627b18dfa0c0419e3f382e8ac0c7" ], [ "Steel.Memory.pts_to_join", @@ -2238,7 +2218,7 @@ "fuel_guarded_inversion_Steel.Memory.mem" ], 0, - "7cde9f616d28e3329383d0d00979b95b" + "463ddab6bccb7a165a951a36ccb55a17" ], [ "Steel.Memory.pts_to_evolve", @@ -2253,7 +2233,7 @@ "fuel_guarded_inversion_Steel.Memory.mem" ], 0, - "af73c85d0806b8b6fbe3ff7f54880bef" + "a9a8e10da1e9029e9b7ff4cd82cbecaf" ], [ "Steel.Memory.id_elim_star", @@ -2262,7 +2242,7 @@ 1, [ "@query" ], 0, - "45fde2059841ef315dcca79ca6458003" + "b7b4ec15b5e57b5a0863df6ebcaaef27" ], [ "Steel.Memory.id_elim_star", @@ -2279,7 +2259,7 @@ "refinement_interpretation_Tm_refine_accbe928afe3bd35f89b44aa190dc70c" ], 0, - "f1afe04c5cc919ed69565686e0cadbb6" + "1a4422c43259d16ab5de5c57490a9e0d" ], [ "Steel.Memory.id_elim_exists", @@ -2292,7 +2272,7 @@ "refinement_interpretation_Tm_refine_2189d4a2649b143ab07e02954af8d46c" ], 0, - "15140d97e8f7d7fce0231191ac80fbcc" + "edaee22ff31bddbc1501b919abf7ba29" ], [ "Steel.Memory.slimp_star", @@ -2307,7 +2287,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "bbe7ea3f3ab9d690948272a4bd263e95" + "6ce874169cdd90b006a186538b5799ed" ], [ "Steel.Memory.elim_wi", @@ -2321,7 +2301,7 @@ "refinement_interpretation_Tm_refine_984817340650f84e8ca92a7803afdb66" ], 0, - "8d00a748017bc090a1b712fca44f295f" + "da74f6e821efe78bd33b381ae5784b48" ], [ "Steel.Memory.witinv_framon", @@ -2336,7 +2316,7 @@ "lemma_Steel.Memory.affine_star_smt" ], 0, - "ba10a6a06066186e7f92acdfdee3d25b" + "54fdc59ef5bc530602465a6ae0e9021b" ], [ "Steel.Memory.star_is_frame_monotonic", @@ -2357,7 +2337,7 @@ "typing_Steel.Memory.star" ], 0, - "3fdd09a04956cc77da2ff8e69a36c039" + "7badd9f3b70b0e8640868e0ae45f5ee5" ], [ "Steel.Memory.star_is_witinv_left", @@ -2373,7 +2353,7 @@ "lemma_Steel.Memory.affine_star_smt" ], 0, - "b3991616d574b7d2e63cd005fddadc84" + "25e4f6cb651e52c2c29e6e51586e829d" ], [ "Steel.Memory.star_is_witinv_right", @@ -2389,7 +2369,7 @@ "lemma_Steel.Memory.affine_star_smt" ], 0, - "eb8166b482e641087611475bb80261e5" + "15f19ed910868196666bf6d7eb8d2e51" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Memory.fsti.hints b/lib/steel/Steel.Memory.fsti.hints index dc13e4e52..0b7a83663 100644 --- a/lib/steel/Steel.Memory.fsti.hints +++ b/lib/steel/Steel.Memory.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "1ea350aea074ce592acc9f473332831e" + "2e6e1cb4d6a7564dde95538e5ac48f9b" ], [ "Steel.Memory.disjoint_join", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "f71aa506cd72dd9ece0709b9dce2b8fa" + "8b4d5878439fd3dd3c09a8bb9b3f69df" ], [ "Steel.Memory.join_associative", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_b0e7dfa1e7af76a2bbbf2a5a03a80662" ], 0, - "f10186d4be067ffe83df931b3875e825" + "ed4d80de154546e7a805ee379c5c4e81" ], [ "Steel.Memory.is_null", @@ -38,7 +38,7 @@ 1, [ "@query", "equation_Steel.Memory.null" ], 0, - "283943d04201dfe800fd0c568f18e7b6" + "9b413595e0ed079e89e21458d2e0b9dd" ], [ "Steel.Memory.pts_to_compatible", @@ -47,7 +47,7 @@ 1, [ "@query" ], 0, - "18fff049365bc684f3c5d8bb68d6d36a" + "fb72513351979b19d8a1ad80df0dd272" ], [ "Steel.Memory.intro_star", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "470974b11ff35ee0ef6a7e3eac83fd12" + "173dc07c5c4d30a14bbec4ca18aff89c" ], [ "Steel.Memory.interp_star", @@ -68,7 +68,7 @@ 1, [ "@query" ], 0, - "677cd6d76ad8573f5e2809ca63c2cab1" + "ad91b77164de8ab32713b3d1684ab55e" ], [ "Steel.Memory.mem_prop_is_affine", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "1bb1f8f5cb15d5ec00576c5142a031d0" + "ca6e07c2bd199f2b8801f2578a72d08a" ], [ "Steel.Memory.interp_refine_slprop", @@ -90,7 +90,7 @@ 1, [ "@query" ], 0, - "4579c713c5f0cc9a6ae4d2afe1914cb8" + "8bb9b905d79d3daabf373fb038205d75" ], [ "Steel.Memory.dep_slprop_is_affine", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "161ad20e110c59ab95e99e7a0a71a916" + "5987caa343c2c250e24e37a3b652ac0a" ], [ "Steel.Memory.split_action", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_782bbf7acd60ae0036bd61a1f4d3807b" ], 0, - "3e15a21cea480a626505f71fbfaf8058" + "894ece9b3481efdd6fe1fb361e515911" ], [ "Steel.Memory.gather_action", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "6a6139e57995864491037ca710f45977" + "c3975900ef60cb67f2544c77d36c7f00" ], [ "Steel.Memory.select_refine", @@ -136,7 +136,7 @@ 1, [ "@query" ], 0, - "f5933f21ffe8bdeff758cb4e6bd6d17f" + "81d9a8adff1a243ce5f08a442b1865e8" ], [ "Steel.Memory.frame", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_d13ff5e7a2dcec6ca4a9195f0dca7981" ], 0, - "f0132fb6ceb26d231cd687c2124ec7b9" + "ed173a57120a0bc9f719c383d5b8f807" ], [ "Steel.Memory.id_elim_star", @@ -165,7 +165,7 @@ 1, [ "@query" ], 0, - "efaf12263cca5171e7948743b3800e33" + "b3588d8a526a35974ad2277e63923426" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.MonotonicCounter.fst.hints b/lib/steel/Steel.MonotonicCounter.fst.hints index e27ffca0b..fbbc60f74 100644 --- a/lib/steel/Steel.MonotonicCounter.fst.hints +++ b/lib/steel/Steel.MonotonicCounter.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b5d97d4a49a986bf3ad3bbf05e80940f" + "e947b3ed1d57c451eb15c35af5c83229" ], [ "Steel.MonotonicCounter.mctr_pcm", @@ -45,7 +45,7 @@ "typing_Tm_abs_4785b8b79165f5b379972d7bfa9a5beb" ], 0, - "294c37100b305e381234a17d322803df" + "67cf72d1dfa41ebe1ba3eddff6685190" ], [ "Steel.MonotonicCounter.increasing", @@ -61,7 +61,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "dad3490cb0e01dc5adc4fae429171f86" + "82b9708464ceb6ba3c4163fc26365fef" ], [ "Steel.MonotonicCounter.mctr_induces_increases", @@ -111,7 +111,7 @@ "typing_Steel.MonotonicCounter.increasing" ], 0, - "ca1cf90ea9707b1a86b1ac1595163a7a" + "316b4a73c54e600cc4a9837c598a74b9" ], [ "Steel.MonotonicCounter.test", @@ -145,7 +145,7 @@ "typing_Steel.MonotonicCounter.increasing" ], 0, - "20a907209fb43962a6804c1d491e5dad" + "59298edb52a34e236fd896d387695c74" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.MonotonicHigherReference.fst.hints b/lib/steel/Steel.MonotonicHigherReference.fst.hints index 34f3844d1..d1ca57e38 100644 --- a/lib/steel/Steel.MonotonicHigherReference.fst.hints +++ b/lib/steel/Steel.MonotonicHigherReference.fst.hints @@ -35,7 +35,7 @@ "typing_Steel.Preorder.pcm_history" ], 0, - "b918da00f54da6776b572a135df4eba6" + "e78649b000b76b6d1e52e320b3a3032b" ], [ "Steel.MonotonicHigherReference.alloc", @@ -59,7 +59,9 @@ "disc_equation_Steel.Preorder.Current", "eq2-interp", "equation_FStar.PCM.compatible", "equation_FStar.PCM.composable", "equation_FStar.PCM.op", "equation_FStar.PCM.symrel", + "equation_FStar.Real.one", "equation_Steel.FractionalPermission.full_perm", + "equation_Steel.FractionalPermission.sum_perm", "equation_Steel.Preorder.curval", "equation_Steel.Preorder.extends", "equation_Steel.Preorder.hist", "equation_Steel.Preorder.history_composable", @@ -77,7 +79,9 @@ "interpretation_Tm_abs_66ad3f282f6ad35c9c8dfa9bf46c62dd", "kinding_Steel.Preorder.history@tok", "l_and-interp", "l_or-interp", "lemma_Steel.Preorder.p_op_extends", "lemma_Steel.Preorder.p_op_nil", + "primitive_FStar.Real.of_int", "primitive_FStar.Real.op_Less_Equals_Dot", + "primitive_FStar.Real.op_Plus_Dot", "proj_equation_FStar.PCM.Mkpcm__composable", "proj_equation_FStar.PCM.Mkpcm__op", "proj_equation_FStar.PCM.Mkpcm_p", @@ -85,6 +89,8 @@ "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", "proj_equation_Steel.FractionalPermission.MkPerm_v", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_BoxReal_proj_0", "projection_inverse_FStar.PCM.Mkpcm__composable", "projection_inverse_FStar.PCM.Mkpcm__op", "projection_inverse_FStar.PCM.Mkpcm_p", @@ -118,7 +124,7 @@ "typing_Steel.Preorder.unit_history" ], 0, - "4e9ee6bd9fee2e389dccf5d7539dd602" + "dcdc83793903e39fe646cc07a14e67fb" ], [ "Steel.MonotonicHigherReference.extract_pure", @@ -152,7 +158,7 @@ "typing_Steel.Preorder.pcm_history" ], 0, - "830889dfd580cd6079cd4ab08e9c6f86" + "7e335e642d0a2c01939ba8b9446ab02f" ], [ "Steel.MonotonicHigherReference.elim_pure", @@ -164,7 +170,7 @@ "refinement_interpretation_Tm_refine_87905550a7577e55213f5413011bfdc1" ], 0, - "e4ec22ea2e32630beab598f71d43ea3a" + "d7d8962db234b03ae2111aca156e8017" ], [ "Steel.MonotonicHigherReference.rewrite_erased", @@ -178,7 +184,7 @@ "lemma_FStar.Ghost.hide_reveal" ], 0, - "cb529d08620f203986ca927005a59491" + "afbed16e19b823a239fa5d94ed54f402" ], [ "Steel.MonotonicHigherReference.rewrite_reveal_hide", @@ -187,7 +193,7 @@ 1, [ "@query" ], 0, - "c09d3335acd10de02475d635bc59b5d9" + "14e93442253fa9210e55c67b2858a9d8" ], [ "Steel.MonotonicHigherReference.read_refine", @@ -274,7 +280,7 @@ "typing_Steel.Preorder.uu___is_Current" ], 0, - "b96373478ccb4838161b13dcd01bebbe" + "a33cd2c0852acbfca7e7866a89eb3f7b" ], [ "Steel.MonotonicHigherReference.write", @@ -399,7 +405,7 @@ "typing_Steel.Preorder.uu___is_Current" ], 0, - "d21c60b2b5ee4a40bd26fa02390a542c" + "109b523a080edab155d1d336b5b54229" ], [ "Steel.MonotonicHigherReference.get_squash", @@ -411,7 +417,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f9edf211ffbd064e12799f76dbecadfe" + "41b434d5a9f410894a836e904e72ce50" ], [ "Steel.MonotonicHigherReference.witness_thunk", @@ -424,7 +430,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b63c64a7c27af5d2f18f9a3a6a400e36" + "0473abff8d12910ad2edc75cc529f3e2" ], [ "Steel.MonotonicHigherReference.witness", @@ -511,7 +517,7 @@ "typing_Steel.Preorder.uu___is_Current" ], 0, - "1e245618cfb060ca90aebc4edd8bb5f5" + "a15ae09a5a37d0bde4b0353ce4af15ac" ], [ "Steel.MonotonicHigherReference.recall", @@ -598,7 +604,7 @@ "typing_Steel.Preorder.uu___is_Current" ], 0, - "8f9392f6c66a4d2bb03291b758acaf12" + "1864749362b60d91b7fa99cc62efe99a" ], [ "Steel.MonotonicHigherReference.elim_pts_to", @@ -616,7 +622,7 @@ "typing_Steel.MonotonicHigherReference.pts_to_" ], 0, - "156a5f3914aa43d6048e5627c22f2778" + "c610e661237034e412cf5a71bfdeb5f5" ], [ "Steel.MonotonicHigherReference.intro_pts_to", @@ -625,7 +631,7 @@ 1, [ "@query" ], 0, - "d611e6d5b53b70ecbc7b8a1f6c3cbcba" + "920a8613b06027d1fd78b6bee63c4373" ], [ "Steel.MonotonicHigherReference.share", @@ -663,7 +669,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.Preorder.uu___is_Current" ], 0, - "2f09b49d0f6523a64e42302543d345ed" + "e8ddc4cf6396dafaec390c3857c02cf1" ], [ "Steel.MonotonicHigherReference.gather", @@ -704,7 +710,7 @@ "token_correspondence_Steel.Preorder.history_compose" ], 0, - "2f2c671736ed90a2e3aee4a50a690ba0" + "1c1de6f00c5f07500f58c4ac8360e619" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.MonotonicReference.fst.hints b/lib/steel/Steel.MonotonicReference.fst.hints index 33780efa4..68b5dedb5 100644 --- a/lib/steel/Steel.MonotonicReference.fst.hints +++ b/lib/steel/Steel.MonotonicReference.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.Universe.downgrade_val" ], 0, - "db917aa6c3c0a30b7b850b3cb6decb54" + "b8d5700052f5ab54ac73236140a3d73c" ], [ "Steel.MonotonicReference.alloc", @@ -28,7 +28,7 @@ "equation_Steel.MonotonicReference.pts_to_sl" ], 0, - "71814dacfa96d38d073404c385a5efa4" + "c141d7a00429719a976d615789c679a1" ], [ "Steel.MonotonicReference.write", @@ -45,7 +45,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "b3c98e1da5119eb45c8eec08423b997d" + "d33616aa16e8fcd18e6208074e8ad2b6" ], [ "Steel.MonotonicReference.witness", @@ -67,7 +67,7 @@ "typing_FStar.Ghost.reveal", "typing_FStar.Universe.downgrade_val" ], 0, - "2ec9508266fad504e9d3a8f3f6654c99" + "68055824e148476aae0e2b300f934ed3" ], [ "Steel.MonotonicReference.recall", @@ -82,7 +82,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "8cf4e7273f22ea58171d5c55913f59ea" + "8c3b477b2b70b6e36d1509986a0acaf7" ], [ "Steel.MonotonicReference.share", @@ -91,7 +91,7 @@ 1, [ "@query" ], 0, - "75c0e87041e36a5c157bbe99b2ec7bf9" + "890872e503fd408f09fb886ed07abdf7" ], [ "Steel.MonotonicReference.gather", @@ -100,7 +100,7 @@ 1, [ "@query" ], 0, - "9f523e0764533c9e85990f2ed78c7626" + "7019a9c0c29aa9ee76dd8b1066db5547" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.PCMFrac.fst.hints b/lib/steel/Steel.PCMFrac.fst.hints index 78fecf8d3..b8852e2bb 100644 --- a/lib/steel/Steel.PCMFrac.fst.hints +++ b/lib/steel/Steel.PCMFrac.fst.hints @@ -25,7 +25,7 @@ "projection_inverse_Steel.FractionalPermission.MkPerm_v" ], 0, - "4ecd6a5af2b0be09a38d878c1884d148" + "0a828a074d994d107d3c76794e45ade9" ], [ "Steel.PCMFrac.compose", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_e34ec01f969996fbd8642373073c38cc" ], 0, - "ad77cfc3a974d42c751467853ecf2f07" + "80fc4295277596f9891806b57e47a4ee" ], [ "Steel.PCMFrac.pcm_frac", @@ -123,7 +123,7 @@ "typing_Steel.PCMFrac.fractional", "unit_typing" ], 0, - "aa4c74f1900e6733dedfe8b55e750633" + "8a7a036aa75dc84fcd3e48936fff2797" ], [ "Steel.PCMFrac.mk_frame_preserving_upd", @@ -185,7 +185,7 @@ "typing_Steel.FractionalPermission.__proj__MkPerm__item__v" ], 0, - "f746757419528416827975e42c0ef114" + "001d8a8d42c328709d05f2cac76673cc" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.PCMMap.fst.hints b/lib/steel/Steel.PCMMap.fst.hints index 4da0850d7..8990f05ec 100644 --- a/lib/steel/Steel.PCMMap.fst.hints +++ b/lib/steel/Steel.PCMMap.fst.hints @@ -18,7 +18,7 @@ "typing_FStar.Set.empty" ], 0, - "0dd7c12311caa34b24e3215f9b240d9d" + "16ed516108ec61ebdf35c227676ceba2" ], [ "Steel.PCMMap.composable_maps_comm", @@ -38,7 +38,7 @@ "typing_FStar.Map.sel", "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "fd49b256317250ad628e74eb4b1cdcca" + "81b79e815c98a1b1c10a3a80faf0e310" ], [ "Steel.PCMMap.compose_maps_comm", @@ -72,7 +72,7 @@ "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47" ], 0, - "296121cac5df3573d6668e4c3e060d5a" + "e709da12b24f0309acb37cd690875eb3" ], [ "Steel.PCMMap.composable_maps_assoc_l", @@ -100,7 +100,7 @@ "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47" ], 0, - "85bfe2210404f0707350e63b827e7b2c" + "974aa231589ac01801f079216daa016e" ], [ "Steel.PCMMap.composable_maps_assoc_r", @@ -128,7 +128,7 @@ "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47" ], 0, - "2c6e5bd30c1e9c107b891a564bc99c5f" + "bb2f190195ee3dfb8dc76f633687c00a" ], [ "Steel.PCMMap.pcm'_map_of_pcm", @@ -160,7 +160,7 @@ "typing_FStar.Set.mem" ], 0, - "d5eeceaffa73d9235ec195f4d445cc2b" + "73a11b590789096fdd6f1dc6302486c1" ], [ "Steel.PCMMap.is_unit", @@ -205,7 +205,7 @@ "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47" ], 0, - "751e701de5e13166abf84fb03f5d0109" + "1c03696c440a47080d6354f17cb83655" ], [ "Steel.PCMMap.pointwise", @@ -241,7 +241,7 @@ "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47" ], 0, - "183c0f14767f2bf0877d715b8c926fbf" + "d8b697ed2530a90986d8d9cb8de62da7" ], [ "Steel.PCMMap.compatible_pointwise", @@ -281,7 +281,7 @@ "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47" ], 0, - "e9f91a5697b07d6f3612db6fc11eee69" + "c8b2078310857b1c6139a874e2145ab0" ], [ "Steel.PCMMap.compatible_pointwise_upd", @@ -338,7 +338,7 @@ "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47" ], 0, - "c58bd814b6a144d609d458197f717ab7" + "6b58ce4c4a078ea7a604d7088df12986" ], [ "Steel.PCMMap.lift_frame_preservation", @@ -396,7 +396,7 @@ "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47" ], 0, - "39120dd6344f740609a665d511666720" + "b1fa7bfb22def98691e82f5ab5b8039b" ], [ "Steel.PCMMap.lift_frame_preserving_upd", @@ -443,7 +443,7 @@ "typing_Steel.PCMMap.map", "typing_Steel.PCMMap.pcm__map_of_pcm" ], 0, - "3331c8a0768866a2ac34f10f0fafaacf" + "833901a951e89e4b3cf45d922d81e996" ], [ "Steel.PCMMap.lift_composable", @@ -483,7 +483,7 @@ "typing_Steel.PCMMap.pcm__map_of_pcm" ], 0, - "a0a1e4b8afc3f3cf38034ffc3bd01402" + "d737323a0064a469cdaae3da5a7abb42" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.PCMReference.fst.hints b/lib/steel/Steel.PCMReference.fst.hints index d800420c1..6efa51e73 100644 --- a/lib/steel/Steel.PCMReference.fst.hints +++ b/lib/steel/Steel.PCMReference.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_efd80b63dfc41f480a66e6cc9ae0681f" ], 0, - "ef2c2d978706ed4ba49446f12ebd5e02" + "50dd6242da2f59824b61dfe013fb5e4b" ], [ "Steel.PCMReference.alloc", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "f109c9ad1d249e60f76a490f0710f3a5" + "73f6510f09b090693f6ecc2c351f5831" ], [ "Steel.PCMReference.split'", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_782bbf7acd60ae0036bd61a1f4d3807b" ], 0, - "cd3c0a3d9acd9a019722acf8c4223361" + "e2fdcccb62a0da2fd7e92bb5cc46f1db" ], [ "Steel.PCMReference.split'", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_782bbf7acd60ae0036bd61a1f4d3807b" ], 0, - "d05355fe6aa8f306ec5604099425d019" + "a4eef93381e77ccc7131d3360d131371" ], [ "Steel.PCMReference.split", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "336e823156436a5cbe4a107ca0c386e9" + "37eb0ce172a1866889f79e03bcbbe5ef" ], [ "Steel.PCMReference.split", @@ -62,7 +62,7 @@ 1, [ "@query", "lemma_FStar.Ghost.reveal_hide" ], 0, - "8ecc6867d665e5f7949ee9a86787e91b" + "d96106f1c913fcd09ba39baef2cc777a" ], [ "Steel.PCMReference.gather'", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "8e1c783cc55c2c40cbeb327c5c70d34f" + "2ceb786941de4ba46d4ec59ec52120b3" ], [ "Steel.PCMReference.gather'", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "98e08a10218c345f71659f94809011ce" + "cdb7f59a3754f0b323873655b6c687ad" ], [ "Steel.PCMReference.gather", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "cc9e06010de5a84abb07aa8c58a7071f" + "3a69c00e3a421e2918ed5fc932df1e14" ], [ "Steel.PCMReference.gather", @@ -107,7 +107,7 @@ 1, [ "@query" ], 0, - "2b28c8d8e927ff91149ac29aaa51ed98" + "4533316eb4dc74e8431030912c49d2c1" ], [ "Steel.PCMReference.witness'", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_816f3fe7bd55a9e3150fe37777137c20" ], 0, - "d9f8af74ca06e077455f276018bccae6" + "def713ec40c5054a15a2e9ccf45d4bc7" ], [ "Steel.PCMReference.recall", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_0d14442af494dfdd8c31713e8d41dae7" ], 0, - "6549952c71153c81957e0669f7b93ab6" + "b80adebc86bff8896af76024edb231c3" ], [ "Steel.PCMReference.select_refine", @@ -142,7 +142,7 @@ 1, [ "@query" ], 0, - "af1bcc9aaa051de3191967f83083fc1a" + "fe7c7a75c5870561c4c0c4bf063f6b74" ], [ "Steel.PCMReference.select_refine", @@ -151,7 +151,7 @@ 1, [ "@query" ], 0, - "54ea0d14da6a61f7f1d91baa0d7d3d67" + "490ee32577fc7698c0ec66465b1400a9" ], [ "Steel.PCMReference.atomic_read", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_efd80b63dfc41f480a66e6cc9ae0681f" ], 0, - "4c074b05e57d4139b517add8cef941a8" + "6262951ef41642e05f191a9d053dfa89" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.PCMReference.fsti.hints b/lib/steel/Steel.PCMReference.fsti.hints index d2f6c585d..d07e0c8d9 100644 --- a/lib/steel/Steel.PCMReference.fsti.hints +++ b/lib/steel/Steel.PCMReference.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d57d05c8a0c7597db0ffc64fdc67ce2e" + "6d35338fb2109acccb490abf678866f7" ], [ "Steel.PCMReference.gather", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "c3a2e5cf1af12661e1544aee607e7f2d" + "2ceb786941de4ba46d4ec59ec52120b3" ], [ "Steel.PCMReference.select_refine", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "131948fbbee3a1ac7195edd2fff5a97c" + "b8c26ccec6b2cddd2e2e4c8cb3f0feff" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Preorder.fst.hints b/lib/steel/Steel.Preorder.fst.hints index 8456e7db7..0e3e2ef92 100644 --- a/lib/steel/Steel.Preorder.fst.hints +++ b/lib/steel/Steel.Preorder.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3353f17a1c42ae59b05c85c19be82cbc" + "b2f456d91b1e7212b74d0e9eb79ed3ae" ], [ "Steel.Preorder.preorder_of_pcm", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "46a31df60d5dfce7ede27c75c2fedba8" + "24ccdbeec772a4171fc5f551f759ef2f" ], [ "Steel.Preorder.frame_preserving_upd_is_preorder_preserving", @@ -44,7 +44,7 @@ "token_correspondence_Steel.Preorder.preorder_of_pcm" ], 0, - "14460113d1504456b0b458b30db8e437" + "c05edf43c076b24ea56be6b3bc30d644" ], [ "Steel.Preorder.stability", @@ -60,7 +60,7 @@ "l_quant_interp_cd6ffab20b5b8c66e66b8e0c2ab2f12b" ], 0, - "4fd7de82fd3a0bc4bdb15be9eaccadfb" + "3b2f97b1e0173222db297dcdd0b80f3a" ], [ "Steel.Preorder.stable_compatiblity", @@ -75,7 +75,7 @@ "token_correspondence_Steel.Preorder.preorder_of_pcm" ], 0, - "eb75c873c54e8bcc695564666c33f4e8" + "bf9311e0782b0e7c735e5205123cab47" ], [ "Steel.Preorder.qhistory", @@ -95,7 +95,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "bf78436cbf463185d6d99efa43de23db" + "ec45a18bbf51eedf4f0e5d9f9462639c" ], [ "Steel.Preorder.extends'", @@ -120,7 +120,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "b9c63b1c0bfb7d1c94846b40520f89a0" + "af3fee03a622554b4a8eb2055e72637e" ], [ "Steel.Preorder.extends_trans", @@ -153,7 +153,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "8b639fce2b49a7eb49221ccf42c4ef84" + "d32d69c93dfbd4c46a89b04f1bcb135f" ], [ "Steel.Preorder.extends", @@ -172,7 +172,7 @@ "token_correspondence_Steel.Preorder.extends_" ], 0, - "42a5864ed3734add0901c047f961a911" + "d93c8c945b17d88feb6fa41f5be2f1e7" ], [ "Steel.Preorder.extends_length_eq", @@ -212,7 +212,7 @@ "token_correspondence_Steel.Preorder.extends_", "true_interp" ], 0, - "3a4bd5e71e9c3a47abea0d4a3d7d2d0f" + "170ee379e942dce9750baacc5a252967" ], [ "Steel.Preorder.p_composable", @@ -221,7 +221,7 @@ 1, [ "@query" ], 0, - "4e116de9280d1edbd518c7e9e72bec4d" + "ae0303481d13c95ec90113e4d0c7c0b7" ], [ "Steel.Preorder.p_op", @@ -240,7 +240,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dd9dd0b1079ce8e4df82b98655277c1e" + "b3a1dad1fb501e4604f4fc159841fdbf" ], [ "Steel.Preorder.p_op_extends", @@ -281,7 +281,7 @@ "typing_Prims.uu___is_Cons", "typing_Steel.Preorder.p_op" ], 0, - "f43f0fe5c8dd5ac45619d2327892c20d" + "c48b4596498dad31eaab8db133a03571" ], [ "Steel.Preorder.p_op_nil", @@ -297,7 +297,7 @@ "projection_inverse_Prims.Nil_a", "true_interp" ], 0, - "1d824a890949f1a870708b1e3c14a138" + "e8f34dc4e43260d2068c191aefdad0ce" ], [ "Steel.Preorder.p_op_nil", @@ -350,7 +350,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "5a6715b7f2bee3592bae0f03c025e9c8" + "1d369d14ac81d1a660da53ae72a93801" ], [ "Steel.Preorder.p", @@ -366,7 +366,7 @@ "projection_inverse_Prims.Nil_a", "true_interp" ], 0, - "95da4d9705d61cf92040a7bb4315a5b5" + "8e11f3fd00c4cf4b727e1edb66616aa1" ], [ "Steel.Preorder.comm", @@ -379,7 +379,7 @@ "l_or-interp", "token_correspondence_Steel.Preorder.p_composable" ], 0, - "0eb3d2420b0c4f18fad14e7ae8b2c3ed" + "f61ead241821707c40d953c96f1d6d0a" ], [ "Steel.Preorder.comm_op", @@ -409,7 +409,7 @@ "typing_Steel.Preorder.p_composable", "typing_Steel.Preorder.p_op" ], 0, - "04c7bd4efb585b5d4209fde29459ff1a" + "ab7ca1788e235983d7a7dbcd40cdce8f" ], [ "Steel.Preorder.extends_disjunction", @@ -445,7 +445,7 @@ "token_correspondence_Steel.Preorder.extends_", "true_interp" ], 0, - "df1b48453f469e9f2323f9c7b8e4c1c4" + "fdd633acae43b2bd27c40a6637abfd85" ], [ "Steel.Preorder.extends_related_head", @@ -454,7 +454,7 @@ 1, [ "@query" ], 0, - "131f835d54a31cb0f0f3c68c1456b00d" + "7eb2598a52a04c30547e511953083c92" ], [ "Steel.Preorder.extends_related_head", @@ -496,7 +496,7 @@ "typing_Prims.uu___is_Cons" ], 0, - "18ee71b3f02021d097d11390fbe9cac1" + "0a64331ddfd1f85e38d89cd3c3686284" ], [ "Steel.Preorder.pcm_of_preorder", @@ -564,7 +564,7 @@ "typing_Steel.Preorder.p", "typing_Steel.Preorder.p_op" ], 0, - "121c07ece9743d595b22a54bdc3811e9" + "a8ad329e16fad9933824120221dc02f1" ], [ "Steel.Preorder.frame_preserving_q_aux", @@ -594,7 +594,7 @@ "token_correspondence_Steel.Preorder.p_op", "typing_Steel.Preorder.p" ], 0, - "afad212117ce638d5f2844c279a861be" + "93919d4f06282765fb97ff2ade22b8f2" ], [ "Steel.Preorder.curval", @@ -603,7 +603,7 @@ 1, [ "@query" ], 0, - "897d02d267fe223118adb8cc9ed0f4d5" + "831ea8a7252984b9d63e828d51388267" ], [ "Steel.Preorder.frame_preserving_q", @@ -657,7 +657,7 @@ "typing_Steel.Preorder.pcm_of_preorder" ], 0, - "a527436e26a9b2a6e7d820ffb3d35eb5" + "49949b693b9535df05cc46856a42e87c" ], [ "Steel.Preorder.frame_preserving_extends", @@ -691,7 +691,7 @@ "token_correspondence_Steel.Preorder.p_op", "typing_Steel.Preorder.p" ], 0, - "779e9efbfd50c23cda85dd9b6a245acc" + "59348b1489693cce752e816c64bb0379" ], [ "Steel.Preorder.flip", @@ -707,7 +707,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "752a358594a70e57bfab1422908dbe6d" + "dd1bfe52257e4a729647936634ba83ae" ], [ "Steel.Preorder.frame_preserving_extends2", @@ -741,7 +741,7 @@ "token_correspondence_Steel.Preorder.p_op", "typing_Steel.Preorder.p" ], 0, - "5874fcf347fc7c3ca068231f4b1e94db" + "a8e4d7ed2607a6e8d86509b79dda2f9e" ], [ "Steel.Preorder.pcm_of_preorder_induces_extends", @@ -803,7 +803,7 @@ "typing_FStar.List.Tot.Base.length", "typing_Steel.Preorder.p" ], 0, - "fb0be91ee15268c37490f147a6281e9f" + "3935f758711fbc4c13db7e72fbddaf47" ], [ "Steel.Preorder.extend_history", @@ -836,7 +836,7 @@ "token_correspondence_Steel.Preorder.extends_" ], 0, - "10918b10e52737b7c433b9b14fbf9945" + "aeaff9abc445bb92daf2071048e2676a" ], [ "Steel.Preorder.__proj__Witnessed__item___0", @@ -848,7 +848,7 @@ "refinement_interpretation_Tm_refine_07a94612679b02f231c336fc5663bc54" ], 0, - "8f35b5a1d834a855563418a1f24f5bd0" + "d70dd9904dd3dfcfc26afae42270db8d" ], [ "Steel.Preorder.__proj__Current__item__h", @@ -860,7 +860,7 @@ "refinement_interpretation_Tm_refine_fd4b6db27cb940bec740b323ce2402df" ], 0, - "d7669a860f70b0142057e627d327a7e6" + "29e6f08e3dfeec4e22079fc97cbd56be" ], [ "Steel.Preorder.__proj__Current__item__f", @@ -872,7 +872,7 @@ "refinement_interpretation_Tm_refine_fd4b6db27cb940bec740b323ce2402df" ], 0, - "5078ae1b2a68fd85406203877403113a" + "e32f4f84e99a8670240f8dd2145619d8" ], [ "Steel.Preorder.hval_tot", @@ -884,7 +884,7 @@ "refinement_interpretation_Tm_refine_fd4b6db27cb940bec740b323ce2402df" ], 0, - "5dc8bf4791fa515a76b46cda4bee7fc4" + "a6f5fd6864fd144fb354f2d8767ee640" ], [ "Steel.Preorder.hperm", @@ -896,7 +896,7 @@ "refinement_interpretation_Tm_refine_fd4b6db27cb940bec740b323ce2402df" ], 0, - "4b23c5fe2996b0099a872f5627b11855" + "38bd5f15d0580605633a92d3394f9129" ], [ "Steel.Preorder.history_composable", @@ -934,7 +934,7 @@ "token_correspondence_Steel.Preorder.p_composable" ], 0, - "1a6fec0c790c3d63a225606cf539be1a" + "bdb7a0015c739be43beb303e6ece1e33" ], [ "Steel.Preorder.history_compose", @@ -982,7 +982,7 @@ "token_correspondence_Steel.Preorder.p_composable" ], 0, - "ec29307deeb269b841ef54bf78180305" + "2d578947af63b7deed6c16a256afc107" ], [ "Steel.Preorder.unit_history", @@ -998,7 +998,7 @@ "projection_inverse_Prims.Nil_a", "true_interp" ], 0, - "2a88f0bf492e724254124b08855b1f60" + "58dbf62de5a24707bb64147a7fbb7850" ], [ "Steel.Preorder.lem_is_unit", @@ -1057,7 +1057,7 @@ "typing_Steel.Preorder.p_op" ], 0, - "f07ef37634b80b234cc2d9f5267a708b" + "ab50e7a83d72dd5f12774318a6136d5a" ], [ "Steel.Preorder.assoc_l", @@ -1066,7 +1066,7 @@ 1, [ "@query" ], 0, - "aca8b0bd5cbb3e2570903d2d0d4aea9f" + "5c8ba8ca3f7f24102cd2ab574ef8346e" ], [ "Steel.Preorder.assoc_l", @@ -1150,7 +1150,7 @@ "typing_Steel.Preorder.p_op", "unit_typing" ], 0, - "adb48e031c20e2faf0cddd8555d2c6ac" + "42ff3bef4c5290c28101948a8d424376" ], [ "Steel.Preorder.assoc_r", @@ -1159,7 +1159,7 @@ 1, [ "@query" ], 0, - "b1880b2657984f2fea1da016d17f00f5" + "0255e64e518fdf86e27f1f7b55545ff5" ], [ "Steel.Preorder.assoc_r", @@ -1253,7 +1253,7 @@ "typing_Steel.Preorder.history_compose", "typing_Steel.Preorder.p_op" ], 0, - "5037b1d6ce6e4707eae4259e13928f43" + "090021cba251fa2a8032a8eca5cf5a61" ], [ "Steel.Preorder.pcm_history", @@ -1307,7 +1307,7 @@ "typing_Steel.Preorder.history_composable" ], 0, - "02be4d70fe8e19ffc3e319996ee09e67" + "1f97e0f083f8c7e2703fa074899ed858" ], [ "Steel.Preorder.pcm_history_preorder", @@ -1346,7 +1346,7 @@ "token_correspondence_Steel.Preorder.extends_" ], 0, - "fe8ea303fcb794bea36eff05c514427d" + "fefdf1cd26a3388ab681111adaf466b3" ], [ "Steel.Preorder.pcm_history_induces_preorder", @@ -1461,7 +1461,7 @@ "unit_typing" ], 0, - "5dd322feb72accb224756b0d10ca387e" + "5a7cecf7115342291dd4a6fbd282191e" ], [ "Steel.Preorder.extend_history'", @@ -1497,7 +1497,7 @@ "typing_Steel.Preorder.hval_tot" ], 0, - "85a7358548569a95efd077f8c5466b04" + "29b4f39d4e0a053013bd3ef154033c93" ], [ "Steel.Preorder.extend_history'_is_frame_preserving", @@ -1506,7 +1506,7 @@ 1, [ "@query" ], 0, - "98b0408d036625840437e4c7a35795cb" + "edc46ac9d3986ac05e3ee54d45f84c1b" ], [ "Steel.Preorder.extend_history'_is_frame_preserving", @@ -1591,7 +1591,7 @@ "typing_Steel.Preorder.uu___is_Current" ], 0, - "9bff7ffd571dd46f5e91f5611fa0b7c0" + "ccb183d2de950e1d4ef0831e53e73e17" ], [ "Steel.Preorder.history_val", @@ -1600,7 +1600,7 @@ 1, [ "@query" ], 0, - "d4e6fd9dd708619b10e59f9c35948f25" + "e70e6accaf9df68ee889b7349d2b2b04" ], [ "Steel.Preorder.split_current", @@ -1658,7 +1658,7 @@ "token_correspondence_Steel.Preorder.history_compose" ], 0, - "21072a07ace2abbad2fb6286bf5d1998" + "2ea6ccab1ef5e0c76f75e0cc4471afaa" ], [ "Steel.Preorder.split_current", @@ -1667,7 +1667,7 @@ 1, [ "@query", "lemma_Steel.FractionalPermission.sum_halves" ], 0, - "c08e6410ef716c6ceffc042d386f4c6f" + "c1646291f1083f86521b71d1ac50471b" ], [ "Steel.Preorder.lift_fact", @@ -1687,7 +1687,7 @@ "projection_inverse_Steel.Preorder.Current_p" ], 0, - "3a137bbac14104c1e0a0e3944916cd61" + "fb1710fb94768715a7fd7a6861615988" ], [ "Steel.Preorder.lift_fact_is_stable", @@ -1726,7 +1726,7 @@ "typing_Prims.__proj__Cons__item__hd", "typing_Steel.Preorder.curval" ], 0, - "2355a8607ebb1d5db259df4f2ef4c13b" + "184ffb131ca88f1e9cd29b006d0ffeb1" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Primitive.ForkJoin.Unix.fst.hints b/lib/steel/Steel.Primitive.ForkJoin.Unix.fst.hints index 238e84ca1..f64c4b02c 100644 --- a/lib/steel/Steel.Primitive.ForkJoin.Unix.fst.hints +++ b/lib/steel/Steel.Primitive.ForkJoin.Unix.fst.hints @@ -23,7 +23,7 @@ "typing_Steel.Effect.Common.hp_of", "typing_Steel.Memory.star" ], 0, - "9bfec75e92c86f1b74703e9f44fc0437" + "be4e714cc63b290d92d7cfffea036e0f" ], [ "Steel.Primitive.ForkJoin.Unix.change_slprop_imp", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d65ee1d7459f60d25f1837219b5e6076" + "bb44e1a23ddfe31040a9b5d416306937" ], [ "Steel.Primitive.ForkJoin.Unix.return_", @@ -45,7 +45,7 @@ 1, [ "@query" ], 0, - "92ac785920686adbcde6d1c645bb842a" + "d4816154763e34711c2e85b285d6c111" ], [ "Steel.Primitive.ForkJoin.Unix.rearrange3", @@ -54,7 +54,7 @@ 1, [ "@query", "true_interp" ], 0, - "37bce9363b62c3ffba0b8ea571e820c9" + "d7603164b0c0b37b8eb337e6388df43b" ], [ "Steel.Primitive.ForkJoin.Unix.equiv_symmetric", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_aa4ac8e8baf5a4e4fb6b2014a1b561d0" ], 0, - "cd04d3ff22eec4dfe76e134306e452d5" + "f918519d31286dc584101c64b9a59a6c" ], [ "Steel.Primitive.ForkJoin.Unix.can_be_split_forall_frame", @@ -91,7 +91,7 @@ "typing_Steel.Effect.Common.star", "typing_Steel.Memory.star" ], 0, - "0ea84d1d0f680f546d362b58c68428aa" + "8b6105995463ea5d697d68fb28adb424" ], [ "Steel.Primitive.ForkJoin.Unix.bind", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0b3c00126e6856c69cd0d166df2e9042" + "cda09d67ba6514acfc208ca4b5a5450f" ], [ "Steel.Primitive.ForkJoin.Unix.subcomp", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ed977ae4194294b54ce5ef5161b8d38f" + "a5bfaaaae1a82d460e531c801b178aec" ], [ "Steel.Primitive.ForkJoin.Unix.SteelKBase", @@ -128,7 +128,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "64be4f51f237b4bbbf91fcad7b2b916c" + "f790d7a93d69b1bb432d4af93ed230db" ], [ "Steel.Primitive.ForkJoin.Unix.SteelKBase", @@ -142,7 +142,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "2a2bb5448601a1ef507477e9ee70c5a6" + "4d5b17ebd027411aac66cb4b3788f5fd" ], [ "Steel.Primitive.ForkJoin.Unix.SteelKBase", @@ -151,7 +151,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "716cb28030abf8bcfec6c0b926cfe3a9" + "71a0d656c71ff7a05d02370fbc6b74c9" ], [ "Steel.Primitive.ForkJoin.Unix.SteelKBase", @@ -165,7 +165,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "f9db9bd735f14796f0960a560f9c3026" + "ef8fd2b5ff03618f41caf0a98dbc5d6e" ], [ "Steel.Primitive.ForkJoin.Unix.bind_tot_steelK_", @@ -174,7 +174,7 @@ 1, [ "@query" ], 0, - "58765a1f28bd4ec953ea7e75e9cc7af0" + "20ff792a895a97d527d7c2bd6ed05494" ], [ "Steel.Primitive.ForkJoin.Unix.kfork", @@ -183,7 +183,7 @@ 1, [ "@query" ], 0, - "503aea8c5e1043974e1d721c19d3ddc2" + "23d2c2b69753ac32dfa912964768e1e9" ], [ "Steel.Primitive.ForkJoin.Unix.kjoin", @@ -192,7 +192,7 @@ 1, [ "@query" ], 0, - "3bb94d4fadae62b659b2f0a7a7476d16" + "f1632cd6dceddf6e886d85d9606da23a" ], [ "Steel.Primitive.ForkJoin.Unix.as_steelk_repr'", @@ -201,7 +201,7 @@ 1, [ "@query" ], 0, - "588c2cb93221adb26d17246c101b1ab3" + "abf9e57c5af6ddfd5170c3e8da7fffc2" ], [ "Steel.Primitive.ForkJoin.Unix.as_steelk_repr", @@ -210,7 +210,7 @@ 1, [ "@query" ], 0, - "1c9e9f40371e852c9d55b44a22c5ce1c" + "7b059df779cf875615b35c32c479da49" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Primitive.ForkJoin.fst.hints b/lib/steel/Steel.Primitive.ForkJoin.fst.hints index b187e18d6..8f69e764b 100644 --- a/lib/steel/Steel.Primitive.ForkJoin.fst.hints +++ b/lib/steel/Steel.Primitive.ForkJoin.fst.hints @@ -17,7 +17,7 @@ "typing_Steel.Primitive.ForkJoin.maybe_p" ], 0, - "484067d50c61374786ecb19e48b190f7" + "84f0d5911d8bea999b0f2ab673a82dd1" ], [ "Steel.Primitive.ForkJoin.intro_maybe_p_true", @@ -32,7 +32,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "b2f08176b36c705666974d1d696d52cc" + "7ef00dce15d13728217e539323f85023" ], [ "Steel.Primitive.ForkJoin.fork", @@ -41,7 +41,7 @@ 1, [ "@query" ], 0, - "46e7fe6373360789e23c75b163070cc2" + "b7a9cc08c220d6832e19ef4a55321be6" ], [ "Steel.Primitive.ForkJoin.join", @@ -79,7 +79,7 @@ "typing_Steel.Reference.pts_to" ], 0, - "cb58664c5e31ec83ffbbbb226e8d64c9" + "dfebcfebb4ac0b4e33060b3b78577079" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Reference.fst.hints b/lib/steel/Steel.Reference.fst.hints index 2a3b3eab2..1a5e7420d 100644 --- a/lib/steel/Steel.Reference.fst.hints +++ b/lib/steel/Steel.Reference.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Steel.Reference.null" ], 0, - "3766f7c04ba2372c90015a2fe6ba6ae6" + "6eb354de1b5e62e12103456b38d6d724" ], [ "Steel.Reference.raise_val_inj", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "502a13aa96670fad36cdff901b0a9915" + "264479a44fcf2078a331fee5ce6402e4" ], [ "Steel.Reference.pts_to_ref_injective", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_Steel.Reference.pts_to_sl" ], 0, - "fbb585c849f3064ca08022732082dd78" + "bbe9b5f4edac3197afbbecddcb5319b8" ], [ "Steel.Reference.pts_to_not_null", @@ -38,7 +38,7 @@ "equation_Steel.Reference.pts_to_sl" ], 0, - "e2aa67de818921619d2fe45bb05f949c" + "e65a36f5c490e1e9497c6a1d4466b381" ], [ "Steel.Reference.pts_to_witinv", @@ -55,7 +55,7 @@ "typing_FStar.Universe.raise_val" ], 0, - "a4ec4ab5b9ee05225dd91ae25df5cd7e" + "1fffae62c01cee23b6cbe5c6bb22a829" ], [ "Steel.Reference.pts_to_injective_eq", @@ -64,7 +64,7 @@ 1, [ "@query", "lemma_FStar.Ghost.hide_reveal" ], 0, - "bbeceb2edcfc32f85db6adaf65ff39d5" + "7d49e4c182392d6ba25e8343d04c2908" ], [ "Steel.Reference.alloc_pt", @@ -77,7 +77,7 @@ "equation_Steel.Reference.pts_to_sl" ], 0, - "ca1ffbcd59b02136e01f8041a0800e12" + "124ee34c38fb852732ca4714442eee42" ], [ "Steel.Reference.read_pt", @@ -92,7 +92,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "43b5a653faaa176a3be2898d5a5730bb" + "421537a65aa1ba58da27607114e2e00e" ], [ "Steel.Reference.read_refine_pt", @@ -142,7 +142,7 @@ "typing_Tm_abs_c2e774db7231baf346c5e0a4fbca9bdc" ], 0, - "f1a5c6996bd710e934807e56e17da8f7" + "b664ff653c01b3a8d117490a9ddaa36e" ], [ "Steel.Reference.write_pt", @@ -154,7 +154,7 @@ "equation_Steel.Reference.pts_to_sl" ], 0, - "3650d9f89f94adc62212f8db69f9464a" + "e46a61e951cde0dcd7fcf4e61b1c400f" ], [ "Steel.Reference.free_pt", @@ -163,7 +163,7 @@ 1, [ "@query", "equation_Steel.Reference.pts_to_sl" ], 0, - "2bd98b4d39af930fa230633a42379021" + "f13a8f00b47bf216c076c2f9181a11fc" ], [ "Steel.Reference.share_pt", @@ -177,7 +177,7 @@ "fuel_guarded_inversion_Steel.FractionalPermission.perm" ], 0, - "3721249a470790a79dd6ff691d4a7ac1" + "4dee2b30dbb2fff80a973804a65fcf01" ], [ "Steel.Reference.hide_raise_reveal", @@ -192,7 +192,7 @@ "typing_FStar.Universe.raise_val" ], 0, - "e810bc098d7775875dfaa69420081aec" + "4dae1d88b7362e1cd57ab978930e74ce" ], [ "Steel.Reference.gather_pt", @@ -207,7 +207,7 @@ "lemma_Steel.Reference.hide_raise_reveal" ], 0, - "c6acc5b85ac3318e30e773027cab99aa" + "49b9f6c7a649f947f10af8383e4d38b6" ], [ "Steel.Reference.raise_equiv", @@ -216,7 +216,7 @@ 1, [ "@query", "lemma_FStar.Universe.downgrade_val_raise_val" ], 0, - "0a061ab575072bdde553eba40ba17e79" + "656b1dac3aeeed2d029e48c85022b2b3" ], [ "Steel.Reference.downgrade_equiv", @@ -225,7 +225,7 @@ 1, [ "@query", "lemma_FStar.Universe.raise_val_downgrade_val" ], 0, - "ffac21ad7fb536c0f21346f07aa0ed6f" + "fe6c30f37c9fe74fefe75562ec3f9183" ], [ "Steel.Reference.lift_eq", @@ -234,7 +234,7 @@ 1, [ "@query" ], 0, - "de870acba122433b2f87bba53539d5ec" + "7ded1e108e3cdef82af0196d8337ffb4" ], [ "Steel.Reference.cas_action", @@ -249,7 +249,7 @@ "unit_typing" ], 0, - "a0a09b550d15d28404783e12254294de" + "4a399d8d286406a22b2a0ca2edc0b8c5" ], [ "Steel.Reference.atomic_read_pt_u32", @@ -266,7 +266,7 @@ "typing_FStar.Ghost.reveal", "typing_FStar.UInt32.t" ], 0, - "928197f0c639caa8ba2ed2b732ed105a" + "ee49e45c54a97b88e284aa07acfb2356" ], [ "Steel.Reference.atomic_write_pt_u32", @@ -280,7 +280,7 @@ "equation_Steel.Reference.pts_to_sl" ], 0, - "984abc3de23b6bc0fdb5242eb1f850ca" + "62515d36f48c4012445016ad1747431f" ], [ "Steel.Reference.cas_pt_u32", @@ -299,7 +299,7 @@ "projection_inverse_Steel.Effect.Common.VUnit__0" ], 0, - "ebb5c000336833561ea51a06197a2f74" + "5c39148e703191d7d2b2a293baff3c70" ], [ "Steel.Reference.cas_pt_bool", @@ -321,7 +321,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "23bd51502e94742328ce1adc78da5e04" + "4e26f413f163f07458b673fa184d591f" ], [ "Steel.Reference.ptr_sel'", @@ -334,7 +334,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "8e99cb7a75c962e1a8952fce41f85325" + "21914d965c2643de5004abe05e4e2d7a" ], [ "Steel.Reference.ptr_sel_depends_only_on", @@ -353,7 +353,7 @@ "typing_Steel.Reference.ptrp", "typing_Steel.Reference.pts_to_sl" ], 0, - "50173c5f90da22c0004a2c6cad381830" + "9cd2a1875e280fd8140b17e783824541" ], [ "Steel.Reference.ptr_sel_depends_only_on_core", @@ -374,7 +374,7 @@ "typing_Steel.Reference.ptrp", "typing_Steel.Reference.pts_to_sl" ], 0, - "8ae1f13d29fed4f3a407b0d61b421389" + "15db0f3485542d19a9b1888f9688c845" ], [ "Steel.Reference.ptrp_sel", @@ -394,7 +394,7 @@ "typing_Steel.Reference.ptrp" ], 0, - "6d68cbcbb9e8c1822a17b447fe321832" + "32b8f3f66fcda53c3da68196b031bb6c" ], [ "Steel.Reference.ptrp_sel_interp", @@ -406,7 +406,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "988ae1b2bc105113b472f08ff6e6da44" + "261ad80a68604360b9cb3933032eca2c" ], [ "Steel.Reference.ptrp_sel_interp", @@ -427,7 +427,7 @@ "typing_Steel.Memory.id_elim_exists" ], 0, - "ad30f14cc8ec3835fb2442941a349f64" + "72f43128740222f499fbe5fb44f0b67c" ], [ "Steel.Reference.ptr_sel_interp", @@ -439,7 +439,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e2347f85fdee09d1fb2a821828d62cc8" + "aa519fefa53f4fe277ed01a0996e5608" ], [ "Steel.Reference.intro_ptrp_interp", @@ -448,7 +448,7 @@ 1, [ "@query", "equation_Steel.Reference.ptrp" ], 0, - "afc943db95b69d9596f32a2a12c1485d" + "5e405154cd17fe658892552c7722d31e" ], [ "Steel.Reference.sel", @@ -460,7 +460,7 @@ "refinement_interpretation_Tm_refine_cd95e4fefc69dd84cdddd10bf1795c84" ], 0, - "2ba0d1475554a3fc24118a722a57615e" + "fdd811156434ccfe2393767f1b62bb85" ], [ "Steel.Reference.intro_vptr_lemma", @@ -482,7 +482,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.Memory.id_elim_exists" ], 0, - "3d33a3df9870d7f90097a1a8bb225d9b" + "8510201d6e4543208d9791489ae82cd4" ], [ "Steel.Reference.elim_vptr_lemma", @@ -503,7 +503,7 @@ "typing_Steel.Memory.id_elim_exists" ], 0, - "2fa1939bd73f072f539723216c323304" + "9ae6708a4fc5dbe0038e1709ef8078a7" ], [ "Steel.Reference.intro_vptr", @@ -518,7 +518,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.Reference.vptr_" ], 0, - "06ebbd04899601cbe9b39034dfef5e29" + "f8bfe08cc34b99c9527bea6088a0d3e0" ], [ "Steel.Reference.intro_vptr", @@ -533,7 +533,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.Reference.vptr_" ], 0, - "b07fb1ec31c4bc15c68b5dd33c8d5fa0" + "4266913f8f218e34c05c6dd6b361e164" ], [ "Steel.Reference.elim_vptr", @@ -548,7 +548,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "f50e53d73174d8aca10365905f543c79" + "ff807e634a8681862bd86b2b5388a1d4" ], [ "Steel.Reference.elim_vptr", @@ -563,7 +563,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "7da92fa13ce92a47b8c8b079e25a9abb" + "1b195cc0a109bfbc177ab56382cea008" ], [ "Steel.Reference.malloc", @@ -572,7 +572,7 @@ 1, [ "@query" ], 0, - "e94f548f837c73aefcfc6af530152139" + "50e2ba7a8483fa4f28f3d27e8a79bd8b" ], [ "Steel.Reference.malloc", @@ -581,7 +581,7 @@ 1, [ "@query" ], 0, - "4701ede6f3166c516a1e37b90e6abf26" + "5de73544977a8a29210dc27c19e1444d" ], [ "Steel.Reference.readp", @@ -596,7 +596,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "b02c343ad937cb8a2fbdb4814c1feae8" + "64131e06b9f9ec40f51dd36e7c843578" ], [ "Steel.Reference.readp", @@ -605,7 +605,7 @@ 1, [ "@query" ], 0, - "f089efdceaae0d9273b62384d1c860f5" + "b54b65b99108eb7482fad94db9d36a14" ], [ "Steel.Reference.read", @@ -614,7 +614,7 @@ 1, [ "@query" ], 0, - "d86208631c1482e2e7f4445893ab3e8f" + "ca8276e2cd9df0b33a463c52d47a0bcc" ], [ "Steel.Reference.write", @@ -623,7 +623,7 @@ 1, [ "@query" ], 0, - "2dd5f533876f4fdc9b59b71b0bfd3044" + "e1c6c9ce73a61cc02f21c210ecba408b" ], [ "Steel.Reference.write", @@ -632,7 +632,7 @@ 1, [ "@query" ], 0, - "65a6229be8c957502152aae42f826394" + "14db58aaa409736d59f40751fa57fef9" ], [ "Steel.Reference.share", @@ -649,7 +649,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "5594dc88de63be76d84d98593851a03d" + "8cfd9ec81965d0c93ad79cdc38b1389f" ], [ "Steel.Reference.share", @@ -658,7 +658,7 @@ 1, [ "@query" ], 0, - "38aeacd3bc717b86ade95f68c3ba4802" + "3c08644c57af302776cb4d1ea60d0ede" ], [ "Steel.Reference.gather_gen", @@ -675,7 +675,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "d78d2616f276c1e8a8e04f07711418f0" + "2f4d8bb44f5fd9e7961910f2da92c8ea" ], [ "Steel.Reference.gather_gen", @@ -687,7 +687,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "bb37bf6ab01b88396e9b4576493df9b5" + "263a5bbaab147b7b88cf90c79621a2c9" ], [ "Steel.Reference.gather", @@ -704,7 +704,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "c0b8ef36b1a3a80d2767326163129d31" + "2e8426f524fa0d3ba2e50834b1a15d6c" ], [ "Steel.Reference.gather", @@ -722,7 +722,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "37280e17c414d6d702a6889a26b871a2" + "742724d8de9233a53e14ef9bcff81307" ], [ "Steel.Reference.vptrp_not_null", @@ -737,7 +737,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "ea957acd030a08d3ff0c13cd8d758926" + "440afaf55f24859e91043be1949ecd13" ], [ "Steel.Reference.vptrp_not_null", @@ -762,7 +762,7 @@ "typing_Steel.Reference.is_null" ], 0, - "2ed31b97289e6e6027fc671f27fb5f92" + "1a64c2c245979c2b454a3a9240f07658" ], [ "Steel.Reference.ghost_pts_to_witinv", @@ -779,7 +779,7 @@ "typing_FStar.Universe.raise_val" ], 0, - "9c35a7e55c2a79671995369dda258883" + "8aad0e29f98139eb0534d238b8686b41" ], [ "Steel.Reference.ghost_alloc_pt", @@ -788,7 +788,7 @@ 1, [ "@query" ], 0, - "fd4d043438629c6b68db8a4758cbb20f" + "aa9db4ec3c56a7c52638fcf6a8899aaa" ], [ "Steel.Reference.ghost_gather_pt", @@ -797,7 +797,7 @@ 1, [ "@query", "lemma_Steel.Reference.hide_raise_reveal" ], 0, - "d85fb77303cc07f49fa2964eaaa790c9" + "821f2978624013bdfb14bfe4c7899c8d" ], [ "Steel.Reference.ghost_pts_to_injective_eq", @@ -809,7 +809,7 @@ "lemma_Steel.Reference.hide_raise_reveal" ], 0, - "8257d6dbfdec0fc38705ea09ec59200c" + "fd9d6dc4417836a5dd4487f7d3d1be83" ], [ "Steel.Reference.ghost_read_pt", @@ -826,7 +826,7 @@ "typing_FStar.Universe.raise_t", "typing_FStar.Universe.raise_val" ], 0, - "b77795ab6ffd32fc37940bb1fe4ed332" + "b8d78710243624f3231bd7819b529e3f" ], [ "Steel.Reference.ghost_write_pt", @@ -835,7 +835,7 @@ 1, [ "@query" ], 0, - "5a00b842835acf4115d75a9cf384eb91" + "1d2d71437a904880a79d9a3ce2ace64a" ], [ "Steel.Reference.ghost_ptr_sel'", @@ -848,7 +848,7 @@ "refinement_interpretation_Tm_refine_400bb352f566e46f66fa061261e6a34a" ], 0, - "e36a16632005a64af4c3cd687ab86777" + "43fb17292178850a54175208c9393b01" ], [ "Steel.Reference.ghost_ptr_sel_depends_only_on", @@ -869,7 +869,7 @@ "typing_Steel.Reference.ghost_pts_to_sl" ], 0, - "03319d05a343d87671e7d43838eaaecb" + "a699042a4223156fb87c3feb3ce1517f" ], [ "Steel.Reference.ghost_ptr_sel_depends_only_on_core", @@ -892,7 +892,7 @@ "typing_Steel.Reference.ghost_pts_to_sl" ], 0, - "60b185628a136ad821b31aa81db63ef7" + "70d346169012d5994411cf0e2d5b6f4a" ], [ "Steel.Reference.ghost_ptrp_sel", @@ -912,7 +912,7 @@ "typing_Steel.Reference.ghost_ptrp" ], 0, - "3ebd748f517b951c6d48b7c8f971a903" + "05a14c704f5cb909289577aa66bed16c" ], [ "Steel.Reference.ghost_ptrp_sel_interp", @@ -924,7 +924,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3e68919c2694c2694a17e3a8667dfee0" + "04e3132b7291ace3b423d67452c7f35e" ], [ "Steel.Reference.ghost_ptrp_sel_interp", @@ -946,7 +946,7 @@ "typing_Steel.Memory.id_elim_exists" ], 0, - "ac617e8015faea33562ee96af7c51b06" + "6b410d6fba7ff64aab1fe1f2b17a6f0c" ], [ "Steel.Reference.ghost_ptr_sel_interp", @@ -961,7 +961,7 @@ "token_correspondence_Steel.Reference.ghost_ptrp_sel" ], 0, - "143d4b4a4901a5a8b0e2866860f7a9a4" + "4330b2843fa248a8df0076d6fa0e2ebd" ], [ "Steel.Reference.ghost_sel", @@ -973,7 +973,7 @@ "refinement_interpretation_Tm_refine_d21ad916159dd520f38e5df85a50f015" ], 0, - "d5a2c401fe183e7793ca296da70a935c" + "d73722fc580a3b8cfe71a6a7f53577ed" ], [ "Steel.Reference.intro_ghost_vptr_lemma", @@ -996,7 +996,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.Memory.id_elim_exists" ], 0, - "74b1fd1e96565aff9d03864e7fe294d5" + "ec5fc2e03861ec30f10faf3d02ffd2f6" ], [ "Steel.Reference.elim_ghost_vptr_lemma", @@ -1018,7 +1018,7 @@ "typing_Steel.Memory.id_elim_exists" ], 0, - "1facd45bb90dd91c8e9ba1915e70748a" + "852de62587d34ffc7ba3fd50a1fbca9b" ], [ "Steel.Reference.intro_ghost_vptr", @@ -1033,7 +1033,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.Reference.ghost_vptr_" ], 0, - "9f295913c7eb91fc9b9d93cd09e496d5" + "360295336e01dd97eb5179c51ad0079a" ], [ "Steel.Reference.elim_ghost_vptr", @@ -1048,7 +1048,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "22e33869ea20164fdd520e6c2225cb42" + "2f1b43f704d1ccc792241df21116b72a" ], [ "Steel.Reference.ghost_alloc", @@ -1057,7 +1057,7 @@ 1, [ "@query" ], 0, - "6840579752079104cfd669292f488cf5" + "74113a538d302d80fc43e557ea0f6a95" ], [ "Steel.Reference.ghost_alloc", @@ -1066,7 +1066,7 @@ 1, [ "@query" ], 0, - "ef02d39dc0ca7222e1163927a9e36533" + "191bd40acce885ede78feab7a99228f9" ], [ "Steel.Reference.ghost_readp", @@ -1081,7 +1081,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "1948c69c2178afbedec59331199a1d63" + "500173c9e2e392710a89f3314376e99e" ], [ "Steel.Reference.ghost_readp", @@ -1090,7 +1090,7 @@ 1, [ "@query" ], 0, - "d836d90ab3c9c047f1b5ef7ad12b9c6b" + "7d0b3d445eb6ff544fa29508d319846f" ], [ "Steel.Reference.ghost_read", @@ -1105,7 +1105,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "39ed7f9b015b32b1e9c9acf9350f66de" + "4ddb03cee722de8fb0c34ba48fb52730" ], [ "Steel.Reference.ghost_write", @@ -1120,7 +1120,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "4aa56a27c5053d13ab9fc1cd2788ad51" + "0115c03d1fab7825b01c8e154a991296" ], [ "Steel.Reference.ghost_write", @@ -1129,7 +1129,7 @@ 1, [ "@query" ], 0, - "f900b1612fcfd388567c49daff2ce97e" + "8c860ad8fbbde23e4d8ffca8dd3174c7" ], [ "Steel.Reference.ghost_share", @@ -1146,7 +1146,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "324c3b9da7357df12f70359b2c42f8b9" + "23bf9ddda76fe21b72c3ae1b3c7544e3" ], [ "Steel.Reference.ghost_share", @@ -1155,7 +1155,7 @@ 1, [ "@query" ], 0, - "60ee947565f899fc8a986cac5c4fdc60" + "5685120e9264f1b057159c2dca819ae7" ], [ "Steel.Reference.ghost_gather_gen", @@ -1172,7 +1172,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "d17a483a18ab37f1e496460330818f60" + "4e5344bb1bb2f9d8b6ae9e214701f242" ], [ "Steel.Reference.ghost_gather_gen", @@ -1181,7 +1181,7 @@ 1, [ "@query" ], 0, - "9f2de323a31c77e18e939a2eed440f5d" + "413a22941c2ae50c081175d9025e3f42" ], [ "Steel.Reference.ghost_gather", @@ -1199,7 +1199,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "a91c0264018dfc1a78620bdc06d443cf" + "832b7f9657119b8676273f90c90b643c" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Reference.fsti.hints b/lib/steel/Steel.Reference.fsti.hints index 95158f9d5..624b148a8 100644 --- a/lib/steel/Steel.Reference.fsti.hints +++ b/lib/steel/Steel.Reference.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "18db1332d3fb09e0848cab39683c4179" + "de23b97e35958e026af230d7038f2acb" ], [ "Steel.Reference.ptr_sel_interp", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2a30a59068a09cc92e0e287ac53070b8" + "aa519fefa53f4fe277ed01a0996e5608" ], [ "Steel.Reference.sel", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_cd95e4fefc69dd84cdddd10bf1795c84" ], 0, - "3def155f59633bbf9ea58d6e2748d35d" + "2f5effa26ba22d359e1600f1a697f37d" ], [ "Steel.Reference.intro_vptr", @@ -50,7 +50,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.Reference.vptr_" ], 0, - "befabf792c628cf45c50216d025f17c4" + "f1dbdb3a2432905cb6b2132cc2173678" ], [ "Steel.Reference.elim_vptr", @@ -65,7 +65,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "84bb6c910edc52a426a8d7da2e994e2a" + "ff807e634a8681862bd86b2b5388a1d4" ], [ "Steel.Reference.malloc", @@ -74,7 +74,7 @@ 1, [ "@query" ], 0, - "8a1d2ce8dcbf0371118246b8fbb34149" + "50e2ba7a8483fa4f28f3d27e8a79bd8b" ], [ "Steel.Reference.readp", @@ -89,7 +89,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "ef6b3bfa3a9dc741e93ff5f86a4ac197" + "c41e4c4b49a2309f19a4ac5c8b2c1472" ], [ "Steel.Reference.read", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "afe8264c54c3e01706a3ba10407de34a" + "ca8276e2cd9df0b33a463c52d47a0bcc" ], [ "Steel.Reference.write", @@ -107,7 +107,7 @@ 1, [ "@query" ], 0, - "c2df04cdb926cd0b780a184d260cbbe8" + "e1c6c9ce73a61cc02f21c210ecba408b" ], [ "Steel.Reference.share", @@ -124,7 +124,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "f102099f397341a6cfef9ef7c5dbaf42" + "8cfd9ec81965d0c93ad79cdc38b1389f" ], [ "Steel.Reference.gather_gen", @@ -141,7 +141,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "ba427d7b50899a9352a1851262a1d467" + "2f4d8bb44f5fd9e7961910f2da92c8ea" ], [ "Steel.Reference.gather", @@ -158,7 +158,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "106dbd4288362a06c6e56ed93d6d8048" + "2e8426f524fa0d3ba2e50834b1a15d6c" ], [ "Steel.Reference.vptrp_not_null", @@ -173,7 +173,7 @@ "typing_Steel.Reference.vptr_" ], 0, - "ae2fb8eb6d9189e1a5bf5df1a4cbe184" + "440afaf55f24859e91043be1949ecd13" ], [ "Steel.Reference.ghost_ptrp_sel_interp", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2f2e246048d58c81e13ff4d3e26543fe" + "1711185338e2c58e65e874ffa423da8b" ], [ "Steel.Reference.ghost_ptr_sel_interp", @@ -200,7 +200,7 @@ "token_correspondence_Steel.Reference.ghost_ptrp_sel" ], 0, - "8813438c50a16bade66620f41b6d0ca0" + "4330b2843fa248a8df0076d6fa0e2ebd" ], [ "Steel.Reference.ghost_sel", @@ -212,7 +212,7 @@ "refinement_interpretation_Tm_refine_d21ad916159dd520f38e5df85a50f015" ], 0, - "513b933340de11226f1795dd7307b06f" + "d73722fc580a3b8cfe71a6a7f53577ed" ], [ "Steel.Reference.ghost_alloc", @@ -221,7 +221,7 @@ 1, [ "@query" ], 0, - "9b744eba1b61860cc5eac9a0bf0042cb" + "a12bef81e0b34e70a42e51495db0beac" ], [ "Steel.Reference.ghost_readp", @@ -236,7 +236,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "851cf14668e611a44e005a2869d6a2f5" + "7765f26bb7aeeb513ddd170d0bd17561" ], [ "Steel.Reference.ghost_read", @@ -251,7 +251,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "19f56184ea6f988b18ada14b4848d769" + "4ddb03cee722de8fb0c34ba48fb52730" ], [ "Steel.Reference.ghost_write", @@ -266,7 +266,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "1979ce54111f10696d36f238b20ec194" + "0115c03d1fab7825b01c8e154a991296" ], [ "Steel.Reference.ghost_share", @@ -283,7 +283,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "36f6845dc1d1bec997a1a233e101c483" + "23bf9ddda76fe21b72c3ae1b3c7544e3" ], [ "Steel.Reference.ghost_gather_gen", @@ -300,7 +300,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "527912de19e8be624c092c20df36088c" + "4e5344bb1bb2f9d8b6ae9e214701f242" ], [ "Steel.Reference.ghost_gather", @@ -318,7 +318,7 @@ "typing_Steel.Reference.ghost_vptr_" ], 0, - "76367d6ba272bcbeb5463fa3516b6495" + "832b7f9657119b8676273f90c90b643c" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Array.Swap.fst.hints b/lib/steel/Steel.ST.Array.Swap.fst.hints index 8b0a579a8..0f6dad9eb 100644 --- a/lib/steel/Steel.ST.Array.Swap.fst.hints +++ b/lib/steel/Steel.ST.Array.Swap.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "457d66e1013cb04e8091cbc2dfc91068" + "3d2db567d53717bff575bfc2457a539f" ], [ "Steel.ST.Array.Swap.array_upd", @@ -20,7 +20,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "7c2164392604ddc66c9770263b4db962" + "34234793bdde0aebbf767aef7ddb057d" ], [ "Steel.ST.Array.Swap.swap", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9b226b2ed93c4ab074e4ac37b3b26385" + "d01b8a43d21aa2b4e056a9c652cdc418" ], [ "Steel.ST.Array.Swap.swap", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "7b297c4542d34f26448f3fc890f23054" + "f9cb2c7167f18bec4033d519c4eff416" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Array.Swap.fsti.hints b/lib/steel/Steel.ST.Array.Swap.fsti.hints index 3f45841d2..b6f3c48b9 100644 --- a/lib/steel/Steel.ST.Array.Swap.fsti.hints +++ b/lib/steel/Steel.ST.Array.Swap.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d6f5cb473fe8888c2583e5786b88cf64" + "c28b7d8ac5c0ef9a66c4a0c663872993" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Array.Util.fst.hints b/lib/steel/Steel.ST.Array.Util.fst.hints index 4c33378a9..133e8bd83 100644 --- a/lib/steel/Steel.ST.Array.Util.fst.hints +++ b/lib/steel/Steel.ST.Array.Util.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.SizeT.v" ], 0, - "3ebbf888f202521fa11fb73910efa6af" + "1742f5433529a2462d317f85847e5e5f" ], [ "Steel.ST.Array.Util.array_literal_loop_body", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292" ], 0, - "85986016c0649075f324bb385769f6d1" + "0b51bd75fa44834af9a8dfe74de98cd8" ], [ "Steel.ST.Array.Util.array_literal", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_a49270177cdf31f33a0e0916b5d4c9d9" ], 0, - "0e13f42c54b8c493df829ecf1c4a0e01" + "cb0ced8223910a925d7afd21490a59b5" ], [ "Steel.ST.Array.Util.array_literal", @@ -87,7 +87,7 @@ "typing_FStar.SizeT.v" ], 0, - "c294e6bf99a89a5b856a92783bc5cb3a" + "0a458839aa9e106d90fd9c256c9a650e" ], [ "Steel.ST.Array.Util.forall_pure_inv", @@ -103,7 +103,7 @@ "typing_FStar.SizeT.lte" ], 0, - "249d28d15e20368e42d38dc45d43c961" + "742c2b0bc72e2932c06125f80c7582f9" ], [ "Steel.ST.Array.Util.forall_pure_inv_b", @@ -118,7 +118,7 @@ "typing_FStar.SizeT.lt" ], 0, - "eb4460f713bca9de841eaba7a0c82768" + "c85f31f0bffa6db26c207b9c704cff16" ], [ "Steel.ST.Array.Util.forall_pred", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_bbffcf588e2bf9a7e9dc58bafbd7d7d0" ], 0, - "df23299f496a0a5bebb1e2062570346b" + "b6f064c4040e3a1e1bb9f10ab9294da5" ], [ "Steel.ST.Array.Util.forall_inv", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_bbffcf588e2bf9a7e9dc58bafbd7d7d0" ], 0, - "df475dbd72cc3d80e84225ba02fc6025" + "3d861fb88fc7b0098f26a811d29ddb13" ], [ "Steel.ST.Array.Util.forall_cond", @@ -171,7 +171,7 @@ "typing_FStar.SizeT.v" ], 0, - "ac1adb53c2a1bd1ce867ff1b30e503ac" + "2c8baf6c38a63c3cc3d6b712d4582888" ], [ "Steel.ST.Array.Util.forall_body", @@ -201,7 +201,7 @@ "typing_FStar.SizeT.v" ], 0, - "36e33fe2ab0ffff500a21b27886b4e8d" + "4eb308a8aae7135834d03bc05bc0c516" ], [ "Steel.ST.Array.Util.for_all", @@ -210,7 +210,7 @@ 1, [ "@query" ], 0, - "269c6d60bc8602e130868cbc2036c99e" + "efaf3ef87de7514304693d02f6fd02cd" ], [ "Steel.ST.Array.Util.for_all", @@ -243,7 +243,7 @@ "typing_Steel.ST.Array.length" ], 0, - "0ef1a0748d16533a5c6915fff029e06c" + "01ab48c72ea2efc4827b44d4d9a85a4b" ], [ "Steel.ST.Array.Util.forall2_pure_inv", @@ -259,7 +259,7 @@ "typing_FStar.SizeT.lte" ], 0, - "5ae1da694e28b06f2dfc71dee802fb8e" + "4d9f07dcca60d1cda7e7a23740cf4ba6" ], [ "Steel.ST.Array.Util.forall2_pure_inv_b", @@ -274,7 +274,7 @@ "typing_FStar.SizeT.lt" ], 0, - "8c9f6c3304d893b2c29bb91d6b8ccc07" + "4bed03aac2be2a722fcf6000f8c5cade" ], [ "Steel.ST.Array.Util.forall2_pred", @@ -286,7 +286,7 @@ "refinement_interpretation_Tm_refine_d27d987bfe3258c390937bb1d50fb8df" ], 0, - "ec2c60e91f463726b0239616c36e1500" + "98649547d103f7aeb6dee7249d320747" ], [ "Steel.ST.Array.Util.forall2_inv", @@ -298,7 +298,7 @@ "refinement_interpretation_Tm_refine_d27d987bfe3258c390937bb1d50fb8df" ], 0, - "dca65eeed57988d77a3758b4500422f7" + "426ca7090600ec81c11b5c0ce72b8262" ], [ "Steel.ST.Array.Util.forall2_cond", @@ -331,7 +331,7 @@ "typing_FStar.SizeT.v" ], 0, - "27f419b3fcfcb3a34a32a70cf43bd3cc" + "9b3f96a2513e2d4cc0a1c8854dd03a73" ], [ "Steel.ST.Array.Util.forall2_body", @@ -361,7 +361,7 @@ "typing_FStar.SizeT.v" ], 0, - "a116ee048ee852c4d9f11ba63f820292" + "9bf33e3ffcc48c1203432c04ac0b304c" ], [ "Steel.ST.Array.Util.for_all2", @@ -370,7 +370,7 @@ 1, [ "@query" ], 0, - "ac9522b61aca6651f8315f4cef75e468" + "9c45347ab726d7b0367fae9d3f07e64a" ], [ "Steel.ST.Array.Util.for_all2", @@ -403,7 +403,7 @@ "typing_Steel.ST.Array.length" ], 0, - "ab0210630def0b520fb053d1d35a5b1c" + "626f8ad7a823cf26370ca4cfa8fbd017" ], [ "Steel.ST.Array.Util.compare", @@ -422,7 +422,7 @@ "typing_FStar.Ghost.reveal", "typing_FStar.Seq.Base.seq" ], 0, - "b2c8d9c2b6630e23db1921d690a3c992" + "23aeac857baea656b8c27b260ea0d77b" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Array.Util.fsti.hints b/lib/steel/Steel.ST.Array.Util.fsti.hints index 617e8ab62..b40522e0f 100644 --- a/lib/steel/Steel.ST.Array.Util.fsti.hints +++ b/lib/steel/Steel.ST.Array.Util.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_a49270177cdf31f33a0e0916b5d4c9d9" ], 0, - "c69f9ebf5de5c7eaade089efbcc4a5af" + "756d24fd665146476d3b3e67f891ab11" ], [ "Steel.ST.Array.Util.for_all", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "9c7c876502311d7b14ec5152801d60a2" + "2fa7a9f21fe720579af479c2a9938582" ], [ "Steel.ST.Array.Util.for_all2", @@ -31,7 +31,7 @@ 1, [ "@query" ], 0, - "40ebd5808f8b15533906c5ea364acc80" + "6b04f528555405bc8d4fc47f34d14900" ], [ "Steel.ST.Array.Util.compare", @@ -50,7 +50,7 @@ "typing_FStar.Ghost.reveal", "typing_FStar.Seq.Base.seq" ], 0, - "62a7d773165a41abb0dac505af84c1d2" + "23aeac857baea656b8c27b260ea0d77b" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Array.fst.hints b/lib/steel/Steel.ST.Array.fst.hints index b3d3bb648..d60606363 100644 --- a/lib/steel/Steel.ST.Array.fst.hints +++ b/lib/steel/Steel.ST.Array.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "6a8ea5520650349ccc0454244e37c90d" + "772695fa20977bc07b99f92eeb29059c" ], [ "Steel.ST.Array.seq_map", @@ -50,7 +50,7 @@ "well-founded-ordering-on-nat" ], 0, - "3ba83160373fa4f6b76c736c15baae65" + "9c596f84fe63d63bdd0be6cb38a318a6" ], [ "Steel.ST.Array.seq_map_append", @@ -76,7 +76,7 @@ "typing_FStar.Seq.Base.append", "typing_Steel.ST.Array.seq_map" ], 0, - "aa86beb90707b3e55161f3c0e508a497" + "35773b28911aa79e217a894c627892be" ], [ "Steel.ST.Array.seq_map_raise_inj", @@ -102,7 +102,7 @@ "typing_Steel.ST.Array.seq_map" ], 0, - "35b43737b03226c099a4d8018b781e06" + "c4d2e3a7cd8fbbc7cebd4928e3253acb" ], [ "Steel.ST.Array.is_null_ptr", @@ -111,7 +111,7 @@ 1, [ "@query", "equation_Steel.ST.Array.null_ptr" ], 0, - "06aa3cbabdc4613df1e859823e43d2b9" + "4d76eefb30e7c5f821a8b9c1fed4d049" ], [ "Steel.ST.Array.offset", @@ -123,7 +123,7 @@ "equation_Steel.ST.Array.base_len" ], 0, - "15decd94acfab3aef0dc78e3d0b8ef05" + "9f3bcd8743eeeb87ef24705227bdd4cf" ], [ "Steel.ST.Array.ptr_base_offset_inj", @@ -135,7 +135,7 @@ "equation_Steel.ST.Array.offset" ], 0, - "296130f5e428f8ae85d1030cf110adb1" + "c281999704a87d7d93ca8120f2e92522" ], [ "Steel.ST.Array.base_len_null_ptr", @@ -148,7 +148,7 @@ "equation_Steel.ST.Array.null_ptr" ], 0, - "a4b0433269f04f271d0517f1514a8410" + "efcc8520b7c29188ececf4169771b2f9" ], [ "Steel.ST.Array.null", @@ -164,7 +164,7 @@ "typing_Steel.ST.Array.null_ptr", "typing_Steel.ST.Array.offset" ], 0, - "5adc2fc89f9b5772022f9129e8b12b8b" + "09fb881669c25f0633a57b414eddc8fa" ], [ "Steel.ST.Array.is_null", @@ -179,7 +179,7 @@ "equation_Steel.ST.Array.ptr_of", "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", "interpretation_Tm_abs_4d5e86439a4b92fb1d3f2062e682ba81", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Ghost.hide_reveal", "lemma_Steel.ST.Array.base_len_null_ptr", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Mkdtuple2__1", @@ -187,13 +187,11 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_76c84c73641925b528edb32fe3ff3950", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Ghost.reveal", "typing_Steel.ST.Array.base", - "typing_Steel.ST.Array.base_len", "typing_Steel.ST.Array.offset", - "typing_Steel.ST.Array.raise_t", - "typing_Steel.ST.HigherArray.null_ptr" + "typing_FStar.Ghost.reveal", "typing_Steel.ST.Array.offset", + "typing_Steel.ST.Array.ptr_of" ], 0, - "cf123011ce3165cddeea57a2d3187ad2" + "a497f50a0f59b5a4d0584e31116c48d5" ], [ "Steel.ST.Array.length_fits", @@ -209,7 +207,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "c1150951db32365e132be543b13bc1a2" + "957c95a2a8acd28ea8eac0aa7a6b0b5a" ], [ "Steel.ST.Array.larray", @@ -223,7 +221,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8321f99871ca98d7f3701235985384dd" + "5746eabd2b767aa0179d45af73f8a23d" ], [ "Steel.ST.Array.pts_to_length", @@ -237,7 +235,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "350355a9b8d35c65d2c1c8f9b3f8aef2" + "6087ae0664be9d4b26487fd54a01c2c5" ], [ "Steel.ST.Array.h_array_eq'", @@ -257,7 +255,7 @@ "typing_FStar.Pervasives.dsnd", "typing_Steel.ST.HigherArray.ptr" ], 0, - "661edd1dc212f3e331d83a8adaf27c2a" + "314f4a77111802fe10d9fb57891fecbf" ], [ "Steel.ST.Array.pts_to_not_null", @@ -275,7 +273,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "06dfe1c4e0815d6014f3bc4713c16469" + "34764982e72e949fb32f23107524cd70" ], [ "Steel.ST.Array.pts_to_inj", @@ -291,7 +289,7 @@ "lemma_Steel.ST.Array.seq_map_raise_inj" ], 0, - "834b7168de6f20304b2e9f8aea7d74e7" + "9583ced3b8628eef5b4d62b4d6c36043" ], [ "Steel.ST.Array.malloc", @@ -322,7 +320,7 @@ "typing_Steel.ST.Array.raise", "typing_Steel.ST.Array.raise_t" ], 0, - "6d3712073fbcf150204044ff95e139ba" + "cc7fd2b8b496c75ed81eaf5c5c719c3b" ], [ "Steel.ST.Array.free", @@ -346,7 +344,7 @@ "proj_equation_Prims.Mkdtuple2__2", "true_interp" ], 0, - "7b86b10f8d80d54bfe501b2671f02125" + "376cb9afb03e5f3b181bd05a4ca45277" ], [ "Steel.ST.Array.share", @@ -360,7 +358,7 @@ "fuel_guarded_inversion_Steel.FractionalPermission.perm" ], 0, - "c78098ae5e17f19c46ae19e9bb1610b6" + "6c1144c64d6d35a87d99ddaee9defceb" ], [ "Steel.ST.Array.gather", @@ -378,7 +376,7 @@ "lemma_Steel.ST.Array.seq_map_raise_inj" ], 0, - "4e8cd372e6a3cc3a7f09e5e76c9f4198" + "d94e6aea884b03e795e3cb1886aab88e" ], [ "Steel.ST.Array.index", @@ -387,7 +385,7 @@ 1, [ "@query" ], 0, - "84d1e0eab4da4a16c0a96e569b227b3c" + "3f6369274a6ba7db20baed85e34fe5ba" ], [ "Steel.ST.Array.index", @@ -419,7 +417,7 @@ "typing_Steel.ST.Array.raise_t", "typing_Steel.ST.Array.seq_map" ], 0, - "f46b2b3f51fd7f28ec66575d205d58fa" + "a4161828813f89839af05355d3c74b7b" ], [ "Steel.ST.Array.upd", @@ -431,7 +429,7 @@ "refinement_interpretation_Tm_refine_7b1ec96d0f5266207133419d2f47e967" ], 0, - "9052090cc33cb5108b281c72f9e342f8" + "0e832e3fc33b1143810f199c03ae6e84" ], [ "Steel.ST.Array.upd", @@ -467,7 +465,7 @@ "typing_Steel.ST.Array.raise_t", "typing_Steel.ST.Array.seq_map" ], 0, - "5d71c6bb94ac1215ccf62ab4e8cf0702" + "1ae8ec7c6c00256d0989cdf9a38f6058" ], [ "Steel.ST.Array.merge", @@ -493,7 +491,7 @@ "typing_Steel.ST.Array.length" ], 0, - "030dfbda369c38c18b090cb27cfdccbe" + "a36676a1a1fab58671a404333565a525" ], [ "Steel.ST.Array.merge_assoc", @@ -522,7 +520,7 @@ "typing_Steel.ST.Array.length", "typing_Steel.ST.Array.merge" ], 0, - "c7beb03c4a61bac2f95d7e7449739809" + "eca4a413d8b681791e4bc9242997e627" ], [ "Steel.ST.Array.ghost_join", @@ -534,7 +532,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0332ff9f6a84e581c601ed7bc40c469c" + "46a2d401fee1a8b1b740e7bc2a10844b" ], [ "Steel.ST.Array.ghost_join", @@ -579,7 +577,7 @@ "typing_Steel.ST.Array.seq_map" ], 0, - "18cd68c58250b8ff7e976c8c2a3fabc6" + "9ac06b14b9e1758a99d3197a7a534eaa" ], [ "Steel.ST.Array.join", @@ -591,7 +589,7 @@ "lemma_FStar.Ghost.hide_reveal", "typing_Steel.ST.Array.array" ], 0, - "ebd46e76e039296825e4a9a00f177919" + "37d3e27e9de8c956f33e64093b83c062" ], [ "Steel.ST.Array.split_l", @@ -610,7 +608,7 @@ "refinement_interpretation_Tm_refine_14d43361b7e9404d179ef736339e2265" ], 0, - "8b4300696e19240ec93b97706eff0c85" + "d59864f5a5cf1573cc2fa974da6eff59" ], [ "Steel.ST.Array.ptr_shift", @@ -622,7 +620,7 @@ "equation_Steel.ST.Array.base_len", "equation_Steel.ST.Array.offset" ], 0, - "c7524a1fdf29a0a3f1ada6539fba73b4" + "5fd5dedef399af2b61cb8c9b0a99a44b" ], [ "Steel.ST.Array.ptr_shift_zero", @@ -638,7 +636,7 @@ "typing_Steel.ST.Array.offset" ], 0, - "1b9f2c6a495c1860f7e5ed983afe2872" + "3ce0ca81c0ee96049e32202d5f5b2862" ], [ "Steel.ST.Array.split_r", @@ -671,7 +669,7 @@ "typing_Steel.ST.Array.array", "typing_Steel.ST.Array.length" ], 0, - "8e2088228860135866e66f59bed16414" + "cf55cd638e6397372f57aaf67af15a71" ], [ "Steel.ST.Array.ghost_split", @@ -694,7 +692,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.SizeT.v" ], 0, - "c64d530780194a1cfa41d8108079531e" + "7bd5aac361d49b7d9f262b41d0296486" ], [ "Steel.ST.Array.ghost_split", @@ -761,7 +759,7 @@ "typing_Steel.ST.Array.seq_map" ], 0, - "014091e4a18ecb9adab3e65fa571202c" + "ad1425eda65b24b5bb6ab17075e362f7" ], [ "Steel.ST.Array.memcpy", @@ -777,7 +775,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "6980537337b3ff71440c6659649fd814" + "6167e38001274431a25dc17324bcd92f" ], [ "Steel.ST.Array.equal_up_to", @@ -801,7 +799,7 @@ "typing_FStar.SizeT.t" ], 0, - "4dbefa9eb21bc3bbcc85d3eb1fe97ed8" + "9a0f4e3068ab6f8a180470d7977965cd" ], [ "Steel.ST.Array.within_bounds", @@ -815,7 +813,7 @@ "typing_FStar.SizeT.t" ], 0, - "88f2579bf0f4b1e9249553ff472ecd82" + "fc6ffae97ecd965e9a7d9bc0f769e1e4" ], [ "Steel.ST.Array.elim_compare_inv", @@ -824,7 +822,7 @@ 1, [ "@query", "equation_Steel.ST.Array.compare_inv" ], 0, - "3d369b4685ea2ba96074c0ffee8c8de8" + "c2684ec73c69f77ad0f4adb3717642c6" ], [ "Steel.ST.Array.intro_compare_inv", @@ -836,7 +834,7 @@ "refinement_interpretation_Tm_refine_f7c0cf691e471a37eca0098a3e824848" ], 0, - "4192f92adcdfe53629f06faee270a83c" + "d4ebef2fce9fe0de89b400716893702a" ], [ "Steel.ST.Array.intro_exists_compare_inv", @@ -875,7 +873,7 @@ "typing_FStar.SizeT.t", "typing_FStar.SizeT.v" ], 0, - "ea8b5373bbcda6d191a6dd50af1dda6e" + "6b322c711c96a56690d907979bde95cd" ], [ "Steel.ST.Array.extend_equal_up_to_lemma", @@ -902,7 +900,7 @@ "typing_FStar.Seq.Base.slice" ], 0, - "dd2bc6ec922ea35f5dc89bd3433bca06" + "affc5536b88ebebbf270aadbe9754ce3" ], [ "Steel.ST.Array.extend_equal_up_to", @@ -927,7 +925,7 @@ "typing_FStar.SizeT.v" ], 0, - "5ce9b4a79bccf58daf2e413a9ab0c4b8" + "ca2d8e6245be71f856b19a784cbdaa39" ], [ "Steel.ST.Array.extend_equal_up_to_neg", @@ -945,7 +943,7 @@ "typing_FStar.SizeT.lt" ], 0, - "32af58c90ccdde66144dcceb9f0e67f3" + "7ce66d63e9bad027f47ffbb5b8867bf0" ], [ "Steel.ST.Array.init_compare_inv", @@ -978,7 +976,7 @@ "typing_Steel.ST.Array.length" ], 0, - "f56c3701f5dcef6fdfe20199b6ba5423" + "96c6b24ea833340d465746371d817ff7" ], [ "Steel.ST.Array.compare_pts", @@ -1033,7 +1031,7 @@ "typing_Steel.ST.Array.length", "typing_Steel.ST.Reference.is_null" ], 0, - "12537731536147d00a08f33e2b303835" + "86770121db0b792b2f3959948c07912b" ], [ "Steel.ST.Array.compare_pts", @@ -1049,7 +1047,7 @@ "refinement_interpretation_Tm_refine_0d23b505b1814b6628d630937e5eae79" ], 0, - "c38314871c5dd9ddaddb3097b12a3a21" + "f4ce99adca8a5eeeb0bfb8f98054008e" ], [ "Steel.ST.Array.compare", @@ -1079,7 +1077,7 @@ "typing_FStar.SizeT.v", "typing_Steel.ST.Array.length" ], 0, - "baf32e628448d4aa0deb38ad7a184c71" + "c6b1b8f62ba5a8981aacdbeed1e0df8e" ], [ "Steel.ST.Array.ptrdiff", @@ -1096,7 +1094,7 @@ "fuel_guarded_inversion_Steel.FractionalPermission.perm" ], 0, - "c9d98b8e903918bb651f090ec0e18dda" + "e04c7c52d2e380602784019259186fd6" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Array.fsti.hints b/lib/steel/Steel.ST.Array.fsti.hints index b42109008..bcd92775a 100644 --- a/lib/steel/Steel.ST.Array.fsti.hints +++ b/lib/steel/Steel.ST.Array.fsti.hints @@ -13,7 +13,7 @@ "typing_Steel.ST.Array.null_ptr", "typing_Steel.ST.Array.offset" ], 0, - "bd681bd67f7b81d9b3dfbc2f7f83c9d1" + "b8dd90aedd27e302c5d9302462ce92aa" ], [ "Steel.ST.Array.is_null", @@ -39,7 +39,7 @@ "typing_Steel.ST.Array.offset", "typing_Steel.ST.Array.ptr_of" ], 0, - "0b68359f4289250a79f6191e6901a09f" + "a497f50a0f59b5a4d0584e31116c48d5" ], [ "Steel.ST.Array.larray", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eb64478bf97571271bae9ca824d935eb" + "3d3bf92b6d024ed4a17414b7271ef7cd" ], [ "Steel.ST.Array.index", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "a1baafc6632273ce5342366a5dba0fff" + "ae3062e90b1a1775f74ce7d4dee38c14" ], [ "Steel.ST.Array.upd", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_7b1ec96d0f5266207133419d2f47e967" ], 0, - "3a931df8a7757c1fe1aec50519f9c0c2" + "0e832e3fc33b1143810f199c03ae6e84" ], [ "Steel.ST.Array.merge", @@ -99,7 +99,7 @@ "typing_Steel.ST.Array.length" ], 0, - "fcfc931445be62d570b76d946e6dc0d0" + "a36676a1a1fab58671a404333565a525" ], [ "Steel.ST.Array.merge_assoc", @@ -127,7 +127,7 @@ "typing_Steel.ST.Array.length", "typing_Steel.ST.Array.merge" ], 0, - "f27e4ce7e1de5a0546516488f7027c40" + "eca4a413d8b681791e4bc9242997e627" ], [ "Steel.ST.Array.ghost_join", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "dcf77cc61925965d90061d007854f09a" + "46a2d401fee1a8b1b740e7bc2a10844b" ], [ "Steel.ST.Array.join", @@ -151,7 +151,7 @@ "lemma_FStar.Ghost.hide_reveal", "typing_Steel.ST.Array.array" ], 0, - "75c47321a41ea9a28f77d7b571bfaf82" + "37d3e27e9de8c956f33e64093b83c062" ], [ "Steel.ST.Array.split_l", @@ -169,7 +169,7 @@ "refinement_interpretation_Tm_refine_14d43361b7e9404d179ef736339e2265" ], 0, - "2c47f8d4e401290695cea0cf97e3413f" + "d59864f5a5cf1573cc2fa974da6eff59" ], [ "Steel.ST.Array.ptr_shift_zero", @@ -185,7 +185,7 @@ "typing_Steel.ST.Array.offset" ], 0, - "4ede274f91f1e103e3beffa77293f617" + "cbf9e24855233750a812530ac93de102" ], [ "Steel.ST.Array.split_r", @@ -201,7 +201,6 @@ "equation_Steel.ST.Array.merge_into", "equation_Steel.ST.Array.ptr_of", "equation_Steel.ST.Array.split_l", "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", - "int_typing", "interpretation_Tm_abs_4d5e86439a4b92fb1d3f2062e682ba81", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", @@ -219,7 +218,7 @@ "typing_Steel.ST.Array.array", "typing_Steel.ST.Array.length" ], 0, - "cad8b33c83e7a5cdf8c0cd3f9dd15e8d" + "cf55cd638e6397372f57aaf67af15a71" ], [ "Steel.ST.Array.ghost_split", @@ -242,7 +241,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.SizeT.v" ], 0, - "d9ec8fceba736ce356dad3539b3eea7a" + "7bd5aac361d49b7d9f262b41d0296486" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.BitVector.fst.hints b/lib/steel/Steel.ST.BitVector.fst.hints index 94ec876ac..39b20d741 100644 --- a/lib/steel/Steel.ST.BitVector.fst.hints +++ b/lib/steel/Steel.ST.BitVector.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2eaf265e06e007b6d90c5550035c35fd" ], 0, - "85bfceab65ec2ea1799e4bc3ec185323" + "5388aa5ca17e278303c18b423e3f4fbc" ], [ "Steel.ST.BitVector.bv_is_set", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_e6db31ac56ddf9a30d2e6d65c32872a6" ], 0, - "eb9e9db5812a1504857a30607c2cf031" + "1fcc42c3e8ba5ff5ea33cb951b86c99e" ], [ "Steel.ST.BitVector.bv_is_set", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_e6db31ac56ddf9a30d2e6d65c32872a6" ], 0, - "e446f0e81a24cf996c050c218fe748a6" + "ddf8625df15fcb55e339bd52a59cfd86" ], [ "Steel.ST.BitVector.bv_set", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_e6db31ac56ddf9a30d2e6d65c32872a6" ], 0, - "f42e6a3c9284ca7297480ce42c3877fd" + "7195983df2947334f0b048ea03f39597" ], [ "Steel.ST.BitVector.bv_set", @@ -56,7 +56,7 @@ 1, [ "@query", "equation_Steel.ST.BitVector.repr" ], 0, - "a5ab0c6147a4c0ce8ea000b2dd31a86f" + "ee391de8628de1faec07382f64927e36" ], [ "Steel.ST.BitVector.bv_unset", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_e6db31ac56ddf9a30d2e6d65c32872a6" ], 0, - "2da12386137c38ba00bb448634cd6a51" + "0a2039c0c5d15513483b9f63e8f27626" ], [ "Steel.ST.BitVector.bv_unset", @@ -77,7 +77,7 @@ 1, [ "@query", "equation_Steel.ST.BitVector.repr" ], 0, - "02a1f42f7bc7b2b92f28f202a355814f" + "ee391de8628de1faec07382f64927e36" ], [ "Steel.ST.BitVector.free", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_2eaf265e06e007b6d90c5550035c35fd" ], 0, - "413fb59a53dfe7a5a8871d83f0d498c5" + "bca07b9f9b1a2b6efc15042eee7b88e0" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.BitVector.fsti.hints b/lib/steel/Steel.ST.BitVector.fsti.hints index 8a05fa391..aef1dd33b 100644 --- a/lib/steel/Steel.ST.BitVector.fsti.hints +++ b/lib/steel/Steel.ST.BitVector.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_e6db31ac56ddf9a30d2e6d65c32872a6" ], 0, - "1fabbb1a99c748212369bf2272f31281" + "b33d270c41370e53d37e144defc85e8b" ], [ "Steel.ST.BitVector.bv_set", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_e6db31ac56ddf9a30d2e6d65c32872a6" ], 0, - "31175988294bbe9b85fc36a57fe4cb30" + "7195983df2947334f0b048ea03f39597" ], [ "Steel.ST.BitVector.bv_unset", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_e6db31ac56ddf9a30d2e6d65c32872a6" ], 0, - "31c8007553cb8dedc01cdf9a61e776ba" + "0a2039c0c5d15513483b9f63e8f27626" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.CancellableSpinLock.fst.hints b/lib/steel/Steel.ST.CancellableSpinLock.fst.hints index 5c0e3910d..ab34ebf82 100644 --- a/lib/steel/Steel.ST.CancellableSpinLock.fst.hints +++ b/lib/steel/Steel.ST.CancellableSpinLock.fst.hints @@ -12,7 +12,7 @@ "fuel_guarded_inversion_Steel.ST.CancellableSpinLock.cancellable_lock" ], 0, - "1147eb0ad94ee1344b9b61b71d02644d" + "8d128f27f4d986f1b5c8713bd07f8c8b" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Coercions.fst.hints b/lib/steel/Steel.ST.Coercions.fst.hints index b28d29904..324fe855c 100644 --- a/lib/steel/Steel.ST.Coercions.fst.hints +++ b/lib/steel/Steel.ST.Coercions.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c33bb7ef444da1512cd6eac8dae0f041" + "7a1ada5ca4f1638ff08d421d69a3e8ca" ], [ "Steel.ST.Coercions.coerce_atomic", @@ -23,7 +23,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "3e3b951c7a0bea77aa397133121c283b" + "ab3b97cfbba4ae5727922490ca159734" ], [ "Steel.ST.Coercions.coerce_atomicF", @@ -38,7 +38,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "dce64eecd90b5184f300eee23a5ded96" + "2ef906ef3528327fc997d5c6ac1d803d" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Effect.Atomic.fst.hints b/lib/steel/Steel.ST.Effect.Atomic.fst.hints index f910bb439..799b22d67 100644 --- a/lib/steel/Steel.ST.Effect.Atomic.fst.hints +++ b/lib/steel/Steel.ST.Effect.Atomic.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "a75f1078506e807123aa51d8c21e8dd8" + "a32b4328d811810194a6cb9f28ad7f68" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "54c89331c2bc4245635d3b6571541ca5" + "92811b9f7a248352a574f7ac8441a285" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "99e81eea5e47f9d6aacc44c6654f59ea" + "59b111c07f66e019b5184781bcae9dc7" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "74d06a08a367a0efd0c1b65eabaa365e" + "e056b84a24f793e4e83a7608b9df2736" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "6361b9bdb4f5d597accd5e64cda4d0c9" + "5ddbe5e1909288e785e640b897976112" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "99a0a7b97395f6465a102250f463e730" + "b138ba4ebf7dc8dbc7d29c861d3a3761" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Effect.Atomic.fsti.hints b/lib/steel/Steel.ST.Effect.Atomic.fsti.hints index e74484876..85297c93c 100644 --- a/lib/steel/Steel.ST.Effect.Atomic.fsti.hints +++ b/lib/steel/Steel.ST.Effect.Atomic.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "21323d1f25f2299eabd69fc672f2990d" + "923f0c6e3d98e76ccc9cd1ba073758f6" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "9d6e559d8b3b04b5362a5537e292821c" + "92811b9f7a248352a574f7ac8441a285" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ad8488c102ccbd7234aae77684fe348c" + "59b111c07f66e019b5184781bcae9dc7" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ba75b5091f9793330231ac4baca6803a" + "e056b84a24f793e4e83a7608b9df2736" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "a7af50a077c9b03c224a45f551cb5021" + "5ddbe5e1909288e785e640b897976112" ], [ "Steel.ST.Effect.Atomic.STAtomicBase", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8d617ed89a58b166c5884eaeca0b9ee7" + "b138ba4ebf7dc8dbc7d29c861d3a3761" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Effect.AtomicAndGhost.fst.hints b/lib/steel/Steel.ST.Effect.AtomicAndGhost.fst.hints index 53c16f863..ebfac79bb 100644 --- a/lib/steel/Steel.ST.Effect.AtomicAndGhost.fst.hints +++ b/lib/steel/Steel.ST.Effect.AtomicAndGhost.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "ac2efb4aabe720731502966dcf779bfb" + "408f75cf15cccbcaeb1a9aa07ba22e5d" ], [ "Steel.ST.Effect.AtomicAndGhost.weaken_repr", @@ -39,7 +39,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "5fa6aa6b443ddd443a3881df04b17bbc" + "e11b14038cb6f749ae42e3387106da18" ], [ "Steel.ST.Effect.AtomicAndGhost.return_", @@ -48,7 +48,7 @@ 1, [ "@query" ], 0, - "c761e824af584ca99d85dd8a8529fa65" + "2a1732ea23cf896370ccec1d768d31fb" ], [ "Steel.ST.Effect.AtomicAndGhost.bind", @@ -57,7 +57,7 @@ 1, [ "@query" ], 0, - "6373e4e577998252b5b8e29826b98f75" + "f7bc1d86e21ca000b8573f0e7d0e59c0" ], [ "Steel.ST.Effect.AtomicAndGhost.subcomp", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e5ca2d884487396b9bce7456b9db6e43" + "98fdc5170d7f36a13fc2e2decfe28eeb" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -82,7 +82,7 @@ 1, [ "@query" ], 0, - "2603af6cdcead13dc0545ceb48c3000d" + "5ef336f18f671ab3cb804491ae441afd" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -91,7 +91,7 @@ 1, [ "@query" ], 0, - "6b956fc6577bda5417ded09b345c21e9" + "92811b9f7a248352a574f7ac8441a285" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "77698c426cef22f94504abfdd4c272fe" + "59b111c07f66e019b5184781bcae9dc7" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2e33bd3bd803cf0809fc1a3b50172ba0" + "e056b84a24f793e4e83a7608b9df2736" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "1e27fa758939afa8467a8459500af173" + "5ddbe5e1909288e785e640b897976112" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cebb9b77288887487e9201f2a5600b91" + "b138ba4ebf7dc8dbc7d29c861d3a3761" ], [ "Steel.ST.Effect.AtomicAndGhost.bind_pure_stag", @@ -157,7 +157,7 @@ "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "c5d202a9c21a884a0de572652b3ba7c8" + "713d7db6c49f87a8d03da9f6567f3387" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Effect.AtomicAndGhost.fsti.hints b/lib/steel/Steel.ST.Effect.AtomicAndGhost.fsti.hints index ce58b3044..646ccacf5 100644 --- a/lib/steel/Steel.ST.Effect.AtomicAndGhost.fsti.hints +++ b/lib/steel/Steel.ST.Effect.AtomicAndGhost.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "adbc9bdf349bb0ba213b12e6d3122d25" + "ddc5f90275171ea0163499385e114e66" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "f46dde626719266d1a672322ce4e65fa" + "92811b9f7a248352a574f7ac8441a285" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "211a8d399a9b09996a99760d08f12c16" + "59b111c07f66e019b5184781bcae9dc7" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "82d2e7876939c7eb0b5a91d27aae48ad" + "e056b84a24f793e4e83a7608b9df2736" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "ec4b12e1857d003f9584b244225a140d" + "5ddbe5e1909288e785e640b897976112" ], [ "Steel.ST.Effect.AtomicAndGhost.STAGCommon", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7354615959e638ecfe38ee808e7d73b0" + "b138ba4ebf7dc8dbc7d29c861d3a3761" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Effect.Ghost.fst.hints b/lib/steel/Steel.ST.Effect.Ghost.fst.hints index f942fd4c1..01cd5743c 100644 --- a/lib/steel/Steel.ST.Effect.Ghost.fst.hints +++ b/lib/steel/Steel.ST.Effect.Ghost.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d0b3e73c6ff6cc9b584c6767cfe436ec" + "ec3b621e307f540b55624ce1fb24c33f" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "32a13b12a5143d210e3f2d356d5bfadc" + "92811b9f7a248352a574f7ac8441a285" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3401f8b72e79401a3dd26f7a0b2379d8" + "59b111c07f66e019b5184781bcae9dc7" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7350d9e95c14aa153f284d7ee5c3f538" + "e056b84a24f793e4e83a7608b9df2736" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "f9816735ae693a8885a51b7dd143affa" + "5ddbe5e1909288e785e640b897976112" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5b88647d4d68bf352eb43d35dc095b77" + "b138ba4ebf7dc8dbc7d29c861d3a3761" ], [ "Steel.ST.Effect.Ghost.extract_fact0", @@ -98,7 +98,7 @@ "unit_inversion" ], 0, - "ad3f91a3b94a93dffaf6f1aa81e8a8db" + "54f02692b5bb8d5468a603b00fa322fe" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Effect.Ghost.fsti.hints b/lib/steel/Steel.ST.Effect.Ghost.fsti.hints index 11a5ddf26..f1327291c 100644 --- a/lib/steel/Steel.ST.Effect.Ghost.fsti.hints +++ b/lib/steel/Steel.ST.Effect.Ghost.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9ac8df2e77aaaf790a3420d23f7b0b63" + "42bef3f29adf42f0fdf7ee9120351b75" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "c9ec46cd76599eb31fc7a8d37be101a1" + "92811b9f7a248352a574f7ac8441a285" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f3282aad0d191e0b7e60b0f1cbd70287" + "59b111c07f66e019b5184781bcae9dc7" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5da61450cd566ff06bcd8827835ae27e" + "e056b84a24f793e4e83a7608b9df2736" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "a34800fea73876a9acafafe3088355fb" + "5ddbe5e1909288e785e640b897976112" ], [ "Steel.ST.Effect.Ghost.STGhostBase", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1a9f3ef78bcacfd36e28e9f19a82254b" + "b138ba4ebf7dc8dbc7d29c861d3a3761" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Effect.fst.hints b/lib/steel/Steel.ST.Effect.fst.hints index 397a7c18b..ddf66adad 100644 --- a/lib/steel/Steel.ST.Effect.fst.hints +++ b/lib/steel/Steel.ST.Effect.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9a2484a0a832e42250b3be2205de473e" + "be736d7e754764944cfdb7f5f25d53ac" ], [ "Steel.ST.Effect.weaken_repr", @@ -32,7 +32,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "2962e011e338c3556c3b8c0e30c3977b" + "96ddd5dd7c352fa1e3ec1c62ff7db848" ], [ "Steel.ST.Effect.return_", @@ -45,7 +45,7 @@ "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "88e56a31e34a34f803bc8c191d8ba942" + "9609b6101d5681fe37e933384aeae4af" ], [ "Steel.ST.Effect.bind", @@ -54,7 +54,7 @@ 1, [ "@query" ], 0, - "db4b4aa89579bd1e10bc06997e76dbfc" + "2aac64e0a0bcf708badb78be448d5478" ], [ "Steel.ST.Effect.subcomp", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5f1c10a4d637d7ce055be21692641f20" + "ceb2569e19c329bb4e9edde7c20b4128" ], [ "Steel.ST.Effect.STBase", @@ -78,7 +78,7 @@ 1, [ "@query" ], 0, - "ce3be64ed3a52ab50f5a330bd2c9b20c" + "dc4a551d2c1933efd2bf1b03f3f09816" ], [ "Steel.ST.Effect.STBase", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "36b766c096c2d7862ee6eec5866adf97" + "1492d16e61391e4e43e77e34794f981b" ], [ "Steel.ST.Effect.STBase", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b82e2c1cb46ccc235277dcf896b5dc6b" + "9f0150c4a8a700151fa5850bb26d2d14" ], [ "Steel.ST.Effect.STBase", @@ -114,7 +114,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "6d034aee91f0bab7b44073df63a06180" + "8bc0b22861c717ff782c045d38e7c472" ], [ "Steel.ST.Effect.STBase", @@ -126,7 +126,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4f0eeaefb4e61fbe66f9485d61f51afc" + "790e42bdbfd49c5db626f858f028a484" ], [ "Steel.ST.Effect.bind_pure_st_", @@ -144,7 +144,7 @@ "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "415b1d0c3797b77aa4c9e51c580daab0" + "5242621a3905fbd0c1d551d5553ec5f5" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Effect.fsti.hints b/lib/steel/Steel.ST.Effect.fsti.hints index eb4638981..9e365be27 100644 --- a/lib/steel/Steel.ST.Effect.fsti.hints +++ b/lib/steel/Steel.ST.Effect.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c790af5737796020fdb70dde8bdf0b07" + "35a5aa1b6ef0309d73851ad70d0ed73b" ], [ "Steel.ST.Effect.STBase", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c3adda9c74e31ba4b946c0fb38a1aa41" + "1492d16e61391e4e43e77e34794f981b" ], [ "Steel.ST.Effect.STBase", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ad9dfde2ccf4d45356b81c4aec166124" + "9f0150c4a8a700151fa5850bb26d2d14" ], [ "Steel.ST.Effect.STBase", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "aae912d166c021f6c2d2ab55fed1fa8d" + "8bc0b22861c717ff782c045d38e7c472" ], [ "Steel.ST.Effect.STBase", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "754f06e9cd5316517c14aaf75681252d" + "790e42bdbfd49c5db626f858f028a484" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.EphemeralHashtbl.fst.hints b/lib/steel/Steel.ST.EphemeralHashtbl.fst.hints index d59bf5b86..340cd63ef 100644 --- a/lib/steel/Steel.ST.EphemeralHashtbl.fst.hints +++ b/lib/steel/Steel.ST.EphemeralHashtbl.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "86653faaf570d171eee5e01753320e63" + "b9f971513db588590cf412f9526bbfe2" ], [ "Steel.ST.EphemeralHashtbl.seq_keys_distinct", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "06e6e8ad2a8dbfb045d58beeee76e6e6" + "75a6d17eaabd26a18904d7e1a997d1b1" ], [ "Steel.ST.EphemeralHashtbl.seq_props_implies_keys_distinct", @@ -32,7 +32,7 @@ "proj_equation_FStar.Pervasives.Native.Some_v" ], 0, - "12b1f6d31293245f63ab6433976a09bb" + "9161175bff5eae91a273edd04c12a2e7" ], [ "Steel.ST.EphemeralHashtbl.store_and_repr_related", @@ -50,7 +50,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "936f8113e26f46e478fef0ff2f3fb460" + "2c015772602d3064450a472ba140f9d4" ], [ "Steel.ST.EphemeralHashtbl.store_and_borrows_related", @@ -68,7 +68,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "86ba9a9e410acd919544a19dea6b3ba5" + "911b5d9752c45808d6b02a185534e171" ], [ "Steel.ST.EphemeralHashtbl.value_vprops_mapping_fn", @@ -88,7 +88,7 @@ "typing_FStar.PartialMap.sel" ], 0, - "e7e6d9129ad6dfa064803259e36bd913" + "dfe626766450ed5fe5d2c19719398ebc" ], [ "Steel.ST.EphemeralHashtbl.map_seq_index", @@ -97,7 +97,7 @@ 1, [ "@query", "lemma_Steel.ST.EphemeralHashtbl.map_seq_len" ], 0, - "28c4b711fc326e2ee45dd250ded5cab9" + "bc854c2d8ee9ecc28357933acf8bdf44" ], [ "Steel.ST.EphemeralHashtbl.create", @@ -165,7 +165,7 @@ "typing_Tm_abs_fcb97563333fee9c324bde0a0282630d" ], 0, - "a2b82935020aa20856542fd58d0a8abe" + "e7edb1234bed62b0654b7dae0f09220c" ], [ "Steel.ST.EphemeralHashtbl.create_v", @@ -234,7 +234,7 @@ "typing_Tm_abs_fcb97563333fee9c324bde0a0282630d" ], 0, - "99d53ed6ff408876859064cad9ed6fe1" + "25ce91f93ec1e24399af99120f329783" ], [ "Steel.ST.EphemeralHashtbl.get_result", @@ -243,7 +243,7 @@ 1, [ "@query" ], 0, - "2c386c5c857a9d1a5225d88a72353520" + "0878ff9ca870fc729a5aa5ff70fbbe82" ], [ "Steel.ST.EphemeralHashtbl.__proj__Present__item___0", @@ -255,7 +255,7 @@ "refinement_interpretation_Tm_refine_50d0dbbf10834f0b0bed020c51110903" ], 0, - "f784057721430bb783a7440f0d09df0c" + "06b0ea9b196a736d04e611ccdb762c66" ], [ "Steel.ST.EphemeralHashtbl.__proj__Missing__item___0", @@ -267,7 +267,7 @@ "refinement_interpretation_Tm_refine_ae87ddf626d409250f9d4391f208a13e" ], 0, - "a6a009127b8dfdfe710b75a24379c74c" + "59e3396fbd3ac912eb7880b61aab1f5d" ], [ "Steel.ST.EphemeralHashtbl.seq_until", @@ -283,7 +283,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "9fff18e8f9f04e460a53e129998952ae" + "fe4ba41a01e3684985bde6718bdedbab" ], [ "Steel.ST.EphemeralHashtbl.seq_from", @@ -301,7 +301,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "1bff9ffa25b19080b08c2fa0e0cb3638" + "997aff9580ea8b2a5aa2b92ded04521a" ], [ "Steel.ST.EphemeralHashtbl.elim_equiv_laws", @@ -316,7 +316,7 @@ "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq" ], 0, - "3cb6d28be660bf8a43ea3a67b11c2b14" + "1bc1bc9971f260923eb836f4dd3c00ed" ], [ "Steel.ST.EphemeralHashtbl.value_vprops_split3", @@ -382,7 +382,7 @@ "typing_Steel.ST.EphemeralHashtbl.value_vprops_mapping_fn" ], 0, - "40767159230fd94ad9f5eefc8fcde969" + "2ea2d279976034dab7dd988c664bf7ee" ], [ "Steel.ST.EphemeralHashtbl.value_vprops_prefix_suffix_get", @@ -448,7 +448,7 @@ "typing_Steel.ST.EphemeralHashtbl.value_vprops_seq" ], 0, - "5a0122ff8fdff1f347187fa1d4d7aa9a" + "4f87a6ab14132df7a79729be2aaf691a" ], [ "Steel.ST.EphemeralHashtbl.value_vprops_prefix_suffix_put", @@ -518,7 +518,7 @@ "typing_Steel.ST.EphemeralHashtbl.value_vprops_seq" ], 0, - "043419fdfcf5a53d2944c416d6914616" + "5dc9bb00b7c1c178cf0f0edbe572724b" ], [ "Steel.ST.EphemeralHashtbl.value_vprops_prefix_suffix_remove", @@ -531,7 +531,7 @@ "refinement_interpretation_Tm_refine_b751bce8716ec6917e4006057b74cb6e" ], 0, - "b5f760c71080e58122801fe759da7acd" + "fecf35588e1b4ae2fe5bda597c911a74" ], [ "Steel.ST.EphemeralHashtbl.value_vprops_prefix_suffix_remove", @@ -600,7 +600,7 @@ "typing_Steel.ST.EphemeralHashtbl.value_vprops_mapping_fn" ], 0, - "c8770c0a8bdcc8708a72d29a6fca1401" + "0fc483404c351eee9cf9a866477241aa" ], [ "Steel.ST.EphemeralHashtbl.unpack_value_vprops", @@ -645,7 +645,7 @@ "typing_Steel.ST.EphemeralHashtbl.value_vprops_mapping_fn" ], 0, - "2a077fe09b6348b31cd35b149a584011" + "2d7dfa8832d1921695a8771ba5a16c1f" ], [ "Steel.ST.EphemeralHashtbl.rewrite_value_vprops_prefix_and_suffix", @@ -657,7 +657,7 @@ "refinement_interpretation_Tm_refine_12d83a89991f024a194fec3bc894d834" ], 0, - "1f73467245b5029beb185d36ee891ced" + "489c504ffe66fbdcc3e8475b6a7ecb98" ], [ "Steel.ST.EphemeralHashtbl.pack_value_vprops", @@ -702,7 +702,7 @@ "typing_Steel.ST.EphemeralHashtbl.value_vprops_mapping_fn" ], 0, - "b4814a5e47188e7601603a2aad1ea1fb" + "deeb83d51cb365f134e20e3ba4a67865" ], [ "Steel.ST.EphemeralHashtbl.get", @@ -727,11 +727,10 @@ "defn_equation_Steel.ST.EphemeralHashtbl.store_and_borrows_related", "defn_equation_Steel.ST.EphemeralHashtbl.store_and_repr_related", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", + "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.PartialMap.contains", "equation_FStar.SizeT.mod_spec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Steel.ST.Array.is_full_array", - "equation_Steel.ST.EphemeralHashtbl.get_post", + "equation_Prims.nat", "equation_Steel.ST.EphemeralHashtbl.get_post", "equation_Steel.ST.EphemeralHashtbl.pure_invariant", "equation_Steel.ST.EphemeralHashtbl.repr", "equation_Steel.ST.EphemeralHashtbl.seq_props", @@ -790,7 +789,7 @@ "typing_Steel.ST.EphemeralHashtbl.value_vprops_mapping_fn" ], 0, - "4cc5ebfe71891bf656a22bfaf555de3c" + "3c3dfe2ddbddcdeb5ba986a54a3682e9" ], [ "Steel.ST.EphemeralHashtbl.put_vprops_aux", @@ -799,7 +798,7 @@ 1, [ "@query" ], 0, - "a1d27986a4f2cbb209506d32399733af" + "846d7cf43f882e6d70567bd348ff1c42" ], [ "Steel.ST.EphemeralHashtbl.put_vprops_aux", @@ -883,7 +882,7 @@ "typing_Steel.ST.EphemeralHashtbl.value_vprops_mapping_fn" ], 0, - "727fbf2aff50f67fcd2812842b75c6fb" + "c7ad9d3d353b08936b99ba02c2c292a5" ], [ "Steel.ST.EphemeralHashtbl.put", @@ -893,20 +892,21 @@ [ "@MaxIFuel_assumption", "@query", "data_elim_Steel.ST.EphemeralHashtbl.Mktbl", "eq2-interp", - "equation_FStar.SizeT.mod_spec", "equation_Prims.nat", - "equation_Steel.ST.Array.is_full_array", + "equation_FStar.Pervasives.dsnd", "equation_FStar.SizeT.mod_spec", + "equation_Prims.nat", "equation_Steel.ST.Array.is_full_array", + "equation_Steel.ST.Array.length", "equation_Steel.ST.Array.ptr_of", "equation_Steel.ST.EphemeralHashtbl.pure_invariant", "equation_Steel.ST.EphemeralHashtbl.seq_props", "fuel_guarded_inversion_Steel.ST.EphemeralHashtbl.tbl", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_Steel.ST.EphemeralHashtbl.Mktbl_store", "proj_equation_Steel.ST.EphemeralHashtbl.Mktbl_store_len", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_9771a303217327f176fb5f46fe00ea6c" ], 0, - "cdc482df5b89532e4fc619e0e05577ed" + "b3a0196f3e4c0c3b243403bfb65e565a" ], [ "Steel.ST.EphemeralHashtbl.ghost_put", @@ -928,10 +928,10 @@ "defn_equation_Steel.ST.EphemeralHashtbl.store_and_borrows_related", "defn_equation_Steel.ST.EphemeralHashtbl.store_and_repr_related", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", + "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.PartialMap.contains", "equation_FStar.SizeT.mod_spec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Steel.ST.Array.is_full_array", + "equation_Prims.nat", "equation_Steel.ST.EphemeralHashtbl.pure_invariant", "equation_Steel.ST.EphemeralHashtbl.repr", "equation_Steel.ST.EphemeralHashtbl.seq_from", @@ -998,7 +998,7 @@ "typing_Tm_abs_fcb97563333fee9c324bde0a0282630d" ], 0, - "4664671628a55faf27889de10ab621a3" + "913b84315adecad59bd219d7ed2f9fd0" ], [ "Steel.ST.EphemeralHashtbl.remove_vprops_aux", @@ -1007,7 +1007,7 @@ 1, [ "@query" ], 0, - "9004b30e87e17c47b12bad6164771d38" + "18d02b62f30be2c3282491afe54e2dda" ], [ "Steel.ST.EphemeralHashtbl.remove_vprops_aux", @@ -1096,7 +1096,7 @@ "typing_Steel.ST.EphemeralHashtbl.value_vprops_seq" ], 0, - "1142cae5010641cfbaa37cd7e6ee765e" + "573a6318eaf5e3c8f4088cb83fac9299" ], [ "Steel.ST.EphemeralHashtbl.remove", @@ -1118,7 +1118,7 @@ "refinement_interpretation_Tm_refine_9771a303217327f176fb5f46fe00ea6c" ], 0, - "e5e3d35b03d451354639b774e9049ec1" + "c91fbac7d77f8b4dc57caa9725e390ef" ], [ "Steel.ST.EphemeralHashtbl.free", @@ -1127,7 +1127,7 @@ 1, [ "@query", "equation_Steel.ST.EphemeralHashtbl.pure_invariant" ], 0, - "c9c0ef334ccec74f00a19e46f922a102" + "fd79d399ab13d1f09d8f6aa3b11aa8d3" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.EphemeralHashtbl.fsti.hints b/lib/steel/Steel.ST.EphemeralHashtbl.fsti.hints index f20126d91..fe3718ec9 100644 --- a/lib/steel/Steel.ST.EphemeralHashtbl.fsti.hints +++ b/lib/steel/Steel.ST.EphemeralHashtbl.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "87540367213a5d73eb0f04d9e84ae14a" + "35c14530c0568100a84e0418c9b7a498" ], [ "Steel.ST.EphemeralHashtbl.__proj__Present__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_50d0dbbf10834f0b0bed020c51110903" ], 0, - "a395279be14abb811e0e859bd77558a1" + "09307757853c7265aaa09bf9c7e6f223" ], [ "Steel.ST.EphemeralHashtbl.__proj__Missing__item___0", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_ae87ddf626d409250f9d4391f208a13e" ], 0, - "2863c1b47ea78677a305abaca62eb5f1" + "59e3396fbd3ac912eb7880b61aab1f5d" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GenArraySwap.Proof.fst.hints b/lib/steel/Steel.ST.GenArraySwap.Proof.fst.hints index b1b85aff7..43c7e9ce6 100644 --- a/lib/steel/Steel.ST.GenArraySwap.Proof.fst.hints +++ b/lib/steel/Steel.ST.GenArraySwap.Proof.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fca29f4e30ab98e0ef23d00510d21602" + "59a850b580dded4bb9b8b9a025defd9d" ], [ "Steel.ST.GenArraySwap.Proof.lemma_mul_nat_nat_is_nat", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "375434dc348f84c37aa8a18a632c39f7" + "335a793a7b7e4f6b8f289f97f60a367c" ], [ "Steel.ST.GenArraySwap.Proof.lemma_pos_mul_pos_args", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3eb224f93a81dd638ade637708c40398" + "4583ae0e787120481dc57fae7b6fb86a" ], [ "Steel.ST.GenArraySwap.Proof.lemma_div_nat", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0020cbbefe0d3fcdba0d445894073b62" + "94f13c63cf2578b57e7ef12bc17e2133" ], [ "Steel.ST.GenArraySwap.Proof.lemma_mult_reg_l", @@ -67,7 +67,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "192b952cc4f221b415a889772873720c" + "c4a627389f36c22af9be6e04b911d6dc" ], [ "Steel.ST.GenArraySwap.Proof.lemma_bezout_one_zero", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fce3a8fe73fc538322abc2098168be7e" + "7eeae078bb4dc6e5dac770407a56034f" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -93,7 +93,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fa507047542e9906dc09c3263a988c62" + "708ae0346c75f4784866c16c75a8e47e" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -109,7 +109,8 @@ "equation_Steel.ST.GenArraySwap.Proof.bezout_prop", "equation_Steel.ST.GenArraySwap.Proof.bezout_prop_", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_Steel.ST.GenArraySwap.Proof.lemma_div_nat", + "int_inversion", "int_typing", + "lemma_Steel.ST.GenArraySwap.Proof.lemma_div_nat", "lemma_Steel.ST.GenArraySwap.Proof.lemma_mod_lt", "lemma_Steel.ST.GenArraySwap.Proof.lemma_mul_nat_nat_is_nat", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -133,7 +134,7 @@ "true_interp", "well-founded-ordering-on-nat" ], 0, - "32f444e7d6d12132fa26795ad68371e7" + "f7e0272611b4381ea235f22e896105d8" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -154,7 +155,7 @@ "well-founded-ordering-on-nat" ], 0, - "579bfd74bfb972e84ab281dc7e8acd4a" + "d2123b2848a762e274ed08f4c318b28c" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -164,18 +165,22 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", + "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "int_inversion", "lemma_Steel.ST.GenArraySwap.Proof.lemma_mod_lt", + "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_40d9808cdb0eaddb74e6a17418ae3fb3", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_56e844da584683fbc99d1cf35397bb0b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_b033c48d4eaf4b7056466177011db9f6", "well-founded-ordering-on-nat" ], 0, - "579bfd74bfb972e84ab281dc7e8acd4a" + "d2123b2848a762e274ed08f4c318b28c" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -189,7 +194,7 @@ "refinement_interpretation_Tm_refine_b033c48d4eaf4b7056466177011db9f6" ], 0, - "ef8ca254ef34fb997b9b60ebd1ee452d" + "4b16c18a862a3e1c960faa57236b66b4" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -199,22 +204,18 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", - "equation_Prims.pos", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_Steel.ST.GenArraySwap.Proof.lemma_mod_lt", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", + "int_inversion", "primitive_Prims.op_Equality", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_40d9808cdb0eaddb74e6a17418ae3fb3", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_56e844da584683fbc99d1cf35397bb0b", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_b033c48d4eaf4b7056466177011db9f6", "well-founded-ordering-on-nat" ], 0, - "de76802e2604475516f5eb6f231ed0b9" + "d2123b2848a762e274ed08f4c318b28c" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -224,17 +225,22 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", + "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "int_inversion", "int_typing", + "lemma_Steel.ST.GenArraySwap.Proof.lemma_mod_lt", + "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_56e844da584683fbc99d1cf35397bb0b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_b033c48d4eaf4b7056466177011db9f6", "well-founded-ordering-on-nat" ], 0, - "839cbec07f7364af935c6d5461ae2225" + "602fb321514a107a683e457d8a08eb3d" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -244,22 +250,18 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", - "equation_Prims.pos", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_Steel.ST.GenArraySwap.Proof.lemma_mod_lt", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", + "int_inversion", "primitive_Prims.op_Equality", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_40d9808cdb0eaddb74e6a17418ae3fb3", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_56e844da584683fbc99d1cf35397bb0b", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_b033c48d4eaf4b7056466177011db9f6", "well-founded-ordering-on-nat" ], 0, - "c6200dd2172824f0a1b33b4beb323201" + "939aa3bf80068d401123a14cd62b5f03" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -269,22 +271,18 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", - "equation_Prims.pos", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_Steel.ST.GenArraySwap.Proof.lemma_mod_lt", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", + "int_inversion", "primitive_Prims.op_Equality", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_40d9808cdb0eaddb74e6a17418ae3fb3", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_56e844da584683fbc99d1cf35397bb0b", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_b033c48d4eaf4b7056466177011db9f6", "well-founded-ordering-on-nat" ], 0, - "c6200dd2172824f0a1b33b4beb323201" + "939aa3bf80068d401123a14cd62b5f03" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -298,7 +296,7 @@ "refinement_interpretation_Tm_refine_b033c48d4eaf4b7056466177011db9f6" ], 0, - "fdbc6e2ee5cea1a23503323a38a6709c" + "31088c5a2ebc2c9072ed73a3c4177180" ], [ "Steel.ST.GenArraySwap.Proof.mk_bezout", @@ -308,17 +306,22 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", + "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "int_inversion", "int_typing", + "lemma_Steel.ST.GenArraySwap.Proof.lemma_mod_lt", + "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_56e844da584683fbc99d1cf35397bb0b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_b033c48d4eaf4b7056466177011db9f6", "well-founded-ordering-on-nat" ], 0, - "6e5f927690c07436d82df0b9fc9173d7" + "06e387ab5a92d367af540259ef3ea259" ], [ "Steel.ST.GenArraySwap.Proof.bezout_q_eq", @@ -340,7 +343,7 @@ "typing_Steel.ST.GenArraySwap.Proof.__proj__Mkbezout_t__item__d" ], 0, - "6f53e638d508dd68ffb39e3310e1419b" + "401ba72c2794d74be7e50be349a1455c" ], [ "Steel.ST.GenArraySwap.Proof.iter_fun", @@ -356,7 +359,7 @@ "well-founded-ordering-on-nat" ], 0, - "5a01578f5a95326c762fc46d6bf9f823" + "a04649edfec116cf5e6ae087866a07c8" ], [ "Steel.ST.GenArraySwap.Proof.jump", @@ -365,7 +368,7 @@ 1, [ "@query" ], 0, - "8c6039e48110e0c5917ece21e7b56d04" + "d3faf17efbb9c13af4f69fbe4024b341" ], [ "Steel.ST.GenArraySwap.Proof.jump", @@ -383,7 +386,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "5295920f14d724d8ed9ece1af8166dcf" + "ebcf4230b0bfa8520a2a587377af343a" ], [ "Steel.ST.GenArraySwap.Proof.jump_mod_d", @@ -395,7 +398,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "da1c3149f01c6d82ed1abbbed3878135" + "68baa792f252e6c1d45c24ba73868a4c" ], [ "Steel.ST.GenArraySwap.Proof.jump_mod_d", @@ -422,7 +425,7 @@ "typing_Steel.ST.GenArraySwap.Proof.__proj__Mkbezout_t__item__d" ], 0, - "f3a1b0e326175b9c43bb58ed36190101" + "c5bc3f95aa885ed11c4fc5c29ec15029" ], [ "Steel.ST.GenArraySwap.Proof.jump_mod_d", @@ -431,7 +434,7 @@ 1, [ "@query" ], 0, - "1a2687fa329353e9f9f15fa4433100d3" + "3a2e7cab376dda54d8e127b451c58780" ], [ "Steel.ST.GenArraySwap.Proof.jump_mod_d", @@ -445,7 +448,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a72902f8cc23d96c230aa5d1c1b1571f" + "995662ecb17dffeef84eef9424bbccde" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_mod_d", @@ -457,7 +460,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "099aaa9ee840064e8deceefb85184121" + "18f85b321c23c76f41d58bd65adca436" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_mod_d", @@ -495,7 +498,7 @@ "well-founded-ordering-on-nat" ], 0, - "14671ff6341a8d773e75ab4cbe30f2db" + "cb6b141fa97aeb78ea689b02dc93703f" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter", @@ -507,7 +510,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4ada05c47778f4585704e7b9f2999738" + "74007b139aeee63d6a39f4d89eea5df3" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter", @@ -545,7 +548,7 @@ "well-founded-ordering-on-nat" ], 0, - "ca29d6ccda890d4c5f95675a96d3579d" + "4dbfde5924bb084535b9a56a7d9efed5" ], [ "Steel.ST.GenArraySwap.Proof.bezout_pos_le", @@ -554,7 +557,7 @@ 1, [ "@query" ], 0, - "13a84a14f3f96674ed1253c4950ab0e5" + "093f42f78c2b80674431bc15c8fd609d" ], [ "Steel.ST.GenArraySwap.Proof.bezout_pos_le", @@ -572,7 +575,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "af58a378bebfc22e269e5b381b62e28c" + "bd939a16f74df71ee44b727fe50d725f" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage", @@ -584,7 +587,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cc146c532bcd434d00c9566a87f21160" + "20cd910d4afb5d975d9489d0cdc25fc1" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage", @@ -610,7 +613,7 @@ "typing_Steel.ST.GenArraySwap.Proof.__proj__Mkbezout_t__item__d" ], 0, - "c4f55b43dcda088ef9a8e72d35ff868d" + "19971b39775198df8d24c54e9dc01133" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage", @@ -619,7 +622,7 @@ 1, [ "@query" ], 0, - "336ab52e30cb434fe120a2f56ef3f9c3" + "111b066cfcf48372f985259e467b7bac" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage", @@ -628,7 +631,7 @@ 1, [ "@query" ], 0, - "336ab52e30cb434fe120a2f56ef3f9c3" + "111b066cfcf48372f985259e467b7bac" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage", @@ -642,7 +645,7 @@ "refinement_interpretation_Tm_refine_dfbf46a51d12640a72e0034e66df0c7e" ], 0, - "dfc02f2133fb05dc724add785806b484" + "fa7129c47ad3d765f81a067857e01bde" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage", @@ -651,7 +654,7 @@ 1, [ "@query" ], 0, - "4498e28c7f04fed39043016ab4d9b490" + "33d0a30cdbff81cff0c4c7a43e3ebae2" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage", @@ -667,7 +670,7 @@ "refinement_interpretation_Tm_refine_dfbf46a51d12640a72e0034e66df0c7e" ], 0, - "2c480435de077505fc41a7a27276aeb1" + "352d0d0d00a84b90506a83c137d7b6a2" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage", @@ -683,7 +686,7 @@ "refinement_interpretation_Tm_refine_dfbf46a51d12640a72e0034e66df0c7e" ], 0, - "2c480435de077505fc41a7a27276aeb1" + "352d0d0d00a84b90506a83c137d7b6a2" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage", @@ -701,7 +704,7 @@ "refinement_interpretation_Tm_refine_dfbf46a51d12640a72e0034e66df0c7e" ], 0, - "a8f6033fd48059a6fdd369e4320ed140" + "d7e35b62ffbd729c1d2125ffdb1a4ec6" ], [ "Steel.ST.GenArraySwap.Proof.minimal_exists'", @@ -723,7 +726,7 @@ "well-founded-ordering-on-nat" ], 0, - "fc820b185a9903fb0df5b544d5e79858" + "e3540d62f54ebd58349ab58e09815d67" ], [ "Steel.ST.GenArraySwap.Proof.minimal_exists", @@ -735,7 +738,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "39f2b74090fd9f0fc7b0008f969e433b" + "3af99b8bdf45ccf911249220a9b1e567" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage_strong", @@ -747,7 +750,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9c90c752ffe585610c7c9d1538f08ba7" + "ce3eb9d398b4d436731aae9eac034d88" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage_strong", @@ -776,7 +779,7 @@ "typing_Steel.ST.GenArraySwap.Proof.__proj__Mkbezout_t__item__d" ], 0, - "f40abddc7a0f1dd6181de8efb5156eb6" + "732c96c17786f646b132fe270123d7fc" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_mod_q", @@ -788,7 +791,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "76a9a4e5a756403732e15980aa7b1a6b" + "0dbd97faf2bfb0e9ed7827b44745ba87" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_mod_q", @@ -811,7 +814,7 @@ "true_interp" ], 0, - "96f120faaf50ad4feeaac93fee03f198" + "1648a7206e69b2056bbe81455b26750c" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_mod_q", @@ -824,7 +827,7 @@ "refinement_interpretation_Tm_refine_22029935edc2fcc3f39396a96ed2b1a3" ], 0, - "8d96a79035e6910c26f2913427328a8d" + "a8ab337cbae6ae61c85d7aeeb0083ae7" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_mod_q", @@ -837,7 +840,7 @@ "refinement_interpretation_Tm_refine_22029935edc2fcc3f39396a96ed2b1a3" ], 0, - "8d96a79035e6910c26f2913427328a8d" + "a8ab337cbae6ae61c85d7aeeb0083ae7" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_mod_q", @@ -851,7 +854,7 @@ "refinement_interpretation_Tm_refine_6a95e4da071ab7fd43cb421fec6c2f01" ], 0, - "5f65fe36ff3c0f16e2c41b201d44f381" + "4d01aa955f7f512a7b6c6578ccd06872" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage_strong_bound", @@ -863,7 +866,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "10dc76c6b43d12dc4845106a36fed887" + "c10dfcbb8f48f34acd5bfd81fdc354a4" ], [ "Steel.ST.GenArraySwap.Proof.jump_coverage_strong_bound", @@ -889,7 +892,7 @@ "typing_Steel.ST.GenArraySwap.Proof.jump_coverage_strong" ], 0, - "dadc599b682c9c30838d2e3ec675c061" + "0b1d3adaa1052b1149c6503bd44c06ba" ], [ "Steel.ST.GenArraySwap.Proof.mod_eq_elim", @@ -905,7 +908,7 @@ "true_interp" ], 0, - "f9c4bca64f6788364e55237794929a95" + "668c253da3525c6867e69a7df28547f5" ], [ "Steel.ST.GenArraySwap.Proof.mod_eq_elim", @@ -914,7 +917,7 @@ 1, [ "@query" ], 0, - "821f51eaa9a38037d091c4717b7315e9" + "4be1ec4d1ef23af966a04ecc4202c632" ], [ "Steel.ST.GenArraySwap.Proof.mod_eq_elim", @@ -923,7 +926,7 @@ 1, [ "@query" ], 0, - "821f51eaa9a38037d091c4717b7315e9" + "4be1ec4d1ef23af966a04ecc4202c632" ], [ "Steel.ST.GenArraySwap.Proof.mod_eq_elim", @@ -932,7 +935,7 @@ 1, [ "@query" ], 0, - "821f51eaa9a38037d091c4717b7315e9" + "4be1ec4d1ef23af966a04ecc4202c632" ], [ "Steel.ST.GenArraySwap.Proof.mod_eq_elim", @@ -946,7 +949,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "0d9bbe60dc0778f64ea2e60160c8544e" + "e8ea8c29661f99b5263145e1bdb46a02" ], [ "Steel.ST.GenArraySwap.Proof.mod_eq_intro", @@ -960,7 +963,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "328673554e9f344a825818bca5a63fb1" + "bf1e49770d971341473a4d9627f61bf3" ], [ "Steel.ST.GenArraySwap.Proof.gauss", @@ -972,7 +975,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "048fbf94472e62c4480de0f4cd76cc95" + "c35438b0b8e1962981e9892b5af5ee1c" ], [ "Steel.ST.GenArraySwap.Proof.gauss", @@ -1001,7 +1004,7 @@ "typing_Steel.ST.GenArraySwap.Proof.__proj__Mkbezout_t__item__d" ], 0, - "901375f66e5f8ebb89928e2f9f7b36d3" + "04f52df693f72f2b9beb68ee75783382" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_mod_q_inj_weak", @@ -1013,7 +1016,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "67b37c148ab431971ff33ebf7da43454" + "feb2e7157e643fe7572878ddbed255b7" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_mod_q_inj_weak", @@ -1034,7 +1037,7 @@ "true_interp" ], 0, - "f5cd60b5bf8ca67feb22e79c9e4c3318" + "cb3ab44e44dd2c69f66eb8636e64ef07" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_inj", @@ -1051,7 +1054,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "634819e9a8ae58d99a28b3e95bc8d579" + "6b03e1b6813bf1d70506324653ef2afd" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_elim", @@ -1063,7 +1066,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a858a9f9759f1bf7745261cdace52f6f" + "e292452cc930f87839506632f31a932c" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_elim", @@ -1088,7 +1091,7 @@ "typing_Steel.ST.GenArraySwap.Proof.jump_coverage_strong" ], 0, - "7b76c7c07cf02f3e364b5aab652481e9" + "33d9089b2575e9745db110c40a39fa6e" ], [ "Steel.ST.GenArraySwap.Proof.jump_if", @@ -1097,7 +1100,7 @@ 1, [ "@query" ], 0, - "bb06d8daad6ed6adf9a7cf2ce8954469" + "2927fd6b7cd8b0c67e8d4540cefe52ec" ], [ "Steel.ST.GenArraySwap.Proof.jump_if", @@ -1121,7 +1124,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "d6630f153cf72310ce96f8c6b2b77565" + "2c3485b690bc72456fbe9392b410db67" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_q", @@ -1133,7 +1136,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b1275b8ae27ccbd634649ed9f2d388f2" + "1d1dfc2cc84959dcd6407144a1841782" ], [ "Steel.ST.GenArraySwap.Proof.jump_iter_q", @@ -1161,7 +1164,7 @@ "typing_Steel.ST.GenArraySwap.Proof.nat_up_to" ], 0, - "1333602bf582d4b644b4485e10d595b8" + "918a1be765601ec39736e81c1ff1fa9d" ], [ "Steel.ST.GenArraySwap.Proof.iter_fun_add", @@ -1174,7 +1177,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3e6a2001ed610d097acf46fdfcc4266c" + "42c12f4c3630d032f6822ac62cb462fe" ], [ "Steel.ST.GenArraySwap.Proof.iter_fun_add", @@ -1203,7 +1206,7 @@ "well-founded-ordering-on-nat" ], 0, - "568e8c8fb5138da5ba6e18328f7f907c" + "4e8d53d129e4ce9ccad6627636bb75f9" ], [ "Steel.ST.GenArraySwap.Proof.iter_succ_l", @@ -1226,7 +1229,7 @@ "typing_Steel.ST.GenArraySwap.Proof.iter_fun" ], 0, - "6e21f2da29b7ae58b7b5f99e3c69527c" + "3cac7c51dc209b144fe9dfccc9a2d965" ], [ "Steel.ST.GenArraySwap.Proof.jump_jump_iter_pred_q", @@ -1238,7 +1241,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cd95912a3f3856d3801fbde7d792a56b" + "c76c65ce602bdb8484dd6a55ba7a1a01" ], [ "Steel.ST.GenArraySwap.Proof.jump_jump_iter_pred_q", @@ -1268,7 +1271,7 @@ "typing_Steel.ST.GenArraySwap.Proof.nat_up_to" ], 0, - "ed43c0e0defd7b4acfd83f16d3ba107e" + "28efcc9e3934833a51d9f038e3ae640a" ], [ "Steel.ST.GenArraySwap.Proof.array_swap_post", @@ -1282,7 +1285,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4f82d14a30931d7ce5807b564f605f0a" + "d8a586a0a6d8eda7ba8a5edca36743f1" ], [ "Steel.ST.GenArraySwap.Proof.array_as_ring_buffer_swap", @@ -1327,7 +1330,7 @@ "typing_Steel.ST.GenArraySwap.Proof.jump" ], 0, - "9df6b5cc623a1f5c606a10905cab5c40" + "44e18d271445b52db93fabf197375bff" ], [ "Steel.ST.GenArraySwap.Proof.array_swap_outer_invariant", @@ -1348,7 +1351,7 @@ "typing_Steel.ST.GenArraySwap.Proof.__proj__Mkbezout_t__item__d" ], 0, - "77fc761f360054ccb1e013166b64145e" + "e31fa1263b544c564c9713db46afd8d0" ], [ "Steel.ST.GenArraySwap.Proof.array_swap_inner_invariant", @@ -1373,7 +1376,7 @@ "typing_Steel.ST.GenArraySwap.Proof.__proj__Mkbezout_t__item__d" ], 0, - "8fa4e569aa2f60c67ed1d8eb822f910c" + "4f6770c01e18f8c166a47901c87e0ef6" ], [ "Steel.ST.GenArraySwap.Proof.array_swap_inner_invariant_end", @@ -1423,7 +1426,7 @@ "typing_Steel.ST.GenArraySwap.Proof.nat_up_to" ], 0, - "7a28685f2f832ab02d053c806e6f5c77" + "837d324726b100f1ee9cf07402901089" ], [ "Steel.ST.GenArraySwap.Proof.sz_rem_spec", @@ -1444,7 +1447,7 @@ "typing_FStar.SizeT.rem" ], 0, - "8fec12a54ac8127c3d0221198d7856a3" + "2a282a7a72f0e3238c77e74970dd13e9" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GenArraySwap.fst.hints b/lib/steel/Steel.ST.GenArraySwap.fst.hints index 85918a842..90de830d0 100644 --- a/lib/steel/Steel.ST.GenArraySwap.fst.hints +++ b/lib/steel/Steel.ST.GenArraySwap.fst.hints @@ -1,5 +1,5 @@ [ - "a_oh\u0001OP݁ɝ", + "FK,9GWKq\u0004U\n", [ [ "Steel.ST.GenArraySwap.array_index_t", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "23f285efac36d92e1d88239ba8aa7279" + "ac19237f43c7238c6d3dbe8a3b358309" ], [ "Steel.ST.GenArraySwap.array_upd_t", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "8296a20d15086c5ae2cc06f49938af23" + "019b0ac06dea1b61ccf8def5bc70eba2" ], [ "Steel.ST.GenArraySwap.gcd_inv_prop", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "537439efefea9ee79885abc158a0abf6" + "69c0170e7fc4eae492d9523cd6eb4742" ], [ "Steel.ST.GenArraySwap.gcd_post", @@ -43,7 +43,7 @@ "typing_FStar.SizeT.v" ], 0, - "da9335b975749865c01f10e23af3085e" + "d721f371b93a56ceae528d67c053b607" ], [ "Steel.ST.GenArraySwap.gcd", @@ -87,7 +87,7 @@ "typing_FStar.SizeT.v", "typing_Steel.ST.GenElim.Base.sndp" ], 0, - "8779a2d3d88d7f3f93f2a16b77665cc8" + "3a7e7bc2c30833c156a4f339bf729c23" ], [ "Steel.ST.GenArraySwap.array_swap_partial_invariant", @@ -108,7 +108,7 @@ "typing_Steel.ST.GenArraySwap.Proof.__proj__Mkbezout_t__item__d" ], 0, - "3145390bd855554dc9591c3d72caf73b" + "603a60c85d32e6f3ebf4b7faee167224" ], [ "Steel.ST.GenArraySwap.intro_array_swap_outer_invariant", @@ -136,7 +136,7 @@ "true_interp", "typing_FStar.SizeT.v" ], 0, - "55bec2bc3aa5e8e30292cf39a7cc31ae" + "ef565782aa91616d92e1739b9dfa266d" ], [ "Steel.ST.GenArraySwap.elim_array_swap_outer_invariant", @@ -148,7 +148,7 @@ "true_interp" ], 0, - "1767ec0ac20977b236be9d5a5402ff21" + "ab27b2bdc0984c4e45e0a28d7c0d7f18" ], [ "Steel.ST.GenArraySwap.intro_array_swap_inner_invariant", @@ -178,7 +178,7 @@ "true_interp", "typing_FStar.SizeT.v" ], 0, - "da49e7c4a7621fa877ac46f7626255f1" + "6d19acf45960eb70ea913ecacbaa4d39" ], [ "Steel.ST.GenArraySwap.elim_array_swap_inner_invariant", @@ -187,7 +187,7 @@ 1, [ "@query" ], 0, - "e5e1d0ec39d9cf46ba6ad9ed3014ca38" + "db64863e54240fef1053147fecd15362" ], [ "Steel.ST.GenArraySwap.impl_jump", @@ -212,7 +212,7 @@ "typing_FStar.SizeT.v", "typing_Steel.ST.GenArraySwap.Proof.jump" ], 0, - "34f7e9851ba84b3e436d097892b88dfc" + "c026c2f9bf52cee3f5a0dc496c8f2a02" ], [ "Steel.ST.GenArraySwap.array_swap_outer_body", @@ -221,13 +221,13 @@ 1, [ "@query" ], 0, - "a2accd44dfdb0ac68746db9e03281611" + "d7db774ef83febdddca0e69ec11c3ca9" ], [ "Steel.ST.GenArraySwap.array_swap_outer_body", 2, 2, - 2, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Steel.ST.GenArraySwap.Proof.iter_fun.fuel_instrumented", @@ -238,8 +238,8 @@ "b2t_def", "bool_inversion", "bool_typing", "defn_equation_Steel.ST.GenArraySwap.Proof.array_swap_inner_invariant", "defn_equation_Steel.ST.GenArraySwap.Proof.array_swap_outer_invariant", - "eq2-interp", "equation_Prims.l_True", "equation_Prims.nat", - "equation_Prims.pos", "equation_Steel.Effect.Common.prop_and", + "equation_Prims.l_True", "equation_Prims.nat", "equation_Prims.pos", + "equation_Steel.Effect.Common.prop_and", "equation_Steel.ST.GenArraySwap.Proof.array_swap_inner_invariant", "equation_Steel.ST.GenArraySwap.Proof.array_swap_outer_invariant", "equation_Steel.ST.GenArraySwap.Proof.bezout", @@ -254,8 +254,6 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Steel.ST.GenArraySwap.Proof.jump", "int_inversion", "int_typing", "l_and-interp", - "l_quant_interp_32e8b488931f737899159d78420d7304", - "l_quant_interp_3edc7249b4f945fe440095962dc3fc6c", "l_quant_interp_67a96a1f71bad1e568961e3043f40849", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", @@ -267,8 +265,7 @@ "lemma_Steel.ST.GenArraySwap.Proof.lemma_mod_lt", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "proj_equation_Steel.ST.GenArraySwap.Mkarray_swap_inner_invariant_t_s", "proj_equation_Steel.ST.GenArraySwap.Mkarray_swap_outer_invariant_t_s", "proj_equation_Steel.ST.GenArraySwap.Proof.Mkbezout_t_d", @@ -284,7 +281,8 @@ "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "true_interp", "typing_FStar.Ghost.reveal", - "typing_FStar.Seq.Base.seq", "typing_FStar.SizeT.v", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.seq", + "typing_FStar.SizeT.v", "typing_Steel.ST.GenArraySwap.Proof.__proj__Mkbezout_t__item__q_n", "typing_Steel.ST.GenArraySwap.Proof.iter_fun", "typing_Steel.ST.GenArraySwap.Proof.nat_up_to", @@ -293,7 +291,7 @@ "typing_Steel.ST.GenArraySwap.__proj__Mkarray_swap_outer_invariant_t__item__i" ], 0, - "1331eb431929d75edf0e19260e02998b" + "1a63c58e2bb4c7721b47b2758c212690" ], [ "Steel.ST.GenArraySwap.array_swap_aux", @@ -342,7 +340,7 @@ "typing_Steel.ST.GenArraySwap.__proj__Mkarray_swap_outer_invariant_t__item__s" ], 0, - "ad2bcc19d9476d2f5fb3eb56502e10de" + "b9f8f2891fd37ec28195d78a2fc353a1" ], [ "Steel.ST.GenArraySwap.array_swap_gen", @@ -356,7 +354,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3b328789f0f78b371b33691a0c0fff43" + "053eba2a86ec5c92aae92e7c5bdd4107" ], [ "Steel.ST.GenArraySwap.array_swap_gen", @@ -371,7 +369,6 @@ "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", @@ -385,7 +382,6 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", @@ -400,7 +396,7 @@ "typing_FStar.SizeT.v" ], 0, - "d401c2023b838ca35daf0ced8399c50b" + "f3f3e40d90952e4c82eafe90946dcdb9" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GenArraySwap.fsti.hints b/lib/steel/Steel.ST.GenArraySwap.fsti.hints index 173be18b7..b3f79c2c6 100644 --- a/lib/steel/Steel.ST.GenArraySwap.fsti.hints +++ b/lib/steel/Steel.ST.GenArraySwap.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "a76923f0342f65f4ea6b5803d02ec545" + "4061b1624ae7764b764b993faf50faeb" ], [ "Steel.ST.GenArraySwap.array_upd_t", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "c95cd58af5b23265a360b4873df67b19" + "019b0ac06dea1b61ccf8def5bc70eba2" ], [ "Steel.ST.GenArraySwap.array_swap_gen", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "65d78995cd843058174d91e07e386365" + "ad5ac5ed8177ff5175703049d03d4c43" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GenElim.Base.fst.hints b/lib/steel/Steel.ST.GenElim.Base.fst.hints index 93cf72f9b..7da47a4d0 100644 --- a/lib/steel/Steel.ST.GenElim.Base.fst.hints +++ b/lib/steel/Steel.ST.GenElim.Base.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_011163544158fd80ba945feb8aa1430c" ], 0, - "8d5544499a7ff3729225576abbf6c6ae" + "0ef79dd73606d6d38a0e912cb5c272ce" ], [ "Steel.ST.GenElim.Base.__proj__GUEPure__item__p", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_9240ca36579ec403ed54f57e83a41d7c" ], 0, - "aa080e12de15f334fee5cd4393a9acb7" + "ba82188fb7bd050a1d8982a9592f0bf8" ], [ "Steel.ST.GenElim.Base.__proj__GUEStar__item__left", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_4c98d54d465bb0ed7913c87439045875" ], 0, - "b4e66c3052c38fc32716406bce584e12" + "2d84ecd57a4830dba0725960836f644e" ], [ "Steel.ST.GenElim.Base.__proj__GUEStar__item__right", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_4c98d54d465bb0ed7913c87439045875" ], 0, - "3a591c46b1f7efd9d39a55915470c2a5" + "eabcb15179ab4daadf7fa573e75122ee" ], [ "Steel.ST.GenElim.Base.__proj__GEUnit__item__i", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_c9155d10d5625b39ea9ebbbea46b170c" ], 0, - "dc983de6a9ebb49df15efd189d218611" + "d74932f50f76c8efb2f8bca630c80e09" ], [ "Steel.ST.GenElim.Base.__proj__GEStarL__item__left", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_3bedb222fa5574a6693a4e061f20d761" ], 0, - "2e22715e844fb32b1ad20f168c0a404c" + "fd24023ac582ba6e50b24e5e0f544fd1" ], [ "Steel.ST.GenElim.Base.__proj__GEStarL__item__right", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_3bedb222fa5574a6693a4e061f20d761" ], 0, - "06c81aa67be447ed751a66cf4406add1" + "f0a81817bc4964304779d8f3923aa9f5" ], [ "Steel.ST.GenElim.Base.__proj__GEStarR__item__left", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_5512e2c0ce6c5530638ce84b035ed356" ], 0, - "322892647f013bdcc54b6db24b202ea8" + "9b59964830df91694bd7e990c0f0d82a" ], [ "Steel.ST.GenElim.Base.__proj__GEStarR__item__right", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_5512e2c0ce6c5530638ce84b035ed356" ], 0, - "b4049019d7c2e06f4401349e08ca345f" + "9d124b761863caf6c86e4dba2e777d52" ], [ "Steel.ST.GenElim.Base.__proj__GEStar__item__left", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_f7c00b772c14269d6826b430d44e8399" ], 0, - "c0bd987032977f2f3faa22f7a55e040f" + "c9aeac6b1ce062a5468ef910c5bfd39f" ], [ "Steel.ST.GenElim.Base.__proj__GEStar__item__right", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_f7c00b772c14269d6826b430d44e8399" ], 0, - "8082bbf82e8ba841bb0153d3338c1b12" + "53be1b14290310959e65e57d0ca42bc6" ], [ "Steel.ST.GenElim.Base.__proj__GEExistsNoAbs__item__a", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_e58fc2a0951852e173bbe6fe14dd28a2" ], 0, - "8291b39d9f9c8d7c22b62045a36e3809" + "bc338c8d777e660969b384571f83e3cf" ], [ "Steel.ST.GenElim.Base.__proj__GEExistsNoAbs__item__body", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_e58fc2a0951852e173bbe6fe14dd28a2" ], 0, - "395059262f91a3c14462ddb90f56cfd5" + "a3bcb1ad3ebbfe0ba6ed65c77755e58a" ], [ "Steel.ST.GenElim.Base.__proj__GEExistsUnit__item__a", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_5f8edebfd8a7a1fd93d61c4f98de9185" ], 0, - "6c2206ed79cc1ad5e693d216f7a97360" + "318a580e3a8d4b52a2dbe7f8bdb126c7" ], [ "Steel.ST.GenElim.Base.__proj__GEExistsUnit__item__body", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_5f8edebfd8a7a1fd93d61c4f98de9185" ], 0, - "8e28fd651d0c133fd2224feb64464070" + "db174195184dd459d1415783acdaa367" ], [ "Steel.ST.GenElim.Base.__proj__GEExists__item__a", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_0c9d1b37c76b57d017f7a114754d2dd0" ], 0, - "09d0eba8da043b06f4969308522af582" + "e96e7e11023cfe3eb272d850de64245a" ], [ "Steel.ST.GenElim.Base.__proj__GEExists__item__body", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_0c9d1b37c76b57d017f7a114754d2dd0" ], 0, - "c5f873573f6d999372dabecd53b28b03" + "8a5d4eb2cbf19356b16f7b86579188f8" ], [ "Steel.ST.GenElim.Base.compute_gen_unit_elim_p", @@ -222,7 +222,7 @@ "subterm_ordering_Steel.ST.GenElim.Base.GUEStar" ], 0, - "867f9fc64ae712b0e4cbf9de32086276" + "b11a773a639857fc66e969705ba42242" ], [ "Steel.ST.GenElim.Base.compute_gen_unit_elim_q", @@ -241,7 +241,7 @@ "subterm_ordering_Steel.ST.GenElim.Base.GUEStar" ], 0, - "d2a8855111d0e84732261b554a56d7e4" + "651d8553ed770f089d2e44bce89ac952" ], [ "Steel.ST.GenElim.Base.compute_gen_unit_elim_post", @@ -260,7 +260,7 @@ "subterm_ordering_Steel.ST.GenElim.Base.GUEStar" ], 0, - "eaadf816d03746189444f6c82ccb7220" + "8329662046e550ad89b024c7d58d8a4c" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_p", @@ -286,7 +286,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "8c740cf773f38bb32b59ecd6a3353f2f" + "4dd4643b54e78b2f135938c45d7fb3c6" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_a", @@ -312,7 +312,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "cf253fdfeb91a2bdfaf0ad6476c56f6d" + "afeba85fcc36967c57e15cd6e72c0482" ], [ "Steel.ST.GenElim.Base.coerce_with_trefl", @@ -321,7 +321,7 @@ 1, [ "@query" ], 0, - "3d5282716fcb9a645b2606a59ae9c5fb" + "010e38b61cb7cc0b9a86ec3e8d6b1f82" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_q", @@ -359,7 +359,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "453b724723c7e22fd83958e06d4542ca" + "58482b1b7b257a4de229c1727df60a36" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_post", @@ -397,7 +397,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "ef07cbaeb0f6d3c24543b00f93f98011" + "0f2938f3f86d43519d059a2baa89317b" ], [ "Steel.ST.GenElim.Base.__proj__TRet__item___0", @@ -409,7 +409,7 @@ "refinement_interpretation_Tm_refine_705b7ce28ccb8406525792b43a5b4711" ], 0, - "00a0d02cbe1435237f27c0537213e961" + "377cf649b81b3ecc85786dc730342595" ], [ "Steel.ST.GenElim.Base.__proj__TRet__item___1", @@ -421,7 +421,7 @@ "refinement_interpretation_Tm_refine_705b7ce28ccb8406525792b43a5b4711" ], 0, - "c61e4ecd8ad5dae70ecbd5944259da50" + "96184977cd8c16b5dbb93645ce9dc794" ], [ "Steel.ST.GenElim.Base.__proj__TExists__item__ty", @@ -433,7 +433,7 @@ "refinement_interpretation_Tm_refine_4207b12a511dfbb5a928dc6c316b3f6c" ], 0, - "a5967af1694eea6e7199bbdb5f140c4b" + "905e8094ea6c9ebd1b89abec12e74c41" ], [ "Steel.ST.GenElim.Base.__proj__TExists__item___1", @@ -445,7 +445,7 @@ "refinement_interpretation_Tm_refine_4207b12a511dfbb5a928dc6c316b3f6c" ], 0, - "82e7b891bf364a55e92b162b7dbad736" + "ad57661e277494002ba15b28c79f78fd" ], [ "Steel.ST.GenElim.Base.tele_star_vprop", @@ -463,7 +463,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.TExists" ], 0, - "9ecc9307756e50f5fa6376a7f1fc951b" + "52f8b2539ea29e932261f276b7b455a4" ], [ "Steel.ST.GenElim.Base.tele_star", @@ -486,7 +486,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.TExists" ], 0, - "82feb19caf1502c58dd7cf8c938e992a" + "b3cc26bbfd465b9c008fc27e568c4881" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_tele", @@ -512,7 +512,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "e977268f0f96a84399ff986be08b5249" + "f8d8b3ae5b1269af783c3c633f93075f" ], [ "Steel.ST.GenElim.Base.curried_function_type", @@ -527,7 +527,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ca1c36e59e8016aca23da718e5047feb" + "ee3c8901eda56a9dd8e9aeb8a1be25be" ], [ "Steel.ST.GenElim.Base.__proj__GENonDep__item__ty", @@ -539,7 +539,7 @@ "refinement_interpretation_Tm_refine_60a639e6130ac375e2fc3b39f827ad03" ], 0, - "46542fb9c5bf0b5597d76889bb3ad2d6" + "1990667fa5727e1f37eebbaac1b58e99" ], [ "Steel.ST.GenElim.Base.__proj__GENonDep__item___1", @@ -551,7 +551,7 @@ "refinement_interpretation_Tm_refine_60a639e6130ac375e2fc3b39f827ad03" ], 0, - "e7f5efdfb2959a1871011a98bb426d65" + "7d36ae7bda08f3f6e84e60b6a818637e" ], [ "Steel.ST.GenElim.Base.__proj__GENonDep__item___2", @@ -563,7 +563,7 @@ "refinement_interpretation_Tm_refine_60a639e6130ac375e2fc3b39f827ad03" ], 0, - "1650bb5e2522ec229738e8d77b22342b" + "98c821db35c5822c9ff03af6297b600c" ], [ "Steel.ST.GenElim.Base.mk_gen_elim_nondep", @@ -572,7 +572,7 @@ 1, [ "@query" ], 0, - "4e2ba1921e270947264bcbb4876cc1cd" + "56e365f91e4fa9c6935663f2645b0f61" ], [ "Steel.ST.GenElim.Base.mk_gen_elim_nondep_by_tac", @@ -581,7 +581,7 @@ 1, [ "@query" ], 0, - "b195bb2cb9c15a213eeff25ceb05285c" + "d269f87b9376951ee332b5028b7cb0fa" ], [ "Steel.ST.GenElim.Base.gen_elim_nondep_sem", @@ -596,7 +596,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "5e22cbe3773e47ef64ed111c72c3bd60" + "77fcb3bdcee362f7fb0f382fea278057" ], [ "Steel.ST.GenElim.Base.check_gen_elim_nondep_sem", @@ -611,7 +611,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7f00603eba1d3ef545f221641f02584c" + "a69b81826df37f921ac2d248c600eb76" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_nondep_a", @@ -626,7 +626,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "36f29be243b26f6a2080a672b0e1f48b" + "df604b518fbc18784850ef6a188533c8" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_nondep_q0", @@ -648,7 +648,7 @@ "projection_inverse_Steel.ST.GenElim.Base.GENonDep_ty" ], 0, - "cb3b20f6354f6980558a20fda4ca9b2c" + "b886a24e224f9c62b6a41ac2ed7dc37a" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_nondep_post0", @@ -670,7 +670,7 @@ "projection_inverse_Steel.ST.GenElim.Base.GENonDep_ty" ], 0, - "49cc38bcadc581d87e4e43812fd748d9" + "16f49ed6e75c24ea1b16e524de64c888" ], [ "Steel.ST.GenElim.Base.gen_elim_pred", @@ -679,7 +679,7 @@ 1, [ "@query" ], 0, - "b616b55c36f96c7ada6868bbde68588b" + "47b28979930e3e2c7ac1904082a36823" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_intro'", @@ -691,7 +691,7 @@ "refinement_interpretation_Tm_refine_d980f666a467fc5c9ae3fd15103fcc56" ], 0, - "791039f40efbc806dfe7e70332c6ae75" + "ab38aeb606b965b7fb5717376e597570" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_intro'", @@ -703,7 +703,7 @@ "refinement_interpretation_Tm_refine_d980f666a467fc5c9ae3fd15103fcc56" ], 0, - "8323bdf32e484d5c34f43e8cd16034c2" + "8a5db5cd87ed56fa006e9af26f554e09" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_intro'", @@ -733,7 +733,7 @@ "refinement_interpretation_Tm_refine_d980f666a467fc5c9ae3fd15103fcc56" ], 0, - "b900d4787f6e6242019f62c7e8b8cc6d" + "46a339d25385d6eae22eb2f8a89d0437" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_intro", @@ -747,7 +747,7 @@ "refinement_interpretation_Tm_refine_a432968ade3f023e55773df8b6f348ff" ], 0, - "63515b8b369313c6afc04714bf5694c6" + "f055302ff4b5cdccd676bc20139b31ee" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_intro", @@ -760,7 +760,7 @@ "refinement_interpretation_Tm_refine_a432968ade3f023e55773df8b6f348ff" ], 0, - "f95ce9e92e76e08cd5248510e1b3890e" + "5c15c85d3c03a638a968839b6c2ab1cc" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_elim", @@ -769,7 +769,7 @@ 1, [ "@query" ], 0, - "b075c160e15de445ecd0cb4e5192ab68" + "046eb2a32e8693e72f1331c74316cb6d" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_elim", @@ -788,7 +788,7 @@ "refinement_interpretation_Tm_refine_963e78c841162f9f0e70eb1c3436e534" ], 0, - "d1524bd0b3de2f4dbc36de87558a9269" + "5b16262f80ecd61d3c4ad67daddbe106" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_placeholder_intro", @@ -800,7 +800,7 @@ "true_interp" ], 0, - "0bb3b929e5f5909d8d708d967059fc4d" + "044f5c88b9fbefaf0254bfdf874f2ea1" ], [ "Steel.ST.GenElim.Base.solve_gen_elim_nondep'", @@ -818,7 +818,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c7d189420dc71da5a400b55f268c4b5d" + "2dde0ce52e3a4c9d9e9e95b0b21d2cac" ], [ "Steel.ST.GenElim.Base.solve_gen_elim_nondep", @@ -834,7 +834,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "8755f0db648d1d2c71a1421ea735d9a2" + "66549025fd3262474e10ebdb630cadcb" ], [ "Steel.ST.GenElim.Base.solve_gen_elim_prop", @@ -859,7 +859,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "16c352b626d6e3af7f308169e782f0a9" + "ee4942690dee8c61ecc28b1db9ef22e1" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GenElim.Base.fsti.hints b/lib/steel/Steel.ST.GenElim.Base.fsti.hints index f3e59c457..a4189deeb 100644 --- a/lib/steel/Steel.ST.GenElim.Base.fsti.hints +++ b/lib/steel/Steel.ST.GenElim.Base.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_011163544158fd80ba945feb8aa1430c" ], 0, - "4906964c761412fe773d709b037800dd" + "7a6d2a9b9c0ae0f3476a1f24cef87027" ], [ "Steel.ST.GenElim.Base.__proj__GUEPure__item__p", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_9240ca36579ec403ed54f57e83a41d7c" ], 0, - "336f6f0fbdeb3094d0f3415fb882a81e" + "ba82188fb7bd050a1d8982a9592f0bf8" ], [ "Steel.ST.GenElim.Base.__proj__GUEStar__item__left", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_4c98d54d465bb0ed7913c87439045875" ], 0, - "31e0ae4cddb4915c4b710bc98c98bd0d" + "2d84ecd57a4830dba0725960836f644e" ], [ "Steel.ST.GenElim.Base.__proj__GUEStar__item__right", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_4c98d54d465bb0ed7913c87439045875" ], 0, - "b3f878e63813281f792f4789ef7ec216" + "eabcb15179ab4daadf7fa573e75122ee" ], [ "Steel.ST.GenElim.Base.__proj__GEUnit__item__i", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_c9155d10d5625b39ea9ebbbea46b170c" ], 0, - "21c69e6fa8b5d9d7f3e8a401f4c38757" + "d74932f50f76c8efb2f8bca630c80e09" ], [ "Steel.ST.GenElim.Base.__proj__GEStarL__item__left", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_3bedb222fa5574a6693a4e061f20d761" ], 0, - "ca8e54336625c0ae479031c45a85a373" + "fd24023ac582ba6e50b24e5e0f544fd1" ], [ "Steel.ST.GenElim.Base.__proj__GEStarL__item__right", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_3bedb222fa5574a6693a4e061f20d761" ], 0, - "d8b3f7e3352e22b8f2d3e3a66e8ba9ef" + "f0a81817bc4964304779d8f3923aa9f5" ], [ "Steel.ST.GenElim.Base.__proj__GEStarR__item__left", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_5512e2c0ce6c5530638ce84b035ed356" ], 0, - "71cafa95bd9983d327297c4585ce69d4" + "9b59964830df91694bd7e990c0f0d82a" ], [ "Steel.ST.GenElim.Base.__proj__GEStarR__item__right", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_5512e2c0ce6c5530638ce84b035ed356" ], 0, - "1be8881bd69facf8f2ef1e59f4ab1c3c" + "9d124b761863caf6c86e4dba2e777d52" ], [ "Steel.ST.GenElim.Base.__proj__GEStar__item__left", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_f7c00b772c14269d6826b430d44e8399" ], 0, - "99e9eeaf9075ad171f8a1c4dbe5f2521" + "c9aeac6b1ce062a5468ef910c5bfd39f" ], [ "Steel.ST.GenElim.Base.__proj__GEStar__item__right", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_f7c00b772c14269d6826b430d44e8399" ], 0, - "501a83d5014a39ff106c10b3eeabf2f4" + "53be1b14290310959e65e57d0ca42bc6" ], [ "Steel.ST.GenElim.Base.__proj__GEExistsNoAbs__item__a", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_e58fc2a0951852e173bbe6fe14dd28a2" ], 0, - "0624f30e851056977bc4ca6eadcb78d0" + "bc338c8d777e660969b384571f83e3cf" ], [ "Steel.ST.GenElim.Base.__proj__GEExistsNoAbs__item__body", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_e58fc2a0951852e173bbe6fe14dd28a2" ], 0, - "8d9a0f48858ea13f7e595376dbdd1e6b" + "a3bcb1ad3ebbfe0ba6ed65c77755e58a" ], [ "Steel.ST.GenElim.Base.__proj__GEExistsUnit__item__a", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_5f8edebfd8a7a1fd93d61c4f98de9185" ], 0, - "528422a7dd90306aa18d50c170878baf" + "318a580e3a8d4b52a2dbe7f8bdb126c7" ], [ "Steel.ST.GenElim.Base.__proj__GEExistsUnit__item__body", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_5f8edebfd8a7a1fd93d61c4f98de9185" ], 0, - "4d86821c26395df300c14e23d0d1105b" + "db174195184dd459d1415783acdaa367" ], [ "Steel.ST.GenElim.Base.__proj__GEExists__item__a", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_0c9d1b37c76b57d017f7a114754d2dd0" ], 0, - "fb375600453a4dd869b1cafee551fb6c" + "e96e7e11023cfe3eb272d850de64245a" ], [ "Steel.ST.GenElim.Base.__proj__GEExists__item__body", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_0c9d1b37c76b57d017f7a114754d2dd0" ], 0, - "15a022489cb21a69ceee920908dfe690" + "8a5d4eb2cbf19356b16f7b86579188f8" ], [ "Steel.ST.GenElim.Base.compute_gen_unit_elim_p", @@ -222,7 +222,7 @@ "subterm_ordering_Steel.ST.GenElim.Base.GUEStar" ], 0, - "57e9e1d90604d1d250292a65506cb233" + "e600ace19caa12d6c2f0b5bef98b78ef" ], [ "Steel.ST.GenElim.Base.compute_gen_unit_elim_q", @@ -241,7 +241,7 @@ "subterm_ordering_Steel.ST.GenElim.Base.GUEStar" ], 0, - "78f3db764956f892c2a5af1ea492338d" + "651d8553ed770f089d2e44bce89ac952" ], [ "Steel.ST.GenElim.Base.compute_gen_unit_elim_post", @@ -260,7 +260,7 @@ "subterm_ordering_Steel.ST.GenElim.Base.GUEStar" ], 0, - "076ef5caa296ac15386eb2a063b7822e" + "8329662046e550ad89b024c7d58d8a4c" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_p", @@ -286,7 +286,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "885a9dc0d5ea3b4b4a0fa27d155650af" + "4dd4643b54e78b2f135938c45d7fb3c6" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_a", @@ -312,7 +312,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "f65e7f27726ba6eed80f49cc4d95387b" + "afeba85fcc36967c57e15cd6e72c0482" ], [ "Steel.ST.GenElim.Base.coerce_with_trefl", @@ -321,7 +321,7 @@ 1, [ "@query" ], 0, - "fe5262f553b50ffcc520ec7b1b0d1e03" + "010e38b61cb7cc0b9a86ec3e8d6b1f82" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_q", @@ -359,7 +359,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "d543c7dec683ce362d69105e886f3054" + "58482b1b7b257a4de229c1727df60a36" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_post", @@ -397,7 +397,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "5c6c57fc7b32f4c5db27235438ac4576" + "0f2938f3f86d43519d059a2baa89317b" ], [ "Steel.ST.GenElim.Base.__proj__TRet__item___0", @@ -409,7 +409,7 @@ "refinement_interpretation_Tm_refine_705b7ce28ccb8406525792b43a5b4711" ], 0, - "dcd186c5ecdd4d17bc0ebdc2d6519bf7" + "377cf649b81b3ecc85786dc730342595" ], [ "Steel.ST.GenElim.Base.__proj__TRet__item___1", @@ -421,7 +421,7 @@ "refinement_interpretation_Tm_refine_705b7ce28ccb8406525792b43a5b4711" ], 0, - "a592d11351aa80c441f2c529f2e8e06b" + "96184977cd8c16b5dbb93645ce9dc794" ], [ "Steel.ST.GenElim.Base.__proj__TExists__item__ty", @@ -433,7 +433,7 @@ "refinement_interpretation_Tm_refine_4207b12a511dfbb5a928dc6c316b3f6c" ], 0, - "41a4c078b403cf2df4da2476d3c0d968" + "905e8094ea6c9ebd1b89abec12e74c41" ], [ "Steel.ST.GenElim.Base.__proj__TExists__item___1", @@ -445,7 +445,7 @@ "refinement_interpretation_Tm_refine_4207b12a511dfbb5a928dc6c316b3f6c" ], 0, - "b9daf1df65621c1b34433304feb0b982" + "ad57661e277494002ba15b28c79f78fd" ], [ "Steel.ST.GenElim.Base.tele_star_vprop", @@ -463,7 +463,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.TExists" ], 0, - "e9c9057d2be4d354a1cfa9f90d797b62" + "52f8b2539ea29e932261f276b7b455a4" ], [ "Steel.ST.GenElim.Base.tele_star", @@ -486,7 +486,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.TExists" ], 0, - "f73a4d1348931015117fbea237347bce" + "b3cc26bbfd465b9c008fc27e568c4881" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_tele", @@ -512,7 +512,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "d548ac3c8d9552b290f1f2e2271140f2" + "f8d8b3ae5b1269af783c3c633f93075f" ], [ "Steel.ST.GenElim.Base.curried_function_type", @@ -527,7 +527,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "7c9469fb804bf766e8f8405c7837623e" + "ee3c8901eda56a9dd8e9aeb8a1be25be" ], [ "Steel.ST.GenElim.Base.__proj__GENonDep__item__ty", @@ -539,7 +539,7 @@ "refinement_interpretation_Tm_refine_60a639e6130ac375e2fc3b39f827ad03" ], 0, - "8a01b648656ff2ce184e2785d7c71f4e" + "1990667fa5727e1f37eebbaac1b58e99" ], [ "Steel.ST.GenElim.Base.__proj__GENonDep__item___1", @@ -551,7 +551,7 @@ "refinement_interpretation_Tm_refine_60a639e6130ac375e2fc3b39f827ad03" ], 0, - "31d914376bec8c2694920d94c81d8d55" + "7d36ae7bda08f3f6e84e60b6a818637e" ], [ "Steel.ST.GenElim.Base.__proj__GENonDep__item___2", @@ -563,7 +563,7 @@ "refinement_interpretation_Tm_refine_60a639e6130ac375e2fc3b39f827ad03" ], 0, - "db8aead6b95bb0b96a7c52174282bbfb" + "98c821db35c5822c9ff03af6297b600c" ], [ "Steel.ST.GenElim.Base.mk_gen_elim_nondep", @@ -572,7 +572,7 @@ 1, [ "@query" ], 0, - "cfe8f67bde27f9b4ae21470506647643" + "56e365f91e4fa9c6935663f2645b0f61" ], [ "Steel.ST.GenElim.Base.mk_gen_elim_nondep_by_tac", @@ -581,7 +581,7 @@ 1, [ "@query" ], 0, - "b8015111a9f28cb45625c4cd0144a09d" + "d269f87b9376951ee332b5028b7cb0fa" ], [ "Steel.ST.GenElim.Base.gen_elim_nondep_sem", @@ -596,7 +596,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "b5c6c7ca17ef55f0cc65929a2926a07a" + "77fcb3bdcee362f7fb0f382fea278057" ], [ "Steel.ST.GenElim.Base.check_gen_elim_nondep_sem", @@ -611,7 +611,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "43541f1b6b6822ff7f141466b6eeac7a" + "a69b81826df37f921ac2d248c600eb76" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_nondep_a", @@ -626,7 +626,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0a8b1b36b4bc72317b5bdc8352dfa4f4" + "df604b518fbc18784850ef6a188533c8" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_nondep_q0", @@ -648,7 +648,7 @@ "projection_inverse_Steel.ST.GenElim.Base.GENonDep_ty" ], 0, - "b35e8945ceb842540df92788c4ab37eb" + "b886a24e224f9c62b6a41ac2ed7dc37a" ], [ "Steel.ST.GenElim.Base.compute_gen_elim_nondep_post0", @@ -670,7 +670,7 @@ "projection_inverse_Steel.ST.GenElim.Base.GENonDep_ty" ], 0, - "265f01a22754b614a84f32656806f14f" + "16f49ed6e75c24ea1b16e524de64c888" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_intro'", @@ -682,7 +682,7 @@ "refinement_interpretation_Tm_refine_d980f666a467fc5c9ae3fd15103fcc56" ], 0, - "09f0dc83b778c44113998ea1e10b6b44" + "d0911fd0a528163d3cff34594fe50e12" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_intro", @@ -696,7 +696,7 @@ "refinement_interpretation_Tm_refine_a432968ade3f023e55773df8b6f348ff" ], 0, - "a37f2eff2d85287db33988353983fe3c" + "07aeba4e73b23c866b5bae1c68131dbb" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_intro", @@ -709,7 +709,7 @@ "refinement_interpretation_Tm_refine_a432968ade3f023e55773df8b6f348ff" ], 0, - "cc72ce008fec58f3f28b60137942a890" + "a695d022020e895368408a75d1490755" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_elim", @@ -718,7 +718,7 @@ 1, [ "@query" ], 0, - "049cec779a70be1a063f7ef7b748651b" + "f0c22f4e3fed63f40935182f81c225b9" ], [ "Steel.ST.GenElim.Base.gen_elim_prop_placeholder_intro", @@ -730,7 +730,7 @@ "true_interp" ], 0, - "75ec95f145c661bc138da26f11f43462" + "77bb4443476537a7c21caa77cd73c39b" ], [ "Steel.ST.GenElim.Base.solve_gen_elim_nondep'", @@ -748,7 +748,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "916e8819eb0ae26f06601e7d7fa36f98" + "2dde0ce52e3a4c9d9e9e95b0b21d2cac" ], [ "Steel.ST.GenElim.Base.solve_gen_elim_nondep", @@ -764,7 +764,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "420e71993e79cd47ce08f753b6511f3b" + "66549025fd3262474e10ebdb630cadcb" ], [ "Steel.ST.GenElim.Base.solve_gen_elim_prop", @@ -789,7 +789,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "2a98f10bd757559b914efd9c24709241" + "ee4942690dee8c61ecc28b1db9ef22e1" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GenElim.fst.hints b/lib/steel/Steel.ST.GenElim.fst.hints index edfb890a0..ce887216a 100644 --- a/lib/steel/Steel.ST.GenElim.fst.hints +++ b/lib/steel/Steel.ST.GenElim.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_Steel.ST.GenElim.Base.GUEId_v", "true_interp" ], 0, - "6a9eef6db99e1cbf8416b69ab7d68a4e" + "505eee8e9567d2e23b36ab1e26aa0f51" ], [ "Steel.ST.GenElim.compute_gen_unit_elim_f_pure", @@ -33,7 +33,7 @@ "projection_inverse_Steel.ST.GenElim.Base.GUEPure_p" ], 0, - "83709a4b1e2c155b47f70bf6e55fa0b1" + "442346033da1036fd73edee3fcf0f9fa" ], [ "Steel.ST.GenElim.compute_gen_unit_elim_f_star", @@ -58,7 +58,7 @@ "projection_inverse_Steel.ST.GenElim.Base.GUEStar_right" ], 0, - "42f02d2630ffe54095f6a74e81e57ae5" + "30a07d896ee600c2371d54da324f997f" ], [ "Steel.ST.GenElim.compute_gen_unit_elim_f", @@ -77,7 +77,7 @@ "subterm_ordering_Steel.ST.GenElim.Base.GUEStar" ], 0, - "820c62c5d7e5d3d65d9a6c1de3e52271" + "5142679694bd3888174c8f67e6b36804" ], [ "Steel.ST.GenElim.compute_gen_elim_f_unit", @@ -95,7 +95,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_gen_elim_post" ], 0, - "557e886489e1dbaf0795971d00ead947" + "109e7f9f460c46c215c7a18f14511bf1" ], [ "Steel.ST.GenElim.compute_gen_elim_f_star_l", @@ -134,7 +134,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_gen_elim_q" ], 0, - "19df8156ba77576cd393016afcba3ede" + "dd25880259d428f2ec736c724510d506" ], [ "Steel.ST.GenElim.compute_gen_elim_f_star_r", @@ -173,7 +173,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_gen_elim_q" ], 0, - "4600acfe59bbed9aa78a89f242409fa2" + "089252501e25391a88c33ca3d0679fbc" ], [ "Steel.ST.GenElim.compute_gen_elim_f_star", @@ -217,7 +217,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_gen_elim_q" ], 0, - "e4b25a1976fe0b019f51c5fd276e81bc" + "aba55c83f1e8ee33197ee3d1a95dbde2" ], [ "Steel.ST.GenElim.compute_gen_elim_f_exists_no_abs", @@ -243,7 +243,7 @@ "true_interp" ], 0, - "167ec8507e6cb05f5c6f68bbad459080" + "53d86e36fcabc1374ef19504653222a0" ], [ "Steel.ST.GenElim.compute_gen_elim_f_exists_unit", @@ -267,7 +267,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_gen_elim_q" ], 0, - "e5fdec032ecc12478266dd36973bfd80" + "5afc32452de9013502c0989e39526640" ], [ "Steel.ST.GenElim.compute_gen_elim_f_exists", @@ -304,7 +304,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_gen_elim_q" ], 0, - "6e266389dbe55f6d4f6a53a9f9b3dd77" + "d9de66966ab329bd5094ee35b8b39ae9" ], [ "Steel.ST.GenElim.compute_gen_elim_f", @@ -330,7 +330,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "3105cf771901d9972288ee87d2ec1b8d" + "aa6cc97afb77e296fd2dbd4cd9f55322" ], [ "Steel.ST.GenElim.tele_p", @@ -348,7 +348,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.TExists" ], 0, - "930db29a10e935f2ce983bd7dc3ae591" + "5bffdc7294460a5a43776e779b60c007" ], [ "Steel.ST.GenElim.tele_star_vprop_correct_ret", @@ -368,7 +368,7 @@ "typing_Steel.ST.GenElim.Base.tele_star_vprop" ], 0, - "a2f63aaa0f84cc0c8a7f3f3bed5966a9" + "343a2ca7863850da590b358332f28776" ], [ "Steel.ST.GenElim.tele_star_vprop_correct", @@ -386,7 +386,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.TExists" ], 0, - "26d8f562e2fba1e85e65e75bf788de1f" + "f23878c54ecf254c3af913fc4f690136" ], [ "Steel.ST.GenElim.tele_star_correct_ret_l", @@ -409,7 +409,7 @@ "projection_inverse_Steel.ST.GenElim.Base.TRet__1" ], 0, - "7fb1db840f4652af3e211e689e0ddca5" + "3d2b7233c08adcb91dfdfcf116b0d3e5" ], [ "Steel.ST.GenElim.tele_star_correct_ret_r", @@ -436,7 +436,7 @@ "refinement_interpretation_Tm_refine_874129815fe716d93ae26f941f38a8bd" ], 0, - "134796a8a9be1b2613a4dec67c8ac490" + "951266c2b5a036ff3a53f9569c0a121c" ], [ "Steel.ST.GenElim.tele_star_correct", @@ -455,7 +455,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.TExists" ], 0, - "cdb32c99577951ae7b38edd567f3caa7" + "e0261b1535d4394d3aa6e2b2a5f01789" ], [ "Steel.ST.GenElim.compute_gen_elim_tele_correct_unit", @@ -464,7 +464,7 @@ 1, [ "@query" ], 0, - "8faf6942810a3171ee277df83c547c27" + "66b42e8a87e3883082168f3234b7c522" ], [ "Steel.ST.GenElim.compute_gen_elim_tele_correct_star_l", @@ -473,7 +473,7 @@ 1, [ "@query" ], 0, - "e08779c47821c3ab3d97fe9b04e4689e" + "16925eb105b05e8911a0d2c1251779ab" ], [ "Steel.ST.GenElim.compute_gen_elim_tele_correct_star_r", @@ -482,7 +482,7 @@ 1, [ "@query" ], 0, - "358e412a3e1f4b0c8476df6bccef8ec8" + "8cbca1fe8f212fcc45b515fd9c825229" ], [ "Steel.ST.GenElim.compute_gen_elim_tele_correct_exists_unit", @@ -491,7 +491,7 @@ 1, [ "@query" ], 0, - "7a0b07acc6d571c0a73c92c21d5c1d1b" + "a5dff747050eadeab39e09c87dd95b3c" ], [ "Steel.ST.GenElim.compute_gen_elim_tele_correct", @@ -517,7 +517,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim.Base.GEExists" ], 0, - "3177dbc67e2c2167b5f92da4cce24b25" + "1ef78466c5e71a9f741437ad6f947779" ], [ "Steel.ST.GenElim.gen_elim_nondep_p", @@ -532,7 +532,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "461c7644b5d0dac069137fb6493345d2" + "f1cca8ddf750e7b07cb3e64190f4b5b2" ], [ "Steel.ST.GenElim.gen_elim_nondep_sem_correct", @@ -566,7 +566,7 @@ "typing_Tm_abs_f8c998c523e0535d3e597ce5a25acb04" ], 0, - "c0aa892eb34164a7a35685158a60a112" + "edfe395a43970e8501f093700770eac9" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct0", @@ -582,7 +582,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "3ab0d503f0367a69b05475c73084b053" + "75462b33789ed3762515ed9a107dbeb6" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct1", @@ -601,7 +601,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "d82491e199a938d904a29090fd6582b7" + "238ac1ea08d9c502eea242ad4c18073f" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct2", @@ -628,7 +628,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "c95994d5d48f1e83577f1d18836578f9" + "113f2ebff738f14a30bda2aedf95f0de" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct3", @@ -653,7 +653,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "5a02259c7beed8235ba18054e637b877" + "bd139c05c991256554f56980074efcb8" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct4", @@ -680,7 +680,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "a9e328d871b2fd3bb8745b69ce6bf417" + "c110cc07a480badf69e1854595e165a4" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct5", @@ -709,7 +709,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "c9471fee5c7aa747826609da4445e02c" + "52b0d71b93602d326525fff98e1fe7cd" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct6", @@ -740,7 +740,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "415017ca59c1e6f88f83dfff6e4a2e1a" + "877ecfbb91c2a7e5efa7ba071fdef720" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct7", @@ -773,7 +773,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "66e1be7421cb1f745f4177857c974c0c" + "3f1dd982afab99c8492edd56d1fc87f8" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct8", @@ -808,7 +808,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "da8085930c833beda0faf474c1d402fc" + "1c8530449e80eed743e23e55ff7cb544" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct9", @@ -845,7 +845,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "f08bab96b56a1a2424e2a2a5758446ec" + "170cdeaf199612db7661057f5e6ef2aa" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct10", @@ -884,7 +884,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "8b8e78aa78d4e44606d1b19b258b8983" + "0bcd909a7b83b1b121adc0f2e6a6bdc7" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct11", @@ -925,7 +925,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "324fafe915f6bd9170a811670f238efc" + "577ddf95e04b03edb892fb581a4eaceb" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct12", @@ -968,7 +968,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "15f924d089b61521ac95ab47126e752b" + "c26be075e79c06d97d97c5fc0f39b4e9" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct13", @@ -1013,7 +1013,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "bd0c776113cf2a0883f705b611b59f55" + "ea0815384f2f908efa8db967eb316254" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct14", @@ -1060,7 +1060,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_uncurry" ], 0, - "51167136abda8c23365d9fb56b0ea12d" + "6d40d9ed01472c82631ae3a8c756b584" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct_default", @@ -1077,7 +1077,7 @@ "true_interp" ], 0, - "f48cb4b0a33c69d9338fa0c06b96cf3c" + "52d5714f96fe37687d74733a9316b5c8" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct'", @@ -1095,7 +1095,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "c7232c0b337c15187d5b00c60aae5a95" + "1ea299a99b937fb5620e011be2e9c91d" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct_0", @@ -1119,7 +1119,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e1e5ea4fea1341809f766031e9240938" + "f7887bd172a742770853aa4f5c12c74b" ], [ "Steel.ST.GenElim.compute_gen_elim_nondep_correct", @@ -1134,7 +1134,7 @@ "typing_Steel.ST.GenElim.Base.compute_gen_elim_nondep_a" ], 0, - "2642cb6e30f424b6d6802aa6250686c6" + "7783da03f8c76fd09fa1b29ba5db7f42" ], [ "Steel.ST.GenElim.coerce_with_smt", @@ -1143,7 +1143,7 @@ 1, [ "@query" ], 0, - "f71dae6024f1cabf00fb44de5a0eed8a" + "54c89f1bdb7174c7fc4628106338ff9c" ], [ "Steel.ST.GenElim.gen_elim'", @@ -1164,7 +1164,7 @@ "token_correspondence_Steel.ST.GenElim.Base.compute_gen_elim_nondep_post" ], 0, - "484f1fbf3237b5b57fd1fc98057205c3" + "064fc72c84dc1236430cb464949d0a23" ], [ "Steel.ST.GenElim.gen_elim", @@ -1173,7 +1173,7 @@ 1, [ "@query" ], 0, - "aaccc902d369947856a90c72815e9e7d" + "7dbb36da951a0614be310abb46587186" ], [ "Steel.ST.GenElim.gen_elim_dep", @@ -1182,7 +1182,7 @@ 1, [ "@query" ], 0, - "58902e64d2cec6f08207f5dacc3b92dc" + "e3a4b1ccac1b4ce0b9f80be2651bc27a" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GenElim1.Base.fst.hints b/lib/steel/Steel.ST.GenElim1.Base.fst.hints index fed05a9ac..1a920d4e7 100644 --- a/lib/steel/Steel.ST.GenElim1.Base.fst.hints +++ b/lib/steel/Steel.ST.GenElim1.Base.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_e43327818997cc2897443e057ec5342f" ], 0, - "88accc47b19cfe2be092b3e0186d9993" + "c0ae84e490c839e4f37e887fde45e389" ], [ "Steel.ST.GenElim1.Base.__proj__GUEPure__item__p", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_04546963a13999e1cd1c14808a6d3ed5" ], 0, - "eaad2bba50a094ac47419ae2604232dd" + "7a750d25a848f002344c08975db4a2ab" ], [ "Steel.ST.GenElim1.Base.__proj__GUEStar__item__left", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_40b784c44f7fe4452063e7d8f3c80f63" ], 0, - "60e840cc9206c725bc3b5e1059b28533" + "acfa4aeb002a994b93d5a70051040e0e" ], [ "Steel.ST.GenElim1.Base.__proj__GUEStar__item__right", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_40b784c44f7fe4452063e7d8f3c80f63" ], 0, - "e396594ad2ad9c215ab70b72464776e9" + "3d7865595c4e04b6bfaf0d042af3acad" ], [ "Steel.ST.GenElim1.Base.__proj__GEUnit__item__i", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_a62fbdc0cb1b3ab8a6d24e4894098bd7" ], 0, - "c1c61ab5f3ec03b7bb70075ee8b8deff" + "94be20ded4b125cdfd356bb318a90025" ], [ "Steel.ST.GenElim1.Base.__proj__GEStarL__item__left", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_11a52129d193b27351a4f334ca139f00" ], 0, - "6d0fc827b3babf909cc82dbf9a74198f" + "2456d3dbd547bee2563d56f8153204ca" ], [ "Steel.ST.GenElim1.Base.__proj__GEStarL__item__right", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_11a52129d193b27351a4f334ca139f00" ], 0, - "60b087403c94239e3477d229cec60ed0" + "0aaf06c32804b792a3818203ebe38d7d" ], [ "Steel.ST.GenElim1.Base.__proj__GEStarR__item__left", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_23b85dc0c2e1f54b6ea2d44b2d886b23" ], 0, - "9aca431cde854b4575efabfd33ba0729" + "58f50cae643b9d79d8bb2281b4f99017" ], [ "Steel.ST.GenElim1.Base.__proj__GEStarR__item__right", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_23b85dc0c2e1f54b6ea2d44b2d886b23" ], 0, - "5f4fcdfd5dcd548965d41f7456891af1" + "506b96b14001f40c435d704bee77fcec" ], [ "Steel.ST.GenElim1.Base.__proj__GEStar__item__left", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_63af5dae35e7e73b7db80bb1accb51ba" ], 0, - "2448367718c07e4742f996bf631e118b" + "cc32e032e6e9991ebfb3de6a20dec843" ], [ "Steel.ST.GenElim1.Base.__proj__GEStar__item__right", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_63af5dae35e7e73b7db80bb1accb51ba" ], 0, - "b1282a8915aaf1e6e9b18326690f5a4e" + "62074002b6fad1cd1ed46b5366c82567" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsNoAbs0__item__a", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_0b6d342c6e8824199f2461f2e93f0e19" ], 0, - "6c80e110082a1ed7c37e2c5ad375be31" + "9b50d5cdbfebccd4f3151adef3d5ba46" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsNoAbs0__item__body", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_0b6d342c6e8824199f2461f2e93f0e19" ], 0, - "d580bb91142f7ea00ea3adf7f1a5ceb4" + "ef9de94e13d7704e35fd06ec09e31d90" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsUnit0__item__a", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_989598e2818db1150087a48297bdb34d" ], 0, - "26b33ac033acf81f0d049da63869e15a" + "d7ff41fa5cff254849b4962d538701a9" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsUnit0__item__body", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_989598e2818db1150087a48297bdb34d" ], 0, - "dce96cd1ac7a58c09824549b263456ea" + "323db622c79c0ba68a87a3a77561fc45" ], [ "Steel.ST.GenElim1.Base.__proj__GEExists0__item__a", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_ae85974f577da00b033f2fa9dac92813" ], 0, - "8942f82a179ce98c2f7d54592d7dafbc" + "cf77a9ca4f46822400a4cd92a5c33a5f" ], [ "Steel.ST.GenElim1.Base.__proj__GEExists0__item__body", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_ae85974f577da00b033f2fa9dac92813" ], 0, - "9bed05de5895a8957ddf8959a1473fea" + "0a659f73de7e014045ad9f60f9e1d8b9" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsNoAbs1__item__a", @@ -215,7 +215,7 @@ "refinement_interpretation_Tm_refine_2e492f1b62fb95d2eb58899fec3242f3" ], 0, - "4a589c711272e9791dc892ffb74fa840" + "1abf9f51cba1f007747c6cdc639bd8e8" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsNoAbs1__item__body", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_2e492f1b62fb95d2eb58899fec3242f3" ], 0, - "beceada2dce6cfdfd037447f664a6d12" + "c26d8bd56048be12d39126140760fc7d" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsUnit1__item__a", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_3bc1f2e368edd3707aa36ea2a8552ffb" ], 0, - "ac7be5d6eecde1d19a8aef1c7f3c1e34" + "53dbacdede8ede60be00fc15aafc6d5c" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsUnit1__item__body", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_3bc1f2e368edd3707aa36ea2a8552ffb" ], 0, - "b57519909e66222f3458ef6d852113c8" + "be0e7c3aa4c280b2800a3cbfd646a49d" ], [ "Steel.ST.GenElim1.Base.__proj__GEExists1__item__a", @@ -263,7 +263,7 @@ "refinement_interpretation_Tm_refine_465e1453976429c4674be33f4e2005e6" ], 0, - "ea2c95d69724a1734321796fb447f97d" + "3b1815964e449617f5c6342ffea85e95" ], [ "Steel.ST.GenElim1.Base.__proj__GEExists1__item__body", @@ -275,7 +275,7 @@ "refinement_interpretation_Tm_refine_465e1453976429c4674be33f4e2005e6" ], 0, - "d7c761655919c809530f02e040ac6494" + "0d739fbb7d1e4ed6ea1fed86954aca7e" ], [ "Steel.ST.GenElim1.Base.compute_gen_unit_elim_p", @@ -294,7 +294,7 @@ "subterm_ordering_Steel.ST.GenElim1.Base.GUEStar" ], 0, - "c0c37620f9d12c69c79bbea50007aa99" + "c9ee9512c6e90523f0a2e25be65bb5ea" ], [ "Steel.ST.GenElim1.Base.compute_gen_unit_elim_q", @@ -313,7 +313,7 @@ "subterm_ordering_Steel.ST.GenElim1.Base.GUEStar" ], 0, - "9f0012ac9615539e4f1b733a3e1859e5" + "c78b4e712dc5d24404f2f600067055f2" ], [ "Steel.ST.GenElim1.Base.compute_gen_unit_elim_post", @@ -332,7 +332,7 @@ "subterm_ordering_Steel.ST.GenElim1.Base.GUEStar" ], 0, - "ad813bbcdae7419a7d8bbc2b2819ca47" + "aaba75d6514e50d7b10f12bf693b6edc" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_p", @@ -362,7 +362,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "b13473a26cade9488ee7e8e530941c71" + "e154d7f8799ef40d26f6148ea8bf632e" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_a", @@ -392,7 +392,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "fb2e7dbd19c097879d99713b96123e91" + "c5822d9d83164199574714f8122d6f00" ], [ "Steel.ST.GenElim1.Base.coerce_with_trefl", @@ -401,7 +401,7 @@ 1, [ "@query" ], 0, - "348aaa25c2d3e0a25521104378241c52" + "5fb4e3cfb4bb2638a11f59d6fbbee74e" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_q", @@ -443,7 +443,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "5cfaf092754684608f9e8986595b6ed4" + "b88c3aaae239cf3e91014ec901f9fbf6" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_post", @@ -485,7 +485,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "7c80415c8c8541c2bb835c5f742719f4" + "c4a86ec8a7892bee389e8f917bca599d" ], [ "Steel.ST.GenElim1.Base.__proj__TRet__item___0", @@ -497,7 +497,7 @@ "refinement_interpretation_Tm_refine_e92de0b27692574fff1344135bee0e99" ], 0, - "55242562ba6e3ec1dd42f615318db1ff" + "b7bc39c97da601234ee03e239b70b7e8" ], [ "Steel.ST.GenElim1.Base.__proj__TRet__item___1", @@ -509,7 +509,7 @@ "refinement_interpretation_Tm_refine_e92de0b27692574fff1344135bee0e99" ], 0, - "a80d734f1df1e73b826fff2270384bab" + "0687afe085bc63a5aabdfe3185f78fe6" ], [ "Steel.ST.GenElim1.Base.__proj__TExists__item__ty", @@ -521,7 +521,7 @@ "refinement_interpretation_Tm_refine_643b493a3959f97a059cf53c94843c13" ], 0, - "05b38c772b087570851c2c3746ecd16f" + "6592d1e930e553877511c6fe730ce7ac" ], [ "Steel.ST.GenElim1.Base.__proj__TExists__item___1", @@ -533,7 +533,7 @@ "refinement_interpretation_Tm_refine_643b493a3959f97a059cf53c94843c13" ], 0, - "8ef7aa582370d8aa5ed8e6b62dcffd6c" + "d8884cc2806bf8f147e9fdb24a4b5723" ], [ "Steel.ST.GenElim1.Base.tele_star_vprop", @@ -551,7 +551,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.TExists" ], 0, - "842dd4a2395b1fc16d032f5bf6fd6606" + "4055f9717d0546a1fefcabbe1a77a018" ], [ "Steel.ST.GenElim1.Base.tele_star", @@ -573,7 +573,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.TExists" ], 0, - "bbae10da14167c53fb324b1f3e489c48" + "06480f8e484d12568a1ee96569795278" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_tele", @@ -604,7 +604,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "f7982de387c0a0bbe222ae9c085f1e57" + "ad308b31c9d2eb5e1fa39a858f9841e6" ], [ "Steel.ST.GenElim1.Base.curried_function_type", @@ -619,7 +619,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "479e4891a525c66cfb307e49b1b4caed" + "6469e581a08a0cb993fa6039cdef6275" ], [ "Steel.ST.GenElim1.Base.__proj__GENonDep__item__ty", @@ -631,7 +631,7 @@ "refinement_interpretation_Tm_refine_c9b95bd40332eb1c4489c046bd22cd22" ], 0, - "53371af641ee38bc7db01746a8bec77d" + "bdb4e608eb4b1a6d87f6e0667e828354" ], [ "Steel.ST.GenElim1.Base.__proj__GENonDep__item___1", @@ -643,7 +643,7 @@ "refinement_interpretation_Tm_refine_c9b95bd40332eb1c4489c046bd22cd22" ], 0, - "d076d68d387994dbc5238074f4b6120e" + "635bd8b392aff2f89d30f2148158957e" ], [ "Steel.ST.GenElim1.Base.__proj__GENonDep__item___2", @@ -655,7 +655,7 @@ "refinement_interpretation_Tm_refine_c9b95bd40332eb1c4489c046bd22cd22" ], 0, - "2df0eec5f750497845feaadd696f9267" + "6ee9783c202459f711f8e6df78b019df" ], [ "Steel.ST.GenElim1.Base.mk_gen_elim_nondep", @@ -664,7 +664,7 @@ 1, [ "@query" ], 0, - "dce59a770a56a0b336c53f1ca5dcede0" + "22df82839abe4d66e6834288261268ed" ], [ "Steel.ST.GenElim1.Base.mk_gen_elim_nondep_by_tac", @@ -673,7 +673,7 @@ 1, [ "@query" ], 0, - "770b7819e5a5991deec06d4f98b7861f" + "03cec81e24c8f2533a78b163ba89392d" ], [ "Steel.ST.GenElim1.Base.gen_elim_nondep_sem", @@ -688,7 +688,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "5dc0f2af196acab356d1e3cda4bc04ed" + "e7483a46b284f95822dda4a0c71960b8" ], [ "Steel.ST.GenElim1.Base.check_gen_elim_nondep_sem", @@ -703,7 +703,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "637d8e60b83b8494e0dc28e74df7d354" + "6951613c195e0e2d9702a86a1a5335f8" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_nondep_a", @@ -718,7 +718,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "78261c283f69757c7c38fec91ee1b826" + "544e25b2cacbe31aa53e6d7c6e35b6c4" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_nondep_q0", @@ -740,7 +740,7 @@ "projection_inverse_Steel.ST.GenElim1.Base.GENonDep_ty" ], 0, - "7ab2dcab70e8a739cf322f063134604a" + "56cd4a0dd5faf8b0c88e7c0866e887c2" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_nondep_post0", @@ -762,7 +762,7 @@ "projection_inverse_Steel.ST.GenElim1.Base.GENonDep_ty" ], 0, - "4af244ac2b6496ce8d8c0bb7c4ba54a2" + "f59994a4ba6d04663578340718c7c7d3" ], [ "Steel.ST.GenElim1.Base.get_universe", @@ -781,7 +781,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2174ed6b58d3c349fcc3b13bb19bca4d" + "3a12516878d09af81b502e371ea0f42d" ], [ "Steel.ST.GenElim1.Base.gen_elim_pred", @@ -790,7 +790,7 @@ 1, [ "@query" ], 0, - "8fb969257ba4c016a050c3c9fe592bfe" + "591b83356f96865603055e75930103bf" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_intro'", @@ -802,7 +802,7 @@ "refinement_interpretation_Tm_refine_fb9b019b309ac4bdce5b2069a3097655" ], 0, - "9e352905bf76abe784ab905827da7a36" + "ea91715c724c79b90fd364710d5de48e" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_intro'", @@ -814,7 +814,7 @@ "refinement_interpretation_Tm_refine_fb9b019b309ac4bdce5b2069a3097655" ], 0, - "f0464111d5d88bed3b4c2a38cf5cff95" + "81e029e20c42bbe2616f87ed07c17df3" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_intro'", @@ -844,7 +844,7 @@ "refinement_interpretation_Tm_refine_fb9b019b309ac4bdce5b2069a3097655" ], 0, - "0e8b1761407cda40be7ad5baf50fb26c" + "3f08c5341841383764994a30f6b99e41" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_intro", @@ -858,7 +858,7 @@ "refinement_interpretation_Tm_refine_e4cfd47a0a923d5cbdeed2e7c2b3b3fd" ], 0, - "f5366e6cb1a47e7e6ac2837fb19387ac" + "1b11fe3b7a1b4e875bf4b8dee9d977e1" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_intro", @@ -871,7 +871,7 @@ "refinement_interpretation_Tm_refine_e4cfd47a0a923d5cbdeed2e7c2b3b3fd" ], 0, - "0add0c262322ef7bde2e38db849ff071" + "3c2e4876f891fb5326e083909ec27f4e" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_elim", @@ -880,7 +880,7 @@ 1, [ "@query" ], 0, - "0c3e03ce100f9d7e43fbd2a2d686ddef" + "a0fa73099ee25494eea60834745d3679" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_elim", @@ -899,7 +899,7 @@ "refinement_interpretation_Tm_refine_31e387c6949fb569cd5bb848223422c7" ], 0, - "0ff5e896211a44562b5acd3c342e6674" + "07a54473ec5763308bd01531fa1e0856" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_placeholder_intro", @@ -912,7 +912,7 @@ "true_interp" ], 0, - "9a7751bfd8c73cce8b3bfb37d9883b04" + "151f5f7e205f49cb1c6ba89053dfb0d3" ], [ "Steel.ST.GenElim1.Base.solve_gen_elim_nondep'", @@ -930,7 +930,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a4eda2633a7d18a65b83f712a48fc179" + "6885c2d69a969808b2c1a8c32ffc0f6b" ], [ "Steel.ST.GenElim1.Base.solve_gen_elim_nondep", @@ -946,7 +946,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "dc350f0550bfcff70ac67bb0785f83e2" + "680ee14405caa8338cc16a15c50d0864" ], [ "Steel.ST.GenElim1.Base.solve_gen_elim_prop", @@ -971,7 +971,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "ba0bb5777fd506e8dbeaacbc4b02c9fa" + "507fc1d8aaf1b0f02804ead7b74903ff" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GenElim1.Base.fsti.hints b/lib/steel/Steel.ST.GenElim1.Base.fsti.hints index af0744e96..08bbd8ad0 100644 --- a/lib/steel/Steel.ST.GenElim1.Base.fsti.hints +++ b/lib/steel/Steel.ST.GenElim1.Base.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_e43327818997cc2897443e057ec5342f" ], 0, - "476f39aa7a2299649730f422a8d18c4f" + "31f60a2e4c96c3c0ae73e23d996ee6a9" ], [ "Steel.ST.GenElim1.Base.__proj__GUEPure__item__p", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_04546963a13999e1cd1c14808a6d3ed5" ], 0, - "50f7c47c334e7aa20597d2a8a108b21e" + "7a750d25a848f002344c08975db4a2ab" ], [ "Steel.ST.GenElim1.Base.__proj__GUEStar__item__left", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_40b784c44f7fe4452063e7d8f3c80f63" ], 0, - "1ffffb35268da1ec8273bdb79b2403df" + "acfa4aeb002a994b93d5a70051040e0e" ], [ "Steel.ST.GenElim1.Base.__proj__GUEStar__item__right", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_40b784c44f7fe4452063e7d8f3c80f63" ], 0, - "fb7e1935385f4f256af4ec61663e402a" + "3d7865595c4e04b6bfaf0d042af3acad" ], [ "Steel.ST.GenElim1.Base.__proj__GEUnit__item__i", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_a62fbdc0cb1b3ab8a6d24e4894098bd7" ], 0, - "23e125cdb76652f3391ace3a9c9b9103" + "94be20ded4b125cdfd356bb318a90025" ], [ "Steel.ST.GenElim1.Base.__proj__GEStarL__item__left", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_11a52129d193b27351a4f334ca139f00" ], 0, - "27a26b9b0ad92cebef220073270b3b8d" + "2456d3dbd547bee2563d56f8153204ca" ], [ "Steel.ST.GenElim1.Base.__proj__GEStarL__item__right", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_11a52129d193b27351a4f334ca139f00" ], 0, - "5e943eb231b457bf3d765fc332ddea2b" + "0aaf06c32804b792a3818203ebe38d7d" ], [ "Steel.ST.GenElim1.Base.__proj__GEStarR__item__left", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_23b85dc0c2e1f54b6ea2d44b2d886b23" ], 0, - "5f9dde72e45fb37ef499753ce2bad9fb" + "58f50cae643b9d79d8bb2281b4f99017" ], [ "Steel.ST.GenElim1.Base.__proj__GEStarR__item__right", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_23b85dc0c2e1f54b6ea2d44b2d886b23" ], 0, - "4bce74c48e8be45c5b71faa53200eb74" + "506b96b14001f40c435d704bee77fcec" ], [ "Steel.ST.GenElim1.Base.__proj__GEStar__item__left", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_63af5dae35e7e73b7db80bb1accb51ba" ], 0, - "d293f1c1f06b06c26323baaf34d5d1d9" + "cc32e032e6e9991ebfb3de6a20dec843" ], [ "Steel.ST.GenElim1.Base.__proj__GEStar__item__right", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_63af5dae35e7e73b7db80bb1accb51ba" ], 0, - "bf098b416b07b8df7b0b407b15c4faee" + "62074002b6fad1cd1ed46b5366c82567" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsNoAbs0__item__a", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_0b6d342c6e8824199f2461f2e93f0e19" ], 0, - "63d45774cc5c5e81f06c6f6bf2dc6093" + "9b50d5cdbfebccd4f3151adef3d5ba46" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsNoAbs0__item__body", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_0b6d342c6e8824199f2461f2e93f0e19" ], 0, - "f59485a8ebe6d6bcd8ff345afe626ed5" + "ef9de94e13d7704e35fd06ec09e31d90" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsUnit0__item__a", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_989598e2818db1150087a48297bdb34d" ], 0, - "84724a69c2c2034f99ebcb245b8e5b83" + "d7ff41fa5cff254849b4962d538701a9" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsUnit0__item__body", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_989598e2818db1150087a48297bdb34d" ], 0, - "8cf8ceb7c161bfd0edbf3c24c754914a" + "323db622c79c0ba68a87a3a77561fc45" ], [ "Steel.ST.GenElim1.Base.__proj__GEExists0__item__a", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_ae85974f577da00b033f2fa9dac92813" ], 0, - "f74fe7a3b06f4c806819a84d03d31d76" + "cf77a9ca4f46822400a4cd92a5c33a5f" ], [ "Steel.ST.GenElim1.Base.__proj__GEExists0__item__body", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_ae85974f577da00b033f2fa9dac92813" ], 0, - "4b0af564a8e5b0fe757830d3b20bedfc" + "0a659f73de7e014045ad9f60f9e1d8b9" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsNoAbs1__item__a", @@ -215,7 +215,7 @@ "refinement_interpretation_Tm_refine_2e492f1b62fb95d2eb58899fec3242f3" ], 0, - "5549134b0d50995ef2d2515e035fdc7b" + "1abf9f51cba1f007747c6cdc639bd8e8" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsNoAbs1__item__body", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_2e492f1b62fb95d2eb58899fec3242f3" ], 0, - "b2af78de2e687eb0d038e305dbd7906e" + "c26d8bd56048be12d39126140760fc7d" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsUnit1__item__a", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_3bc1f2e368edd3707aa36ea2a8552ffb" ], 0, - "a57110f531d72397d2433f92fbc5fa46" + "53dbacdede8ede60be00fc15aafc6d5c" ], [ "Steel.ST.GenElim1.Base.__proj__GEExistsUnit1__item__body", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_3bc1f2e368edd3707aa36ea2a8552ffb" ], 0, - "f4a936ed02bcaa7513cd7382d8725f17" + "be0e7c3aa4c280b2800a3cbfd646a49d" ], [ "Steel.ST.GenElim1.Base.__proj__GEExists1__item__a", @@ -263,7 +263,7 @@ "refinement_interpretation_Tm_refine_465e1453976429c4674be33f4e2005e6" ], 0, - "59b71b0bbebf22ff9b54a2c21d8bdc03" + "3b1815964e449617f5c6342ffea85e95" ], [ "Steel.ST.GenElim1.Base.__proj__GEExists1__item__body", @@ -275,7 +275,7 @@ "refinement_interpretation_Tm_refine_465e1453976429c4674be33f4e2005e6" ], 0, - "81638b5ab7c37a26173736ef51550089" + "0d739fbb7d1e4ed6ea1fed86954aca7e" ], [ "Steel.ST.GenElim1.Base.compute_gen_unit_elim_p", @@ -294,7 +294,7 @@ "subterm_ordering_Steel.ST.GenElim1.Base.GUEStar" ], 0, - "e1e41eec317daa5c9bc0f6ed6ad125d2" + "aa64b9b6dc5ab6d2617745caeeb9cc67" ], [ "Steel.ST.GenElim1.Base.compute_gen_unit_elim_q", @@ -313,7 +313,7 @@ "subterm_ordering_Steel.ST.GenElim1.Base.GUEStar" ], 0, - "d6ef3ca489ebb334fa873acc33142f6f" + "c78b4e712dc5d24404f2f600067055f2" ], [ "Steel.ST.GenElim1.Base.compute_gen_unit_elim_post", @@ -332,7 +332,7 @@ "subterm_ordering_Steel.ST.GenElim1.Base.GUEStar" ], 0, - "72f0c765ac7c78e26122bc0c7df10dac" + "aaba75d6514e50d7b10f12bf693b6edc" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_p", @@ -362,7 +362,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "189d52fbe03c3c42f212300163294235" + "e154d7f8799ef40d26f6148ea8bf632e" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_a", @@ -392,7 +392,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "0490b053788d5b5a137e97ecf65f6931" + "c5822d9d83164199574714f8122d6f00" ], [ "Steel.ST.GenElim1.Base.coerce_with_trefl", @@ -401,7 +401,7 @@ 1, [ "@query" ], 0, - "f14acc639598326819fcc62177093fb8" + "5fb4e3cfb4bb2638a11f59d6fbbee74e" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_q", @@ -443,7 +443,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "dc601e450f713037836ee746b0790d3c" + "b88c3aaae239cf3e91014ec901f9fbf6" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_post", @@ -485,7 +485,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "026f60113febfc5b94f43d042113fd62" + "c4a86ec8a7892bee389e8f917bca599d" ], [ "Steel.ST.GenElim1.Base.__proj__TRet__item___0", @@ -497,7 +497,7 @@ "refinement_interpretation_Tm_refine_e92de0b27692574fff1344135bee0e99" ], 0, - "0ecf5ae30ca4e04836368534f66e9b6b" + "b7bc39c97da601234ee03e239b70b7e8" ], [ "Steel.ST.GenElim1.Base.__proj__TRet__item___1", @@ -509,7 +509,7 @@ "refinement_interpretation_Tm_refine_e92de0b27692574fff1344135bee0e99" ], 0, - "6d1ceccfe5b339ad6478ff06a4f19ca2" + "0687afe085bc63a5aabdfe3185f78fe6" ], [ "Steel.ST.GenElim1.Base.__proj__TExists__item__ty", @@ -521,7 +521,7 @@ "refinement_interpretation_Tm_refine_643b493a3959f97a059cf53c94843c13" ], 0, - "abf93d8314d1b7094d50bce92710f00a" + "6592d1e930e553877511c6fe730ce7ac" ], [ "Steel.ST.GenElim1.Base.__proj__TExists__item___1", @@ -533,7 +533,7 @@ "refinement_interpretation_Tm_refine_643b493a3959f97a059cf53c94843c13" ], 0, - "ab2f990823bb7393d2d110c61e8a623b" + "d8884cc2806bf8f147e9fdb24a4b5723" ], [ "Steel.ST.GenElim1.Base.tele_star_vprop", @@ -551,7 +551,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.TExists" ], 0, - "b8ace84b659df78bc2277b28ae94e745" + "4055f9717d0546a1fefcabbe1a77a018" ], [ "Steel.ST.GenElim1.Base.tele_star", @@ -573,7 +573,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.TExists" ], 0, - "c265ef9b23dc1099fb39a2d00e0d0868" + "06480f8e484d12568a1ee96569795278" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_tele", @@ -604,7 +604,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "dcbe7fc0fddefbd01ca8cc459b6a00ce" + "ad308b31c9d2eb5e1fa39a858f9841e6" ], [ "Steel.ST.GenElim1.Base.curried_function_type", @@ -619,7 +619,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "9c134d0553adb6a84a8b289566e1b17a" + "6469e581a08a0cb993fa6039cdef6275" ], [ "Steel.ST.GenElim1.Base.__proj__GENonDep__item__ty", @@ -631,7 +631,7 @@ "refinement_interpretation_Tm_refine_c9b95bd40332eb1c4489c046bd22cd22" ], 0, - "07909207f65669e4df7114ffc7f57d78" + "bdb4e608eb4b1a6d87f6e0667e828354" ], [ "Steel.ST.GenElim1.Base.__proj__GENonDep__item___1", @@ -643,7 +643,7 @@ "refinement_interpretation_Tm_refine_c9b95bd40332eb1c4489c046bd22cd22" ], 0, - "8ae22b9ef6b4f6d11d729c5bc12d0836" + "635bd8b392aff2f89d30f2148158957e" ], [ "Steel.ST.GenElim1.Base.__proj__GENonDep__item___2", @@ -655,7 +655,7 @@ "refinement_interpretation_Tm_refine_c9b95bd40332eb1c4489c046bd22cd22" ], 0, - "1c15f906eca2353aca206fe5e18677e0" + "6ee9783c202459f711f8e6df78b019df" ], [ "Steel.ST.GenElim1.Base.mk_gen_elim_nondep", @@ -664,7 +664,7 @@ 1, [ "@query" ], 0, - "e47d1a023f5f75da104c8557ccf9c36f" + "22df82839abe4d66e6834288261268ed" ], [ "Steel.ST.GenElim1.Base.mk_gen_elim_nondep_by_tac", @@ -673,7 +673,7 @@ 1, [ "@query" ], 0, - "f5648898267aa77b4174d7444a53c3de" + "03cec81e24c8f2533a78b163ba89392d" ], [ "Steel.ST.GenElim1.Base.gen_elim_nondep_sem", @@ -688,7 +688,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "8dff0b50e20bfc1c019dab7912a518b4" + "e7483a46b284f95822dda4a0c71960b8" ], [ "Steel.ST.GenElim1.Base.check_gen_elim_nondep_sem", @@ -703,7 +703,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "53fec5fadc5eea4423f81c92ba41c1bb" + "6951613c195e0e2d9702a86a1a5335f8" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_nondep_a", @@ -718,7 +718,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c656036669cc239a2f2750ce1bf8c10f" + "544e25b2cacbe31aa53e6d7c6e35b6c4" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_nondep_q0", @@ -740,7 +740,7 @@ "projection_inverse_Steel.ST.GenElim1.Base.GENonDep_ty" ], 0, - "dca1f94aa583a2c5dfa85d8f44c29c6e" + "56cd4a0dd5faf8b0c88e7c0866e887c2" ], [ "Steel.ST.GenElim1.Base.compute_gen_elim_nondep_post0", @@ -762,7 +762,7 @@ "projection_inverse_Steel.ST.GenElim1.Base.GENonDep_ty" ], 0, - "e9e8c63833dae3bf9b0f33da9335910d" + "f59994a4ba6d04663578340718c7c7d3" ], [ "Steel.ST.GenElim1.Base.get_universe", @@ -781,7 +781,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "809e77a284c7d309b0272787b1ae7b81" + "3a12516878d09af81b502e371ea0f42d" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_intro'", @@ -793,7 +793,7 @@ "refinement_interpretation_Tm_refine_fb9b019b309ac4bdce5b2069a3097655" ], 0, - "82900fb1efa114837fd3b8095e1d56f1" + "efc37c9a08ac768a09987e8d32f5a665" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_intro", @@ -807,7 +807,7 @@ "refinement_interpretation_Tm_refine_e4cfd47a0a923d5cbdeed2e7c2b3b3fd" ], 0, - "e2ec6c6c4aef07aebc5108493ca14790" + "cbcb0acb692ab967bae6cd99f3d7f43b" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_intro", @@ -820,7 +820,7 @@ "refinement_interpretation_Tm_refine_e4cfd47a0a923d5cbdeed2e7c2b3b3fd" ], 0, - "e614e69fbd6c116440b5f17425ecf7ab" + "f6679923b8463496ad9bcc48e0419b09" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_elim", @@ -829,7 +829,7 @@ 1, [ "@query" ], 0, - "b43f0e66207c264ab7272036065230a4" + "b7ae7a5e2a67c785be4a7676e45373ad" ], [ "Steel.ST.GenElim1.Base.gen_elim_prop_placeholder_intro", @@ -842,7 +842,7 @@ "true_interp" ], 0, - "b251df28b64410b29317e4be9f40a620" + "f75e6797b8af3f74b9a8ad5c39e47acb" ], [ "Steel.ST.GenElim1.Base.solve_gen_elim_nondep'", @@ -860,7 +860,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ec82972b39aee2ec8bee53655f2b5a8b" + "6885c2d69a969808b2c1a8c32ffc0f6b" ], [ "Steel.ST.GenElim1.Base.solve_gen_elim_nondep", @@ -876,7 +876,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "4167a20397ef8a4d2b34af8c2e692a33" + "680ee14405caa8338cc16a15c50d0864" ], [ "Steel.ST.GenElim1.Base.solve_gen_elim_prop", @@ -901,7 +901,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "d87db07d94bd5f7a49419ea7b9b26420" + "507fc1d8aaf1b0f02804ead7b74903ff" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GenElim1.fst.hints b/lib/steel/Steel.ST.GenElim1.fst.hints index 7a1c25f5d..9d3f899a4 100644 --- a/lib/steel/Steel.ST.GenElim1.fst.hints +++ b/lib/steel/Steel.ST.GenElim1.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_Steel.ST.GenElim1.Base.GUEId_v", "true_interp" ], 0, - "5533534166c8f1e6e4af614c1dc7b6a5" + "c32b6899717e420f44de4b63a674d0d9" ], [ "Steel.ST.GenElim1.compute_gen_unit_elim_f_pure", @@ -33,7 +33,7 @@ "projection_inverse_Steel.ST.GenElim1.Base.GUEPure_p" ], 0, - "dd1a99709252a894a23e645a8ae33915" + "5c11b31d494c98de3d52ad844d2ecf7b" ], [ "Steel.ST.GenElim1.compute_gen_unit_elim_f_star", @@ -58,7 +58,7 @@ "projection_inverse_Steel.ST.GenElim1.Base.GUEStar_right" ], 0, - "96ee74c207f66d86e3da6637f00414d7" + "32c76a2753f758a5105ac2d70d2afe46" ], [ "Steel.ST.GenElim1.compute_gen_unit_elim_f", @@ -77,7 +77,7 @@ "subterm_ordering_Steel.ST.GenElim1.Base.GUEStar" ], 0, - "94288a603264c5eabc6bab95ac6e99e4" + "e578834e82a3a9d6ef14384fa46f426c" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_unit", @@ -95,7 +95,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_gen_elim_post" ], 0, - "de247ffabea7eddda15d81c0e789735b" + "96eaa49f5ee01e77bd27ad77d6b39408" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_star_l", @@ -134,7 +134,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_gen_elim_q" ], 0, - "eb47685779ad9075fa3fbfcbaa2a516b" + "e771691082f380c90ffe935fd98cdfe3" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_star_r", @@ -173,7 +173,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_gen_elim_q" ], 0, - "b575bdae865c0ce2a47ae0326235d87b" + "3ef8e802c9201b9b54bcc8bebf22b956" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_star", @@ -217,7 +217,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_gen_elim_q" ], 0, - "23b62207ad60351b1bb466d7d8d298fd" + "82dafe3c2945175b0130032854b88df6" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_exists_no_abs0", @@ -245,7 +245,7 @@ "true_interp", "typing_FStar.Ghost.reveal" ], 0, - "d38600b6fda284c4c9a8da2c91dad739" + "d48eaccf142bff27c592f12c7ff0b80e" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_exists_unit0", @@ -271,7 +271,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "df1220ba821f841cd73ee588202a0049" + "266ee7e1aa12cacc0cf2c24a0a59dede" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_exists0", @@ -308,7 +308,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_gen_elim_q" ], 0, - "2e980bc11823de29718af8bf335e9eb8" + "93a8b42aed1740c45a9f9234a026634a" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_exists_no_abs1", @@ -335,7 +335,7 @@ "true_interp" ], 0, - "11f41d277173df7edb56f27db0c14654" + "bf581cc1b5febded30c574e8c55e6cd9" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_exists_unit1", @@ -360,7 +360,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_gen_elim_q" ], 0, - "17938d1fbf222a1415b324818830981b" + "6d71c8aa5db1f417798da4ac416ddb1a" ], [ "Steel.ST.GenElim1.compute_gen_elim_f_exists1", @@ -397,7 +397,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_gen_elim_q" ], 0, - "1f5d59f9553e28d3417c3f311fe1afba" + "ed61edf949ee0347a1e7bb1cd0367fe8" ], [ "Steel.ST.GenElim1.compute_gen_elim_f", @@ -427,7 +427,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "1f3efdf22ffa4040d89a8b87f88abff9" + "8bced5de349b0c16a3894ee1f801c523" ], [ "Steel.ST.GenElim1.tele_p", @@ -445,7 +445,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.TExists" ], 0, - "a9f9ac8fdeb0dd79dd33253a1eb1067f" + "6bf2a8b5ff70bd70fa901d86860ab865" ], [ "Steel.ST.GenElim1.tele_star_vprop_correct_ret", @@ -465,7 +465,7 @@ "typing_Steel.ST.GenElim1.Base.tele_star_vprop" ], 0, - "339fe6662d454e7340553f31a7e52774" + "819acc43d4db37b51ed02442d772090a" ], [ "Steel.ST.GenElim1.tele_star_vprop_correct", @@ -483,7 +483,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.TExists" ], 0, - "3a504188769a604a2f87570699d3abff" + "023a6e186885c5af55e800fb6bbb0ffc" ], [ "Steel.ST.GenElim1.tele_star_correct_ret_l", @@ -506,7 +506,7 @@ "projection_inverse_Steel.ST.GenElim1.Base.TRet__1" ], 0, - "fbce2038de03979451b6e456fffaf6fd" + "7ee2bb2f2c0fd2047f011bb004c15f2a" ], [ "Steel.ST.GenElim1.tele_star_correct_ret_r", @@ -533,7 +533,7 @@ "refinement_interpretation_Tm_refine_57143facca629a1403580b782cd325fe" ], 0, - "5f42f5bb2c4c84628b695ef03b30f911" + "e2430b0fa92fa322ea2c6f4c156442cc" ], [ "Steel.ST.GenElim1.tele_star_correct", @@ -552,7 +552,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.TExists" ], 0, - "c94d039b4791585b7f0e2f38022759cd" + "d294e1516b105ae91850ad3bf196f3ab" ], [ "Steel.ST.GenElim1.compute_gen_elim_tele_correct_unit", @@ -561,7 +561,7 @@ 1, [ "@query" ], 0, - "eb85335b513df32e2fadbc3877a5c6f0" + "aa60dfbc5693fb0a8b4e6bd9f3ec79f9" ], [ "Steel.ST.GenElim1.compute_gen_elim_tele_correct_star_l", @@ -570,7 +570,7 @@ 1, [ "@query" ], 0, - "106eb8d91f17b92d20d587ce249692a9" + "990db1ba8aa28e51d5bf92897eaec4ab" ], [ "Steel.ST.GenElim1.compute_gen_elim_tele_correct_star_r", @@ -579,7 +579,7 @@ 1, [ "@query" ], 0, - "83684e1bd69ef73de2874d6ae8220767" + "a90dfe481a15c703e98a544f8b7e2c35" ], [ "Steel.ST.GenElim1.compute_gen_elim_tele_correct_exists_no_abs0", @@ -588,7 +588,7 @@ 1, [ "@query", "lemma_FStar.Universe.downgrade_val_raise_val" ], 0, - "a8866ece9bd810ee273876ecd6c58504" + "d7b84868f730721049fba1e1f7cc4389" ], [ "Steel.ST.GenElim1.compute_gen_elim_tele_correct_exists_unit0", @@ -597,7 +597,7 @@ 1, [ "@query", "lemma_FStar.Universe.downgrade_val_raise_val" ], 0, - "265b2333cda937be48e9f2c700dbe56b" + "d097c847e6bfd8c144ac520c8e7f8580" ], [ "Steel.ST.GenElim1.compute_gen_elim_tele_correct_exists0", @@ -606,7 +606,7 @@ 1, [ "@query", "lemma_FStar.Universe.downgrade_val_raise_val" ], 0, - "a499d944a1d1d527e5c8edff94f6490b" + "e554f92dfe490007759e8073da3f8618" ], [ "Steel.ST.GenElim1.compute_gen_elim_tele_correct_exists_unit1", @@ -615,7 +615,7 @@ 1, [ "@query" ], 0, - "2d4b2410b3d1267ace53ab942e3d59f2" + "5ddc0003e41e2a314701252e3d0be935" ], [ "Steel.ST.GenElim1.compute_gen_elim_tele_correct", @@ -645,7 +645,7 @@ "well_founded_ordering_on_codomain_Steel.ST.GenElim1.Base.GEExists1" ], 0, - "bbe547c702cfc8c8c18c18b19e2dc2ca" + "c834af7ef3f14517a8bfc79a48e8bc2c" ], [ "Steel.ST.GenElim1.gen_elim_nondep_p", @@ -660,7 +660,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "6b1eec424dfc87e03cd0b5992dd5d87c" + "d267fa565201aaf43cb80accede22948" ], [ "Steel.ST.GenElim1.gen_elim_nondep_sem_correct", @@ -694,7 +694,7 @@ "typing_Tm_abs_437ce91f147fe88a189cb8b115394168" ], 0, - "ab1d86ca03904875f6a8660d072307e4" + "d6e2e1c1d25851f5db2b4409ad5c109c" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct0", @@ -709,7 +709,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "49ee6a1c5722085feabb57002517c4c0" + "c8f01db96d83219a9dcdb20a13662f62" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct1", @@ -727,7 +727,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "c48c4ee139c82ddef9cd5ed9ea94bd20" + "48885b23bb492a06ed75ec85f4333f56" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct2", @@ -753,7 +753,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "8e7834cff26a5b003eb0459990a39712" + "7c9b11b6553f7e75e13bbd1c7e3d6f2e" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct3", @@ -777,7 +777,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "9711b6ed3fdd245d2841747b8b11af97" + "01d14770abcf93e5479e14c42d13ccd0" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct4", @@ -803,7 +803,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "63a28c50ba9dd416fb553fe0c68e1b1d" + "99facc1b7edc2cccb16cffff0a8a23d4" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct5", @@ -831,7 +831,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "3b1c403c9991262f27ece057afe03e72" + "95e5a1a40d03f3578aa7bb4288c2243c" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct6", @@ -861,7 +861,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "20ac90045ba64bbcbefffd61b919b2aa" + "7f66796d0e40f999539cde2532a13618" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct7", @@ -893,7 +893,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "3557471658965c64e8270c7865e8bc1b" + "ebcd96d3390922d483abcee4127a5957" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct8", @@ -927,7 +927,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "bd84bbae03fd95d82e241249a247119b" + "0291343e66dbdf79d3c79fdbe3d04fa3" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct9", @@ -963,7 +963,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "3c9f18f18ca59df32b63e0eb1158a2be" + "3cd1c52d9346b6fb09a36037bb68535e" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct10", @@ -1001,7 +1001,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "aec7fdb75c9aa0d07da5faed3c913dd1" + "9c3ec356e720c14088709bdeb9f8ccab" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct11", @@ -1041,7 +1041,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "f3ad1b728dd29ac272cc97fbe7b641de" + "b792ba9296d65c9d87a8a85c0f682a1f" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct12", @@ -1083,7 +1083,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "a2cd1eb097cd4035c98ae3a1b15bfbc8" + "8fa58f743201dc9100dea983fa8c6f63" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct13", @@ -1127,7 +1127,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "ddfffc3ba6c051a14cfdf3cfb7d382b6" + "2b5834ec452eb139a72edfb21a9aa30e" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct14", @@ -1173,7 +1173,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_uncurry" ], 0, - "ab4950c50a0ba18e01809f279815b48b" + "e33f34da4070178470ec403aaff48477" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct_default", @@ -1190,7 +1190,7 @@ "true_interp" ], 0, - "babbfc1fc39d483731cfa71fa8293608" + "59b123edbadcea49e5e0b3a990bfed25" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct'", @@ -1208,7 +1208,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "3ccdd73994cb05979866920a3b282cbd" + "ef7b34d0746321e6078a7ce734d72529" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct_0", @@ -1232,7 +1232,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "aff40f031e281f7b5304c491dbe0dce8" + "00274edf396cb2264215bd5673ee285d" ], [ "Steel.ST.GenElim1.compute_gen_elim_nondep_correct", @@ -1247,7 +1247,7 @@ "typing_Steel.ST.GenElim1.Base.compute_gen_elim_nondep_a" ], 0, - "da29ac7b58d23104ec933d6f08a9f18f" + "93e7e6637070787a9150aceef24c540b" ], [ "Steel.ST.GenElim1.coerce_with_smt", @@ -1256,7 +1256,7 @@ 1, [ "@query" ], 0, - "f92dbc9061e73adfd4bf30b987fae0cb" + "4f071d0b3213b7845e968a113c2522b0" ], [ "Steel.ST.GenElim1.gen_elim'", @@ -1277,7 +1277,7 @@ "token_correspondence_Steel.ST.GenElim1.Base.compute_gen_elim_nondep_post" ], 0, - "fff319d4548803c93e226c022e1a4537" + "a629175b7fb3a9f280d5e55e4b1576fb" ], [ "Steel.ST.GenElim1.gen_elim", @@ -1286,7 +1286,7 @@ 1, [ "@query" ], 0, - "53b020297b5b8edfcb5ec636e2e5c1f9" + "d195abb0fb3412f1472725e0f62c7aa7" ], [ "Steel.ST.GenElim1.gen_elim_dep", @@ -1295,7 +1295,7 @@ 1, [ "@query" ], 0, - "ca5da0a09eaf55aeb84539c610317177" + "ded920203da43cd27cb082e017118df6" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GhostHigherReference.fst.hints b/lib/steel/Steel.ST.GhostHigherReference.fst.hints index 5493c7879..f9952f97f 100644 --- a/lib/steel/Steel.ST.GhostHigherReference.fst.hints +++ b/lib/steel/Steel.ST.GhostHigherReference.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_Steel.ST.GhostHigherReference.Hide_reveal" ], 0, - "3b7ed32b31b390d8b7f45048ff093ffd" + "6e76670b3c16a3982039b4dc96c53387" ], [ "Steel.ST.GhostHigherReference.hide_reveal_ref", @@ -28,7 +28,7 @@ "proj_equation_Steel.ST.GhostHigherReference.Hide_reveal" ], 0, - "4566333244eb54ab6ac29e0937ef7db3" + "90d17da24de8290531f5ef63b516bf1e" ], [ "Steel.ST.GhostHigherReference.reveal_pts_to", @@ -40,7 +40,7 @@ "equation_Steel.ST.GhostHigherReference.reveal_ref" ], 0, - "fe0e41d2de3b757851259152e3b325a9" + "c99608c345b42b6a2a47326ea7d1601d" ], [ "Steel.ST.GhostHigherReference.pts_to_injective_eq", @@ -55,7 +55,7 @@ "fuel_guarded_inversion_Steel.ST.GhostHigherReference.ref_" ], 0, - "8be8431a692f6a43fff632b9e858b84d" + "d846caf42a8872d7f6a1e311bc77fe68" ], [ "Steel.ST.GhostHigherReference.alloc", @@ -70,7 +70,7 @@ "projection_inverse_Steel.ST.GhostHigherReference.Hide_reveal" ], 0, - "6f25e422df3625f396f411de0bc33d25" + "82ac4aaa17c339b1ef7a5e8402824e39" ], [ "Steel.ST.GhostHigherReference.write", @@ -91,7 +91,7 @@ "typing_Steel.ST.GhostHigherReference.__proj__Hide__item__reveal" ], 0, - "4416d3d6344eebd22b3ee967b417cb33" + "5b4436a2d4e35c01384f4611c1a75d3a" ], [ "Steel.ST.GhostHigherReference.free", @@ -110,7 +110,7 @@ "typing_Steel.ST.GhostHigherReference.__proj__Hide__item__reveal" ], 0, - "446b5bd99a3939b938188ed344f82bce" + "476663a26dbb2f1999d2ce1f3c49849a" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GhostPCMReference.fst.hints b/lib/steel/Steel.ST.GhostPCMReference.fst.hints index a309a0ea7..727cdb371 100644 --- a/lib/steel/Steel.ST.GhostPCMReference.fst.hints +++ b/lib/steel/Steel.ST.GhostPCMReference.fst.hints @@ -17,7 +17,7 @@ "token_correspondence_FStar.PCM.__proj__Mkpcm__item__refine" ], 0, - "c9f02626de8b8018de95ad39d5aa2c6a" + "9ecadbbbf61e089c514d97a56fec2477" ], [ "Steel.ST.GhostPCMReference.read", @@ -52,7 +52,7 @@ "typing_FStar.Universe.raise_t", "typing_FStar.Universe.raise_val" ], 0, - "a3214b2d3a76d7b707adc83f517a22bd" + "7e3e7f70fcf6247e136330c6a0185f73" ], [ "Steel.ST.GhostPCMReference.write", @@ -82,7 +82,7 @@ "typing_FStar.Universe.downgrade_val" ], 0, - "3022a0bdfb4cb81317529b8aaca55a1f" + "98ade0fea577855f859a17b41b611c83" ], [ "Steel.ST.GhostPCMReference.share", @@ -91,7 +91,7 @@ 1, [ "@query" ], 0, - "b276050aa9241bda8a0f970e04b54b26" + "b15af9c7a26de454a4c25c40da1c7e2b" ], [ "Steel.ST.GhostPCMReference.share", @@ -115,7 +115,7 @@ "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op" ], 0, - "a01aa9834559f3c5c7e47b80f3f8fddd" + "207f70feaccbd4901c85af6dcab97434" ], [ "Steel.ST.GhostPCMReference.gather", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_2312a63c4e89fea10d3f55e0bd838c5e" ], 0, - "0b751b1fa2bba9dc9b44c236376e5946" + "d8e95154fc50bee59a9855c28e1dd1bb" ], [ "Steel.ST.GhostPCMReference.gather", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_2312a63c4e89fea10d3f55e0bd838c5e" ], 0, - "3d4b4c4ae6f244422c8adfe122b5da22" + "04fe182231e030bcee0d51a286fa6cd5" ], [ "Steel.ST.GhostPCMReference.gather", @@ -160,7 +160,7 @@ "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable" ], 0, - "4aa497ce270c4054bd7f2fdc3019a730" + "7eeadca7ba6d24fac80e1c33cc2ca9c8" ], [ "Steel.ST.GhostPCMReference.gather", @@ -172,7 +172,7 @@ "refinement_interpretation_Tm_refine_2312a63c4e89fea10d3f55e0bd838c5e" ], 0, - "fb208f8c93dee75b9d07bf647bca2794" + "1287daf3eabd2aa8cbace2cbe7c6295c" ], [ "Steel.ST.GhostPCMReference.gather", @@ -184,7 +184,7 @@ "refinement_interpretation_Tm_refine_2312a63c4e89fea10d3f55e0bd838c5e" ], 0, - "fb208f8c93dee75b9d07bf647bca2794" + "1287daf3eabd2aa8cbace2cbe7c6295c" ], [ "Steel.ST.GhostPCMReference.gather", @@ -210,7 +210,7 @@ "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op" ], 0, - "8742bbac0b17e7832dcde437164e2e84" + "085b98a50b8f7db9ea9bbaa5b837f7fb" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GhostPCMReference.fsti.hints b/lib/steel/Steel.ST.GhostPCMReference.fsti.hints index 88acce925..221e7f0f6 100644 --- a/lib/steel/Steel.ST.GhostPCMReference.fsti.hints +++ b/lib/steel/Steel.ST.GhostPCMReference.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "da6e8242a0ffcde7d5d581eb0a46b64c" + "4da15d2487fa21dca3698df2dc02145c" ], [ "Steel.ST.GhostPCMReference.gather", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_2312a63c4e89fea10d3f55e0bd838c5e" ], 0, - "bacd3909a32ae495208352bdbfb093c7" + "d8e95154fc50bee59a9855c28e1dd1bb" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.GhostReference.fst.hints b/lib/steel/Steel.ST.GhostReference.fst.hints index 704f4fd8b..f828097e3 100644 --- a/lib/steel/Steel.ST.GhostReference.fst.hints +++ b/lib/steel/Steel.ST.GhostReference.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_FStar.Ghost.reveal_hide" ], 0, - "3b9506f9d3ee9773d511e6144ce65eb4" + "0b237486e8a7a6d86b84cf0649c09b5f" ], [ "Steel.ST.GhostReference.read", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "4f5fdc55af35bbf3ceb0e12c84e0e22d" + "3b938516745a403d28000d69b170ec37" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.HigherArray.fst.hints b/lib/steel/Steel.ST.HigherArray.fst.hints index 394fb632c..6322c0a74 100644 --- a/lib/steel/Steel.ST.HigherArray.fst.hints +++ b/lib/steel/Steel.ST.HigherArray.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "87a1f9f0341f64361183b609f4e022d9" + "2fc27794e5c1e85c227357eff8137d1e" ], [ "Steel.ST.HigherArray.pcm", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "19a73758f28d88bdd4cbfe9bb757cf13" + "e0fe84f9632bedb55ba32990ea07a017" ], [ "Steel.ST.HigherArray.mk_carrier", @@ -61,7 +61,7 @@ "typing_FStar.Set.empty", "typing_Steel.PCMFrac.fractional" ], 0, - "d69656378619565ce8c39a0379ad0447" + "f516b7904e065636107299e638b02349" ], [ "Steel.ST.HigherArray.mk_carrier_inj", @@ -109,7 +109,7 @@ "typing_Tm_abs_8df8d936b22581ecdbe713ae38b02893" ], 0, - "a5c21e15d871b0928748ad5d61a0f3d4" + "ace3e1b07e6191908291c5b94e9ccb5e" ], [ "Steel.ST.HigherArray.null_ptr", @@ -131,7 +131,7 @@ "typing_FStar.SizeT.t", "typing_FStar.SizeT.uint_to_t" ], 0, - "7090fd5b8811d40c9e8d582f5abcfa7b" + "0f1e624d221657ab0363ff874e1fda04" ], [ "Steel.ST.HigherArray.is_null_ptr", @@ -161,7 +161,7 @@ "typing_Steel.ST.HigherArray.__proj__Mkptr__item__base_len" ], 0, - "99990149b9e7f2cf918181db0d09d855" + "8d10639fd855011e75b5a1d9236a5674" ], [ "Steel.ST.HigherArray.offset", @@ -190,7 +190,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "f5d25b56998d35d1f3289e80188ad537" + "69fe30ff2eaf51283acc82b2f2b9adc2" ], [ "Steel.ST.HigherArray.ptr_base_offset_inj", @@ -221,7 +221,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "826e40ccd17e4df76840b38fae669ae2" + "c1e7bf17c021ad03219dccaa66f7cd0c" ], [ "Steel.ST.HigherArray.base_len_null_ptr", @@ -259,7 +259,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "ec55dc2e4a2586c7f192b344e1ee8e75" + "e0e5aba422ceee2a70439da42a27091e" ], [ "Steel.ST.HigherArray.null", @@ -276,7 +276,7 @@ "projection_inverse_Steel.ST.HigherArray.Mkptr_offset" ], 0, - "549b60324d4cb1481890b8a6a2efb6fe" + "c231dfa8be6713911a116073f6d3d8ff" ], [ "Steel.ST.HigherArray.is_null", @@ -308,7 +308,7 @@ "typing_FStar.Ghost.reveal", "typing_Steel.ST.HigherArray.ptr_of" ], 0, - "48399f10d813c1d42c464c86260581dd" + "e57f986e465175f640edd59a3164248d" ], [ "Steel.ST.HigherArray.length_fits", @@ -350,7 +350,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "938f74015d3fc2ec1857ebb40eb80770" + "b0da7d8d73b5cca2306c85cc30ba6dba" ], [ "Steel.ST.HigherArray.change_r_pts_to", @@ -359,7 +359,7 @@ 1, [ "@query" ], 0, - "75e5d714d541dd4e71af02b868184c67" + "55c80c1a212ee1ead6e31b6552d13d58" ], [ "Steel.ST.HigherArray.intro_pts_to", @@ -368,7 +368,7 @@ 1, [ "@query", "equation_Steel.ST.HigherArray.pts_to" ], 0, - "023716a8634a46466bc93be85f169ab9" + "a138fa1270b0688b520b4a39a8ce607d" ], [ "Steel.ST.HigherArray.elim_pts_to", @@ -384,7 +384,7 @@ "fuel_guarded_inversion_Steel.ST.HigherArray.ptr" ], 0, - "3fa8e88ab05a6783647060c10aacb0ec" + "fc3edddcc97ac889bbca27d81a4bebf6" ], [ "Steel.ST.HigherArray.pts_to_length", @@ -393,7 +393,7 @@ 1, [ "@query" ], 0, - "f4fbda58d8fff19a949c7f122902869d" + "5b15973330c31bf0904a66a044e4f5a4" ], [ "Steel.ST.HigherArray.pts_to_not_null", @@ -413,7 +413,7 @@ "projection_inverse_Steel.ST.HigherArray.Mkptr_base" ], 0, - "f9732e046142571a27d65a54d2745dc1" + "6a7bd826c62bf036f4fa9942d3ddf63e" ], [ "Steel.ST.HigherArray.mk_carrier_joinable", @@ -434,7 +434,8 @@ "equation_FStar.PCM.compatible", "equation_FStar.PCM.composable", "equation_FStar.PCM.joinable", "equation_FStar.PCM.op", "equation_FStar.PCM.symrel", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Steel.PCMFrac.composable", + "equation_Prims.nat", "equation_Steel.FractionalPermission.sum_perm", + "equation_Steel.PCMFrac.composable", "equation_Steel.PCMFrac.compose", "equation_Steel.PCMFrac.fractional", "equation_Steel.PCMFrac.pcm_frac", @@ -463,7 +464,8 @@ "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_map_literal", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_eq_intro", - "primitive_FStar.Real.op_Greater_Dot", "primitive_Prims.op_Addition", + "primitive_FStar.Real.op_Greater_Dot", + "primitive_FStar.Real.op_Plus_Dot", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", @@ -478,6 +480,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_0f24dcc3a6d66c317e8f97bfa66f90af", "refinement_interpretation_Tm_refine_3f54e9b64bb1cf73ff37c7c9d439498d", @@ -505,7 +508,7 @@ "typing_Tm_abs_8df8d936b22581ecdbe713ae38b02893" ], 0, - "c7ad9df0dd9064a3dd8cf48c48eb879a" + "c4f23cf818e422fe41845901d91f0ca6" ], [ "Steel.ST.HigherArray.pure_star_interp'", @@ -517,7 +520,7 @@ "typing_Steel.Memory.emp", "typing_Steel.Memory.star" ], 0, - "79e7d8f21979b1c2ac64abf7083498d7" + "7149d57acf80925bc6c7bdeb08266de7" ], [ "Steel.ST.HigherArray.pts_to_inj", @@ -574,7 +577,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "f8ca31a5047fe89f2c96ff0d36db8876" + "66f4547e2c3ad4efd22605b6f30c8d37" ], [ "Steel.ST.HigherArray.malloc0", @@ -637,7 +640,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "34dee4aac28a9a29e4530466058adf8c" + "792bf4d86e208e777eb17d6d8b2578a5" ], [ "Steel.ST.HigherArray.malloc_ptr", @@ -650,7 +653,7 @@ "refinement_interpretation_Tm_refine_d73e3fc94b4a0410d5b2c1b1dee021cc" ], 0, - "398b1daf322a1d454fb33caf52e71352" + "ff4bc119de7c27a53c2378543e3757ff" ], [ "Steel.ST.HigherArray.malloc_ptr", @@ -658,11 +661,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "data_elim_Steel.ST.HigherArray.Mkptr", - "equation_FStar.Pervasives.dsnd", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Steel.ST.Loops_interpretation_Tm_arrow_5a32ac0dedcda7595e2f65ff0f343045", + "data_elim_Prims.Mkdtuple2", "data_elim_Steel.ST.HigherArray.Mkptr", + "data_typing_intro_Prims.Mkdtuple2@tok", + "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Steel.FractionalPermission.full_perm", "equation_Steel.ST.HigherArray.array", + "equation_Steel.ST.HigherArray.base", + "equation_Steel.ST.HigherArray.base_len", "equation_Steel.ST.HigherArray.length", "equation_Steel.ST.HigherArray.offset", "equation_Steel.ST.HigherArray.ptr_of", @@ -670,26 +679,35 @@ "equation_Steel.ST.HigherArray.pts_to0", "fuel_guarded_inversion_Prims.dtuple2", "fuel_guarded_inversion_Steel.ST.HigherArray.ptr", "int_inversion", + "interpretation_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb", "interpretation_Tm_abs_fcfe9f60ec170514e41c53e5cf7cd07d", - "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", - "proj_equation_Prims.Mkdtuple2__1", + "kinding_Prims.dtuple2@tok", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Seq.Base.lemma_create_len", + "primitive_Prims.op_Addition", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", "proj_equation_Steel.ST.HigherArray.Mkptr_base", + "proj_equation_Steel.ST.HigherArray.Mkptr_base_len", "proj_equation_Steel.ST.HigherArray.Mkptr_offset", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6d290dd5bf9de64e920184945808cf55", "refinement_interpretation_Tm_refine_9d103ca0aacdf1b4c69ec1699d5a03d1", + "refinement_interpretation_Tm_refine_bc1c1729592ce7e79d9c15b6b777822b", "refinement_interpretation_Tm_refine_d73e3fc94b4a0410d5b2c1b1dee021cc", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Ghost.reveal", "typing_FStar.SizeT.t", + "typing_Steel.ST.HigherArray.__proj__Mkptr__item__base", + "typing_Steel.ST.HigherArray.__proj__Mkptr__item__base_len", "typing_Steel.ST.HigherArray.base", "typing_Steel.ST.HigherArray.base_len", - "typing_Steel.ST.HigherArray.ptr_of" + "typing_Steel.ST.HigherArray.ptr_of", + "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "62022d5724f3734ea1afcbe612bddc0d" + "ac6bd1003a946eb0b36d58a3af7f2110" ], [ "Steel.ST.HigherArray.malloc", @@ -713,7 +731,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0ffa98ef3b0a0b1659484cd7abccb083" + "e3775dbe91dd459fd4c7c9ba88c6fc73" ], [ "Steel.ST.HigherArray.free_ptr", @@ -726,7 +744,7 @@ "refinement_interpretation_Tm_refine_5d1cf68529c2886f2bc525fc810440a9" ], 0, - "5966f4c4bca09c77d9d49e29803498f8" + "9cb0ee3648d84d0fd5c92877478a99d7" ], [ "Steel.ST.HigherArray.free_ptr", @@ -752,7 +770,7 @@ "typing_Steel.ST.HigherArray.base_len" ], 0, - "195219c454860301e8438068634d3833" + "970ef025d6c8b579dead4c58679d99b9" ], [ "Steel.ST.HigherArray.free", @@ -785,7 +803,7 @@ "typing_Steel.ST.HigherArray.ptr_of" ], 0, - "6b1a6c998bf8833e1680ceeaa2e93cd9" + "205ec7c029e0a9eabf7ea83954a19189" ], [ "Steel.ST.HigherArray.mk_carrier_share", @@ -880,7 +898,7 @@ "typing_Tm_abs_8df8d936b22581ecdbe713ae38b02893" ], 0, - "7ad3e7130f7442df830433b32fbe99ee" + "b337cf61fc32b4f36012ad60f6aa4a68" ], [ "Steel.ST.HigherArray.share", @@ -945,7 +963,7 @@ "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47" ], 0, - "385228c1bdfcd71914a733ccdf41d180" + "ae7f035fb828c6effa9a78248d7ac552" ], [ "Steel.ST.HigherArray.mk_carrier_gather", @@ -1039,7 +1057,7 @@ "typing_Tm_abs_8df8d936b22581ecdbe713ae38b02893" ], 0, - "fde2f7a9de7e01710a3aba9900dc2885" + "bde43f09b67c2604b5526f8d38712398" ], [ "Steel.ST.HigherArray.mk_carrier_valid_sum_perm", @@ -1114,7 +1132,7 @@ "typing_Tm_abs_8df8d936b22581ecdbe713ae38b02893" ], 0, - "373b08879898a9c8f2807fcf78ebd01d" + "43f166cca2f2107fe318f25b301def28" ], [ "Steel.ST.HigherArray.gather", @@ -1149,6 +1167,8 @@ "primitive_Prims.op_Addition", "proj_equation_FStar.PCM.Mkpcm_p", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", + "proj_equation_Steel.ST.HigherArray.Mkptr_base_len", + "proj_equation_Steel.ST.HigherArray.Mkptr_offset", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.PCM.Mkpcm_p", "projection_inverse_Prims.Mkdtuple2__1", @@ -1166,7 +1186,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "d904dd2e96c0ce4e130e5ca64a7ca7d3" + "ea727092602cd6ea58e428c4f017c4fd" ], [ "Steel.ST.HigherArray.index0", @@ -1176,22 +1196,26 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Ghost_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.PCM_interpretation_Tm_arrow_4418db7552582748ab4bfa39672e55e0", "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Steel.FractionalPermission_pretyping_e01b0bd6c9f46bf8a816cebad841c6b2", "Steel.ST.HigherArray_interpretation_Tm_arrow_117adae945126f3ad92b29bdff305dcd", "Steel.ST.Loops_interpretation_Tm_arrow_5a32ac0dedcda7595e2f65ff0f343045", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_Prims.Mkdtuple2", + "data_elim_Prims.Mkdtuple2", "data_elim_Steel.FractionalPermission.MkPerm", "data_typing_intro_Prims.Mkdtuple2@tok", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.PCM.compatible", "equation_FStar.PCM.composable", - "equation_FStar.PCM.op", "equation_FStar.Pervasives.Native.fst", + "equation_FStar.PCM.op", "equation_FStar.PCM.symrel", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Steel.FractionalPermission.sum_perm", - "equation_Steel.PCMFrac.composable", + "equation_Steel.Memory.ref", "equation_Steel.PCMFrac.composable", "equation_Steel.PCMFrac.compose", "equation_Steel.PCMFrac.fractional", "equation_Steel.PCMFrac.pcm_frac", @@ -1214,7 +1238,6 @@ "fuel_guarded_inversion_Steel.FractionalPermission.perm", "fuel_guarded_inversion_Steel.ST.HigherArray.ptr", "function_token_typing_FStar.PCM.__proj__Mkpcm___item__composable", - "function_token_typing_FStar.PCM.__proj__Mkpcm___item__op", "function_token_typing_Prims.int", "function_token_typing_Steel.PCMFrac.compose", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", @@ -1225,13 +1248,18 @@ "interpretation_Tm_abs_8df8d936b22581ecdbe713ae38b02893", "interpretation_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb", "interpretation_Tm_abs_fcfe9f60ec170514e41c53e5cf7cd07d", - "kinding_Prims.dtuple2@tok", "l_and-interp", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Prims.dtuple2@tok", + "kinding_Steel.FractionalPermission.perm@tok", "l_and-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_map_literal", + "lemma_FStar.Pervasives.invertOption", "primitive_FStar.Real.op_Greater_Dot", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.PCM.Mkpcm__composable", + "proj_equation_FStar.PCM.Mkpcm__one", "proj_equation_FStar.PCM.Mkpcm__op", "proj_equation_FStar.PCM.Mkpcm_p", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1242,6 +1270,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.PCM.Mkpcm__composable", + "projection_inverse_FStar.PCM.Mkpcm__one", "projection_inverse_FStar.PCM.Mkpcm__op", "projection_inverse_FStar.PCM.Mkpcm_p", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -1257,29 +1286,28 @@ "refinement_interpretation_Tm_refine_8d24a8ed0792f3ba8f451fa9e50aefec", "refinement_interpretation_Tm_refine_9d103ca0aacdf1b4c69ec1699d5a03d1", "refinement_interpretation_Tm_refine_bc1c1729592ce7e79d9c15b6b777822b", + "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", "refinement_interpretation_Tm_refine_ee8d08f6f92924cdaadccaf51ed33f39", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f29697cdc3bff18c0d672127ea70f23a", "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op", "token_correspondence_Steel.PCMFrac.compose", "token_correspondence_Steel.PCMMap.composable_maps", "token_correspondence_Steel.PCMMap.compose_maps", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.sel", "typing_FStar.Seq.Base.seq", - "typing_FStar.SizeT.t", "typing_FStar.SizeT.v", - "typing_Steel.PCMFrac.fractional", + "typing_FStar.Map.map_literal", "typing_FStar.Map.sel", + "typing_FStar.PCM.__proj__Mkpcm___item__one", + "typing_FStar.PCM.__proj__Mkpcm__item__p", "typing_FStar.SizeT.t", + "typing_FStar.SizeT.v", "typing_Steel.Memory.core_ref_is_null", + "typing_Steel.PCMFrac.fractional", "typing_Steel.PCMFrac.pcm_frac", "typing_Steel.ST.HigherArray.__proj__Mkptr__item__base", - "typing_Steel.ST.HigherArray.__proj__Mkptr__item__base_len", "typing_Steel.ST.HigherArray.__proj__Mkptr__item__offset", - "typing_Steel.ST.HigherArray.index_t", - "typing_Steel.ST.HigherArray.mk_carrier", "typing_Steel.ST.HigherArray.ptr_of", "typing_Tm_abs_5188755db2ead4251e1b8bdb6dbf5d47", "typing_Tm_abs_8df8d936b22581ecdbe713ae38b02893", "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "667920c26f6e3ccacc8af3cf8fa179c3" + "55fe4629beb6c68637d26853c103d12e" ], [ "Steel.ST.HigherArray.index_ptr", @@ -1288,7 +1316,7 @@ 1, [ "@query" ], 0, - "bd3675a87f2c04fadb48b5f50173a98f" + "65c1ba51a981bae1ad970ea0bb11855b" ], [ "Steel.ST.HigherArray.index_ptr", @@ -1303,7 +1331,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "6bc96479d0f5f357bceb185df5d0c042" + "647fd2f16f49d128133980bdea08fb37" ], [ "Steel.ST.HigherArray.index", @@ -1324,7 +1352,7 @@ "refinement_interpretation_Tm_refine_9d103ca0aacdf1b4c69ec1699d5a03d1" ], 0, - "e916652909fc6c71d3b7474ea53e21ba" + "537a43f711b632438d4faf0c7c114ab0" ], [ "Steel.ST.HigherArray.mk_carrier_upd", @@ -1395,7 +1423,7 @@ "typing_Tm_abs_8df8d936b22581ecdbe713ae38b02893" ], 0, - "61d44384544b16a6146a79dc994da5ac" + "0f16869850eaef3705574b8b92dfc501" ], [ "Steel.ST.HigherArray.upd0", @@ -1474,7 +1502,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "87b9014c60350d7e9e996ecf6ef5ad83" + "6cd53d0d8daf4902bd83edbccd2f77bc" ], [ "Steel.ST.HigherArray.upd_ptr", @@ -1486,7 +1514,7 @@ "refinement_interpretation_Tm_refine_7b1ec96d0f5266207133419d2f47e967" ], 0, - "0424d33390e6c6a5aec3c16e7ab8fb5d" + "96fadff8082a0c9308ff5f1dbcdbfa83" ], [ "Steel.ST.HigherArray.upd_ptr", @@ -1498,7 +1526,7 @@ "refinement_interpretation_Tm_refine_7b1ec96d0f5266207133419d2f47e967" ], 0, - "38f83ad270a4f6934710e9855390d6bd" + "9237e17a708843ff8dd73a3c2c97200b" ], [ "Steel.ST.HigherArray.upd", @@ -1518,7 +1546,7 @@ "refinement_interpretation_Tm_refine_7b1ec96d0f5266207133419d2f47e967" ], 0, - "e7273a2999b85f93dbbddd38e1435113" + "fbb60db1bffe966603fc0377bfd8244e" ], [ "Steel.ST.HigherArray.merge", @@ -1548,7 +1576,7 @@ "typing_Steel.ST.HigherArray.ptr_of" ], 0, - "5ef3efa9bea2b2ffe23a57e263d840cc" + "eb548573eab29df98a636c4a1f42f7a2" ], [ "Steel.ST.HigherArray.merge_assoc", @@ -1582,7 +1610,7 @@ "typing_Steel.ST.HigherArray.merge" ], 0, - "2b1722773e163062c0e41c056fade271" + "be2f1d270f4b4883784ff555eb3754da" ], [ "Steel.ST.HigherArray.mk_carrier_merge", @@ -1632,7 +1660,7 @@ "interpretation_Tm_abs_8df8d936b22581ecdbe713ae38b02893", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Steel.FractionalPermission.perm@tok", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Map.lemma_map_literal", "lemma_FStar.Pervasives.invertOption", @@ -1654,7 +1682,6 @@ "projection_inverse_FStar.PCM.Mkpcm_p", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_3f54e9b64bb1cf73ff37c7c9d439498d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", @@ -1681,7 +1708,7 @@ "typing_Tm_abs_8df8d936b22581ecdbe713ae38b02893" ], 0, - "eb3606e618d0332b2fbf2a3410ba92d2" + "9a1c535ef91249fd0c6d44eaaa6e74df" ], [ "Steel.ST.HigherArray.ghost_join", @@ -1693,7 +1720,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e86ebb1d721d0b1b6fcf61faf9ee837b" + "ae0346ec9e7af5619e77e1fa4b679032" ], [ "Steel.ST.HigherArray.ghost_join", @@ -1785,7 +1812,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "e5778011fed0a6ae192b42896764aaa1" + "638f198d4a3ee9a40ef96c69208f3f59" ], [ "Steel.ST.HigherArray.join", @@ -1797,7 +1824,7 @@ "lemma_FStar.Ghost.hide_reveal", "typing_Steel.ST.HigherArray.array" ], 0, - "e78cac5e647ec7d0442c34fe24c1852a" + "f9c211e46d1d77f28d11e288011489d3" ], [ "Steel.ST.HigherArray.split_l", @@ -1818,7 +1845,7 @@ "refinement_interpretation_Tm_refine_9d103ca0aacdf1b4c69ec1699d5a03d1" ], 0, - "24dc002f292cd831a330bbfe19c30688" + "0913232e586d1ae501615165943465d9" ], [ "Steel.ST.HigherArray.mk_carrier_split", @@ -1891,6 +1918,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_3f54e9b64bb1cf73ff37c7c9d439498d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", @@ -1917,7 +1945,7 @@ "typing_Tm_abs_8df8d936b22581ecdbe713ae38b02893" ], 0, - "7cccab3202ace8d746bcb5b82d9a2a85" + "aad6e6531822fb8bb588d413737e8724" ], [ "Steel.ST.HigherArray.ptr_shift", @@ -1959,7 +1987,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "786860dced30e8217ae6bae8a472fd8d" + "4edac7a0c94e970588dae5804b48f9c1" ], [ "Steel.ST.HigherArray.ptr_shift_zero", @@ -1984,7 +2012,7 @@ "typing_Steel.ST.HigherArray.offset" ], 0, - "64897afa1df4012cb74f82a38429eff0" + "e423847509d54acf5ef28654da5fd760" ], [ "Steel.ST.HigherArray.split_r", @@ -2004,6 +2032,7 @@ "equation_Steel.ST.HigherArray.split_l", "fuel_guarded_inversion_Prims.dtuple2", "fuel_guarded_inversion_Steel.ST.HigherArray.ptr", "int_inversion", + "int_typing", "interpretation_Tm_abs_fcfe9f60ec170514e41c53e5cf7cd07d", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", @@ -2022,7 +2051,7 @@ "typing_Steel.ST.HigherArray.length" ], 0, - "b0efb1c6ea2567d9ecf1e14a45b78264" + "40467797ec74a297d420e9477e7e0b96" ], [ "Steel.ST.HigherArray.ghost_split", @@ -2044,7 +2073,7 @@ "refinement_interpretation_Tm_refine_6887a9b71cb9ed4b9e82123436fd9139" ], 0, - "9b91f907e6523d88e8e79f69ce801292" + "d85ed868a05bcb42c5f7605a48653fbd" ], [ "Steel.ST.HigherArray.ghost_split", @@ -2154,7 +2183,7 @@ "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "bf6c0b23ae01e4dd384050618a53d0a1" + "b948c7b51fe76451e2af8cfe8bafc6a6" ], [ "Steel.ST.HigherArray.blit_post", @@ -2172,7 +2201,7 @@ "typing_FStar.SizeT.v" ], 0, - "e2e31a5be4b7ff69c31a552c0ac5f8ad" + "63b78a6dd4b48cfe8b5cc62a1c7efdbd" ], [ "Steel.ST.HigherArray.prefix_copied", @@ -2187,7 +2216,7 @@ "refinement_interpretation_Tm_refine_edd36345991f48e8c27a6d3e7bd044ac" ], 0, - "5a3b0a91e56340988ef6c2f349594188" + "0f73aaa6d2479834b393fd2b2b1c26e3" ], [ "Steel.ST.HigherArray.memcpy0", @@ -2242,22 +2271,27 @@ "typing_FStar.Seq.Base.slice", "typing_FStar.SizeT.v" ], 0, - "93a8711be06d48336c4e4c7bd206b807" + "3455b2c34b6a097621c81bedafe663be" ], [ "Steel.ST.HigherArray.blit0", 1, 2, - 1, + 2, [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", + "@MaxIFuel_assumption", "@query", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Steel.ST.Loops_interpretation_Tm_arrow_5a32ac0dedcda7595e2f65ff0f343045", + "data_elim_Prims.Mkdtuple2", "data_elim_Steel.FractionalPermission.MkPerm", "data_typing_intro_Prims.Mkdtuple2@tok", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.nat", - "equation_Steel.Effect.Common.prop_and", + "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", + "equation_Prims.eqtype", "equation_Prims.l_True", + "equation_Prims.nat", "equation_Steel.Effect.Common.prop_and", "equation_Steel.ST.HigherArray.adjacent", "equation_Steel.ST.HigherArray.array", + "equation_Steel.ST.HigherArray.base", + "equation_Steel.ST.HigherArray.base_len", "equation_Steel.ST.HigherArray.blit_post", "equation_Steel.ST.HigherArray.length", "equation_Steel.ST.HigherArray.merge_into", @@ -2270,8 +2304,9 @@ "fuel_guarded_inversion_Steel.FractionalPermission.perm", "fuel_guarded_inversion_Steel.ST.HigherArray.ptr", "int_inversion", "int_typing", + "interpretation_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb", "interpretation_Tm_abs_fcfe9f60ec170514e41c53e5cf7cd07d", - "kinding_Steel.ST.HigherArray.ptr@tok", + "kinding_Prims.dtuple2@tok", "kinding_Steel.ST.HigherArray.ptr@tok", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -2280,6 +2315,7 @@ "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.SizeT.size_v_inj", "primitive_FStar.Real.op_Greater_Dot", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Prims.Mkdtuple2__1", @@ -2292,6 +2328,7 @@ "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_Steel.ST.HigherArray.Mkptr_offset", "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_207024d2522be2ff59992eb07d6dc785", "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_3f54e9b64bb1cf73ff37c7c9d439498d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", @@ -2302,6 +2339,7 @@ "refinement_interpretation_Tm_refine_9d103ca0aacdf1b4c69ec1699d5a03d1", "refinement_interpretation_Tm_refine_aaba12536b8ad6b6f6bdd609ede57095", "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_bc1c1729592ce7e79d9c15b6b777822b", "refinement_interpretation_Tm_refine_bc794efef298412ab2f5f5f1d314258c", "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", @@ -2310,15 +2348,19 @@ "typing_FStar.Ghost.reveal", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Base.slice", "typing_FStar.SizeT.t", - "typing_FStar.SizeT.v", "typing_Prims.__proj__Mkdtuple2__item___1", + "typing_FStar.SizeT.uint_to_t", "typing_FStar.SizeT.v", + "typing_Prims.__proj__Mkdtuple2__item___1", + "typing_Steel.ST.HigherArray.__proj__Mkptr__item__base", + "typing_Steel.ST.HigherArray.__proj__Mkptr__item__base_len", "typing_Steel.ST.HigherArray.array", "typing_Steel.ST.HigherArray.length", "typing_Steel.ST.HigherArray.merge", "typing_Steel.ST.HigherArray.offset", - "typing_Steel.ST.HigherArray.ptr_of" + "typing_Steel.ST.HigherArray.ptr_of", + "typing_Tm_abs_b9f2f314aa104b98b6ac05ab46e1d8bb" ], 0, - "ee34fd5e3471a66b67c0679540b07bec" + "9fad6bf60d2bebdd9ece6bcd69478714" ], [ "Steel.ST.HigherArray.blit_ptr", @@ -2333,7 +2375,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "df339eb9fb8ec91593b044a69422429b" + "1390a19c97dddf5feebc44a2e43338cb" ], [ "Steel.ST.HigherArray.blit", @@ -2350,7 +2392,7 @@ "proj_equation_Prims.Mkdtuple2__2", "true_interp" ], 0, - "6732f1503a6df8404ebb18f1ccaae19f" + "bc42f825ef38ec422cbc54bb5240da00" ], [ "Steel.ST.HigherArray.memcpy", @@ -2374,7 +2416,7 @@ "typing_FStar.SizeT.v", "typing_Steel.ST.HigherArray.length" ], 0, - "e6655259ee6a933942ef877ec9ba393a" + "45260d2688cbdbdb86008e7a081776d0" ], [ "Steel.ST.HigherArray.ptrdiff_ptr", @@ -2383,7 +2425,7 @@ 1, [ "@query", "equation_Steel.ST.HigherArray.offset" ], 0, - "5933d4ed934804ef154115f27a2eca5d" + "88041bfb7f30d1da47dd70f46ae3f92c" ], [ "Steel.ST.HigherArray.ptrdiff", @@ -2399,7 +2441,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "319c4b07d45674f1b8e3f1a5631043e1" + "74c5591f7d23a0d60fbf137eccaf0fd4" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.HigherArray.fsti.hints b/lib/steel/Steel.ST.HigherArray.fsti.hints index 9ffc9ac73..9801c0086 100644 --- a/lib/steel/Steel.ST.HigherArray.fsti.hints +++ b/lib/steel/Steel.ST.HigherArray.fsti.hints @@ -14,7 +14,7 @@ "typing_Steel.ST.HigherArray.offset" ], 0, - "dd1efecdf4e141dea7e74edded727123" + "c61713b46fa846416403e745958e60dc" ], [ "Steel.ST.HigherArray.is_null", @@ -43,7 +43,7 @@ "typing_Steel.ST.HigherArray.ptr_of" ], 0, - "03c98552d5409b9a931f071133d9afec" + "e57f986e465175f640edd59a3164248d" ], [ "Steel.ST.HigherArray.malloc_ptr", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_d73e3fc94b4a0410d5b2c1b1dee021cc" ], 0, - "45f0c5f0bbd8c89dc92012902bd40426" + "cfc7ee1436220c27fc10a574bbdf03bd" ], [ "Steel.ST.HigherArray.malloc", @@ -78,7 +78,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d6d083d1d61670313afab9c6dc2292f6" + "e3775dbe91dd459fd4c7c9ba88c6fc73" ], [ "Steel.ST.HigherArray.free_ptr", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_5d1cf68529c2886f2bc525fc810440a9" ], 0, - "125f02fe8b50ce99c9f909d597f68f3a" + "8f11f89e75a48574ff36ff34c8dff7b9" ], [ "Steel.ST.HigherArray.free", @@ -119,7 +119,7 @@ "typing_Steel.ST.HigherArray.ptr_of" ], 0, - "677d1e6cbe0d0a461144b8497c956924" + "205ec7c029e0a9eabf7ea83954a19189" ], [ "Steel.ST.HigherArray.index_ptr", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "1894c785d5a6ef433761a2146c9b2bcc" + "e04375676a8220a22ad36f86c16dc49c" ], [ "Steel.ST.HigherArray.index", @@ -148,7 +148,7 @@ "refinement_interpretation_Tm_refine_9d103ca0aacdf1b4c69ec1699d5a03d1" ], 0, - "b88ddff47a802077c343dcbe13a2a938" + "537a43f711b632438d4faf0c7c114ab0" ], [ "Steel.ST.HigherArray.upd_ptr", @@ -160,7 +160,7 @@ "refinement_interpretation_Tm_refine_7b1ec96d0f5266207133419d2f47e967" ], 0, - "c870c5e241ad2cad5c2669cbbde2f7ed" + "02d43894cabee1592bc7f016318b9218" ], [ "Steel.ST.HigherArray.upd", @@ -178,7 +178,7 @@ "refinement_interpretation_Tm_refine_7b1ec96d0f5266207133419d2f47e967" ], 0, - "9dd0c99f0c8e74b06e6ec4304af3846b" + "fbb60db1bffe966603fc0377bfd8244e" ], [ "Steel.ST.HigherArray.merge", @@ -205,7 +205,7 @@ "typing_Steel.ST.HigherArray.length" ], 0, - "feb66540bc554ffb8fd4dc0c0e25921b" + "eb548573eab29df98a636c4a1f42f7a2" ], [ "Steel.ST.HigherArray.merge_assoc", @@ -214,7 +214,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "defn_equation_Steel.ST.HigherArray.adjacent", "equation_FStar.Pervasives.dsnd", "equation_Prims.nat", "equation_Steel.ST.HigherArray.adjacent", @@ -222,9 +221,8 @@ "equation_Steel.ST.HigherArray.length", "equation_Steel.ST.HigherArray.merge", "equation_Steel.ST.HigherArray.ptr_of", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", + "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", + "int_typing", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Mkdtuple2__1", @@ -236,7 +234,7 @@ "typing_Steel.ST.HigherArray.merge" ], 0, - "debe94fbeee400489e288e786531650a" + "be2f1d270f4b4883784ff555eb3754da" ], [ "Steel.ST.HigherArray.ghost_join", @@ -248,7 +246,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c097617e9a9b347d4605a6591cf151fa" + "2450a9dd9ba9c390d197e73fe1d9b3b6" ], [ "Steel.ST.HigherArray.join", @@ -260,7 +258,7 @@ "lemma_FStar.Ghost.hide_reveal", "typing_Steel.ST.HigherArray.array" ], 0, - "fdbf061715a1ed54ed330eef4cbb088b" + "f9c211e46d1d77f28d11e288011489d3" ], [ "Steel.ST.HigherArray.split_l", @@ -280,7 +278,7 @@ "refinement_interpretation_Tm_refine_9d103ca0aacdf1b4c69ec1699d5a03d1" ], 0, - "4c631ef38ac48c3cd8dadbfa3556f987" + "0913232e586d1ae501615165943465d9" ], [ "Steel.ST.HigherArray.ptr_shift_zero", @@ -296,7 +294,7 @@ "typing_Steel.ST.HigherArray.offset" ], 0, - "1ebd4d3a528a8bd452dedc4ee7c977d1" + "a4766c0bb7cd4563f461141c5d118366" ], [ "Steel.ST.HigherArray.split_r", @@ -314,6 +312,7 @@ "equation_Steel.ST.HigherArray.ptr_of", "equation_Steel.ST.HigherArray.split_l", "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", + "int_typing", "interpretation_Tm_abs_fcfe9f60ec170514e41c53e5cf7cd07d", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", @@ -332,7 +331,7 @@ "typing_Steel.ST.HigherArray.length" ], 0, - "d9ee149d05e3b6fdae55bc692f25ee42" + "40467797ec74a297d420e9477e7e0b96" ], [ "Steel.ST.HigherArray.ghost_split", @@ -355,7 +354,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.SizeT.v" ], 0, - "2e2fa6853a42b70bd625bc8c1a22508b" + "d85ed868a05bcb42c5f7605a48653fbd" ], [ "Steel.ST.HigherArray.blit_post", @@ -373,7 +372,7 @@ "typing_FStar.SizeT.v" ], 0, - "9f160435b1dfeabe2de80c9608208ac8" + "63b78a6dd4b48cfe8b5cc62a1c7efdbd" ], [ "Steel.ST.HigherArray.blit", @@ -390,7 +389,7 @@ "proj_equation_Prims.Mkdtuple2__2", "true_interp" ], 0, - "857b32bec9f600d1c49631787781861a" + "751ab3f4a5cc545964b03645fd517208" ], [ "Steel.ST.HigherArray.memcpy", @@ -413,7 +412,7 @@ "typing_FStar.SizeT.v", "typing_Steel.ST.HigherArray.length" ], 0, - "8b04ec8c1518b4558558bb62d5abf957" + "45260d2688cbdbdb86008e7a081776d0" ], [ "Steel.ST.HigherArray.ptrdiff", @@ -429,7 +428,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "a83aefdd7e631774fedb343af3aba02d" + "f5a3abb3cf33cb298d32800d49a847a6" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.HigherReference.fst.hints b/lib/steel/Steel.ST.HigherReference.fst.hints index 11eafb79a..3f67f3535 100644 --- a/lib/steel/Steel.ST.HigherReference.fst.hints +++ b/lib/steel/Steel.ST.HigherReference.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Steel.ST.HigherReference.null" ], 0, - "7b3bc4adfbbb9b7d13f6465928b62ecb" + "d0e231b55dcbdbe981342d25bb1f437d" ], [ "Steel.ST.HigherReference.pts_to_injective_eq", @@ -17,7 +17,7 @@ 1, [ "@query", "lemma_FStar.Ghost.reveal_hide" ], 0, - "fd9eaa0eb3cfcb7423ea424d21c41d95" + "c1ad9c6a5a374f88611a6c07b358fcd1" ], [ "Steel.ST.HigherReference.pts_to_not_null", @@ -38,7 +38,7 @@ "typing_Steel.ST.HigherReference.pts_to" ], 0, - "430a487e69d09068fa08a7b7cde0d3e0" + "77c72b492e21d5c969766ac2f119a83b" ], [ "Steel.ST.HigherReference.alloc", @@ -47,7 +47,7 @@ 1, [ "@query", "equation_Steel.ST.HigherReference.is_null" ], 0, - "d82019cb9c7a6ce3bfbde5c7bc13649a" + "aa6b4a2e1d9289194a3f87abab5cf1ca" ], [ "Steel.ST.HigherReference.read", @@ -56,7 +56,7 @@ 1, [ "@query" ], 0, - "69f4ee2cc9fa05b207585175cd671e04" + "bc2fc1b2592df3ea53d1cd022a05d190" ], [ "Steel.ST.HigherReference._push_frame", @@ -65,7 +65,7 @@ 1, [ "@query", "equation_Steel.ST.HigherReference._stack_frame" ], 0, - "1042c606b6b9fb9588ba371eb837e84b" + "3ef551b72c2d68d6ce3d46ed244ee618" ], [ "Steel.ST.HigherReference._free_and_pop_frame", @@ -74,7 +74,7 @@ 1, [ "@query", "equation_Steel.ST.HigherReference._stack_frame" ], 0, - "876eacceeabb001fd9c828256b5a5267" + "137d3fcd42a5b789eebb200bd326793c" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Loops.Util.fst.hints b/lib/steel/Steel.ST.Loops.Util.fst.hints index 3f1d6a984..5d8839d7f 100644 --- a/lib/steel/Steel.ST.Loops.Util.fst.hints +++ b/lib/steel/Steel.ST.Loops.Util.fst.hints @@ -12,7 +12,7 @@ "token_correspondence_Steel.ST.Loops.Util.repeat_until_inv" ], 0, - "78ec335422ca473448007a3b7765e20f" + "a8b635668859ff762964ebfdfeca6a42" ], [ "Steel.ST.Loops.Util.repeat_until_body", @@ -26,7 +26,7 @@ "token_correspondence_Steel.ST.Loops.Util.repeat_until_inv" ], 0, - "2fe796b463ab715c03d7ffde430bd00d" + "5388b8cb685c8cae25fdd4d0ed40ddc5" ], [ "Steel.ST.Loops.Util.repeat_until", @@ -42,7 +42,7 @@ "true_interp" ], 0, - "70b2d8e07306657965b28b6013e3fa69" + "89ba6a41928ac641c484aad6c60ea503" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Loops.fst.hints b/lib/steel/Steel.ST.Loops.fst.hints index 5168dcd8e..7ff8fbca3 100644 --- a/lib/steel/Steel.ST.Loops.fst.hints +++ b/lib/steel/Steel.ST.Loops.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "1baaa548562a8dce7d0c680ba90cf6f5" + "85ff3a84013f3b8c839ee01e0d71bc47" ], [ "Steel.ST.Loops.for_loop'", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "b34c01ff38af17ff8cd9f7a56e1d4e6e" + "897f7b40278b8ca961df538b8a1093b4" ], [ "Steel.ST.Loops.for_loop", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "6d7b5aba64c2d4d03f8115d94d94269f" + "fa2a157211f953426f0f0885a59675ab" ], [ "Steel.ST.Loops.for_loop", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "57349f1508882674f898bbb55b389876" + "6cef73e9a89ce29fac0d9a9fe9a7b74b" ], [ "Steel.ST.Loops.for_loop", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_4102cf3bbb19f9fe0428d2e5a32fadcb" ], 0, - "7b06b725818585ff16fd64ac833e117a" + "eb03f5f6ccd979401e257e5c3d9e1194" ], [ "Steel.ST.Loops.while_loop'", @@ -82,7 +82,7 @@ 1, [ "@query" ], 0, - "8eb96d67292871080b0c227741373ae6" + "2836137fc02180b4eda307147602801e" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Loops.fsti.hints b/lib/steel/Steel.ST.Loops.fsti.hints index aafaad17b..8359d1648 100644 --- a/lib/steel/Steel.ST.Loops.fsti.hints +++ b/lib/steel/Steel.ST.Loops.fsti.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_a1d502d8e0b172ffcd22072c2bb46a53" ], 0, - "03f949adebd70f40af84327f4ac45f61" + "fcb932ef197f606d95b910f12490ba81" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.PCMReference.fst.hints b/lib/steel/Steel.ST.PCMReference.fst.hints index 478b6ffb1..fb8e698d2 100644 --- a/lib/steel/Steel.ST.PCMReference.fst.hints +++ b/lib/steel/Steel.ST.PCMReference.fst.hints @@ -19,7 +19,7 @@ "typing_Steel.Effect.Common.to_vprop_", "typing_Steel.Memory.pts_to" ], 0, - "cf97c2c5475d93e281794e54c071e5c7" + "a1024b363cd0a26f6ee6891ea4666477" ], [ "Steel.ST.PCMReference.split", @@ -28,7 +28,7 @@ 1, [ "@query" ], 0, - "c60082f5022fc16ac5f3b4882ed7c89a" + "bd3ea57d333bd4a763e8d10c2fa11465" ], [ "Steel.ST.PCMReference.split", @@ -37,7 +37,7 @@ 1, [ "@query" ], 0, - "e8cd913f5182b7a1e9a587929690fc62" + "f9ca3f9045c56303d0145d626109910c" ], [ "Steel.ST.PCMReference.gather", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "e53ca0673625c23aef62b1ca1bece214" + "1b2da9735a49721a4d35b609c148dcbf" ], [ "Steel.ST.PCMReference.gather", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "599a42127a3329b3b2b4875171294636" + "29983019669a57a1ad6962987ee6e89e" ], [ "Steel.ST.PCMReference.witness'", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_816f3fe7bd55a9e3150fe37777137c20" ], 0, - "b78eed75caf8ee4354d0a85e6a66d850" + "6cbf0316490f086f3a1bb274c7715bbe" ], [ "Steel.ST.PCMReference.select_refine", @@ -83,7 +83,7 @@ 1, [ "@query" ], 0, - "7043f10f15a23f534d8f63831724b366" + "e871fc1a06e936e0a7e7c35c402bb35b" ], [ "Steel.ST.PCMReference.select_refine", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "af060f449dff5cf34f6550a69c41b498" + "24773e43e19bfb8cc0affa5464d0f5dc" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.PCMReference.fsti.hints b/lib/steel/Steel.ST.PCMReference.fsti.hints index dd0493879..a7f55ae13 100644 --- a/lib/steel/Steel.ST.PCMReference.fsti.hints +++ b/lib/steel/Steel.ST.PCMReference.fsti.hints @@ -19,7 +19,7 @@ "typing_Steel.Effect.Common.to_vprop_", "typing_Steel.Memory.pts_to" ], 0, - "2224fe1d332f59df0dfad24862cbba1b" + "3606cb7d20c64b86d769edd533f625da" ], [ "Steel.ST.PCMReference.split", @@ -28,7 +28,7 @@ 1, [ "@query" ], 0, - "2cc79d718ff9db809a61f17a745cf850" + "224134f33154cc3e9c4e13679aa90614" ], [ "Steel.ST.PCMReference.gather", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_625413e9a3a548e616103efddf1886c4" ], 0, - "f30e3d172e378ba28dcf02a73a37e1b2" + "1b2da9735a49721a4d35b609c148dcbf" ], [ "Steel.ST.PCMReference.select_refine", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "908dc8b8d74c80ec2bc2a1ed2aa4f44f" + "172883620b8381f19703427e3b809c00" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Printf.fst.hints b/lib/steel/Steel.ST.Printf.fst.hints index b4f85f302..9727db7d0 100644 --- a/lib/steel/Steel.ST.Printf.fst.hints +++ b/lib/steel/Steel.ST.Printf.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "2bc87e877df0647c5216b80a2562093d" + "0a2e66880ebbcf45d14fc47d2d3afead" ], [ "Steel.ST.Printf.arg", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_Steel.ST.Printf.base_typ__uu___haseq" ], 0, - "f9b1b2e39a5091c53175a8b06205ee20" + "ac89db4dddf07f3d228a190dcb744eef" ], [ "Steel.ST.Printf.__proj__Base__item___0", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_79d8ccd8c37df1c4b26c0fb2fcb02d38" ], 0, - "c4133fa1df02e2560c30a16ba476b5cf" + "0f6398e286aabe1b19e5a68abef55733" ], [ "Steel.ST.Printf.__proj__Array__item___0", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_4806ad876b7cd960d699ad0f220b8d33" ], 0, - "09b54e4f908e0e9d8739dd9a76c2b6f1" + "5067d918eb6ea67b3192a1541a8c6b19" ], [ "Steel.ST.Printf.base_typ_as_type", @@ -65,7 +65,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b94470679975350cef3127e049f66b92" + "18f09564ca32ff48f9c8a4441215b305" ], [ "Steel.ST.Printf.fragment", @@ -74,7 +74,7 @@ 1, [ "@query", "assumption_Steel.ST.Printf.arg__uu___haseq" ], 0, - "f0cdb838f871995c1a8180f661792e8a" + "1ccb4b02347512e5496e09491f6de955" ], [ "Steel.ST.Printf.__proj__Frag__item___0", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_d1d0267946b89e88ec7390bf2d54657f" ], 0, - "61cd5613f25af30a9cc5233129cfcb7f" + "a17920c3b3fbeb5f46e61f89aabf4862" ], [ "Steel.ST.Printf.__proj__Interpolate__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_9097c6b5735f9fbe86226cb569242333" ], 0, - "624748d0ea41a9d4fc3bec046e5e089f" + "d778bcde868fb034dab07519c84f571d" ], [ "Steel.ST.Printf.parse_format", @@ -136,7 +136,7 @@ "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "0628e16bd4cc61a32a208eaa8c729d54" + "5bc98864b0f54b3d37b6a8cace8c03fb" ], [ "Steel.ST.Printf.lift", @@ -145,7 +145,7 @@ 1, [ "@query" ], 0, - "faa7dbceb4e7c1b4f3a52384e812ff6c" + "d0af0daa4a85be1fe88b981c099ffbaf" ], [ "Steel.ST.Printf.arg_t", @@ -162,7 +162,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8d7d55cfaeaea32e50dcbc8a3832e8c5" + "b38682b94c063103b48dbbfa53006e0d" ], [ "Steel.ST.Printf.live_frag0", @@ -190,7 +190,7 @@ "typing_Prims.__proj__Mkdtuple2__item___1" ], 0, - "53de01ca17c0d46c206f93f46f31d755" + "c9866343156eebc977804497cd894f20" ], [ "Steel.ST.Printf.live_frags", @@ -206,7 +206,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "e210d7b059e214575c69e16889270a1a" + "df25b4b49eb70c96d08118303847ee43" ], [ "Steel.ST.Printf.interpret_frags", @@ -237,7 +237,7 @@ "typing_Steel.ST.Printf.__proj__Interpolate__item___0" ], 0, - "bd07f70838d3d204292ef2435773f5cf" + "f828c017d269a1643cb227bfd82b2785" ], [ "Steel.ST.Printf.coerce", @@ -249,7 +249,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "4fafa0cb897f431ba290adce1d9f394c" + "5a061ae61b750cd89da33e6a5bc6445b" ], [ "Steel.ST.Printf.print_lmbuffer_gen", @@ -269,7 +269,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "e898c3479b81108322feefb72563f991" + "2d1fb85f224e64509457ae991b82c19d" ], [ "Steel.ST.Printf.print_frag", @@ -333,7 +333,7 @@ "typing_Tm_abs_0eccdbfe278ff51ad78f734e2e3cd433" ], 0, - "81e45e0c787aa3e93d952a415e622e2f" + "ac493212c874a398cc45683af958bd06" ], [ "Steel.ST.Printf.print_frags", @@ -351,7 +351,7 @@ "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0" ], 0, - "248d689b9199f611b40a7ef32d0a9dad" + "4af54a4058dea6a10b96b50267f5460b" ], [ "Steel.ST.Printf.aux", @@ -396,7 +396,7 @@ "typing_Steel.ST.Printf.__proj__Interpolate__item___0" ], 0, - "bb85cf3f76d257274765d63339aae11e" + "58be0752a3fae4fb6b5c3abe657ab7ac" ], [ "Steel.ST.Printf.interpret_format_string", @@ -424,7 +424,7 @@ "typing_Steel.ST.Printf.parse_format_string" ], 0, - "915f3df9da75b4aed692b45475f16788" + "21c58d99dbf0416fe46eacb7d8e6621c" ], [ "Steel.ST.Printf.printf'", @@ -457,7 +457,7 @@ "typing_Steel.ST.Printf.parse_format_string" ], 0, - "28bbd9f91aad33dd1f9e3058356484b1" + "c3f0bbca5b922add0d3fad862f5ae702" ], [ "Steel.ST.Printf.intro_normal_f", @@ -466,7 +466,7 @@ 1, [ "@query" ], 0, - "69ef4b51505d4bf5c8237045d62ef5d9" + "052ed6b814b4087e3fa9e36b84e1360d" ], [ "Steel.ST.Printf.skip'", @@ -499,7 +499,7 @@ "typing_Steel.ST.Printf.parse_format_string" ], 0, - "097d18e4ec2786230efba01b06e6ef74" + "977fe6b247a85ad0942869816a3b0d6d" ], [ "Steel.ST.Printf.test_printf", @@ -508,7 +508,7 @@ 1, [ "@query" ], 0, - "4a5fbd62ac822b5ad89f20db3303baf9" + "aa60ad1bbc58225a099f1424f1f12985" ], [ "Steel.ST.Printf.test_printf", @@ -517,7 +517,7 @@ 1, [ "@query" ], 0, - "0d50b3a7e2694c842ba3606e08f6c82a" + "e2515c7ec0a4063152ba48cfaa026073" ], [ "Steel.ST.Printf.test3_printf", @@ -526,7 +526,7 @@ 1, [ "@query" ], 0, - "d5ba444aaa6adfda6b8447da0016aadd" + "111ccb2cdf954bf287b36df100928ad9" ], [ "Steel.ST.Printf.test3_printf", @@ -535,7 +535,7 @@ 1, [ "@query" ], 0, - "8f6d6d8ab4634ccae25647be3b6a4179" + "e2515c7ec0a4063152ba48cfaa026073" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Reference.fst.hints b/lib/steel/Steel.ST.Reference.fst.hints index 1bbc6afd5..c2d955843 100644 --- a/lib/steel/Steel.ST.Reference.fst.hints +++ b/lib/steel/Steel.ST.Reference.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Steel.ST.Reference.null" ], 0, - "acf96b33596fde20fb43bc3b0858b024" + "489bd07abf9f6e095680c48135b283dd" ], [ "Steel.ST.Reference.pts_to_injective_eq", @@ -17,7 +17,7 @@ 1, [ "@query", "lemma_FStar.Ghost.reveal_hide" ], 0, - "7397b2ab72a9eb58f40f462605071728" + "f42a2b7505cb7631ef8bde7e0c8312ad" ], [ "Steel.ST.Reference.pts_to_not_null", @@ -39,7 +39,7 @@ "typing_Steel.ST.Reference.pts_to" ], 0, - "cef1be4543847a84637c15719a7eec1d" + "657f90dd13c81649f512cc7cdcd3594d" ], [ "Steel.ST.Reference.alloc", @@ -48,7 +48,7 @@ 1, [ "@query", "equation_Steel.ST.Reference.is_null" ], 0, - "5c8db3c438010219a17b5f0b22fdc297" + "3efdb6073ac1165676eeb18075e0d8fc" ], [ "Steel.ST.Reference.read", @@ -57,7 +57,7 @@ 1, [ "@query" ], 0, - "e62545341792eab4d503e480d5c610b2" + "268291e8584938afee251e724cfcf204" ], [ "Steel.ST.Reference._push_frame", @@ -66,7 +66,7 @@ 1, [ "@query", "equation_Steel.ST.Reference._stack_frame" ], 0, - "cdb1c164adaffb219e1806f0c85d52db" + "6f94bec1177627fd61dca7af43ca99f4" ], [ "Steel.ST.Reference._free_and_pop_frame", @@ -75,7 +75,7 @@ 1, [ "@query", "equation_Steel.ST.Reference._stack_frame" ], 0, - "b36d90c055d12da50b651eb7984d2f99" + "7574bdde03cbb6d96ea984bc046af1d8" ], [ "Steel.ST.Reference.gather", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "36dae182d1b4cd618724ef6515c3b96f" + "524eb719e94a9733fcb82bddca390d25" ], [ "Steel.ST.Reference.atomic_read_u32", @@ -96,7 +96,7 @@ 1, [ "@query" ], 0, - "1691651a7b5f4f88c2159e568097858c" + "2a2cb0d6747a35d2ef2236c89780b506" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.SpinLock.fst.hints b/lib/steel/Steel.ST.SpinLock.fst.hints index 495e0e21a..ef9aa9ef2 100644 --- a/lib/steel/Steel.ST.SpinLock.fst.hints +++ b/lib/steel/Steel.ST.SpinLock.fst.hints @@ -36,7 +36,7 @@ "typing_FStar.UInt32.t", "typing_Prims.pow2" ], 0, - "ce08c4e9d9546010793f051eae3541ac" + "93dec372cc01b909faab78e3aaf5918d" ], [ "Steel.ST.SpinLock.acquire_loop_cond", @@ -64,7 +64,7 @@ "typing_Tm_abs_d716b89c7122244f867c074692bc6a31" ], 0, - "585f9f8d317b74506e7b4df4abb33207" + "6dde22b6c66b54271e84b0fbe7d1114b" ], [ "Steel.ST.SpinLock.acquire", @@ -80,7 +80,7 @@ "token_correspondence_Steel.ST.SpinLock.acquire_loop_inv" ], 0, - "27d37f7de4a88fb9019c20e93d7356e3" + "207eeb7bbe59ccfdcfd3cb757372e0b6" ], [ "Steel.ST.SpinLock.release_core", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_de1985a880ca8a3ebec6498be5265747" ], 0, - "c240613398a71847e23dd3b507087df1" + "c68e066e4f4b1bb50521d4ad69773325" ], [ "Steel.ST.SpinLock.release", @@ -124,7 +124,7 @@ "typing_Tm_abs_d716b89c7122244f867c074692bc6a31" ], 0, - "da60cd8d0fdd8cfa031c1f616acf7bbd" + "2ab70f60137987803bc66a8e2be48be9" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Util.fst.hints b/lib/steel/Steel.ST.Util.fst.hints index 1edb3519c..fee2a2026 100644 --- a/lib/steel/Steel.ST.Util.fst.hints +++ b/lib/steel/Steel.ST.Util.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "13d1ba6f3fbde508f115c5b1bd5cda8d" + "73b9de1dbd8583b0774fa0ea7eec7ae8" ], [ "Steel.ST.Util.rewrite_with_tactic", @@ -20,7 +20,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "6ec275f94f349ed6f6266a0496aa9b0b" + "2c780029b6f5f5cb7cf1a162bb974cb8" ], [ "Steel.ST.Util.rewrite_equiv", @@ -37,7 +37,7 @@ "typing_Steel.Effect.Common.hp_of" ], 0, - "df65749f8b16349a8fc73f5c48af70f1" + "a64c7706a8fe6e5462375e7af4983ec6" ], [ "Steel.ST.Util.reveal_pure", @@ -46,7 +46,7 @@ 1, [ "@query", "equation_Steel.ST.Util.pure" ], 0, - "61e327fe9d957a7e34aa9594a2c0d623" + "c6c4dc7c0bd1e4b17a824cf67209f468" ], [ "Steel.ST.Util.extract_pure", @@ -55,7 +55,7 @@ 1, [ "@query" ], 0, - "3b62acdab72de2d5ede66c2ac2954826" + "66bade36f559b626c5a60ed835c91578" ], [ "Steel.ST.Util.intro_can_be_split_pure'", @@ -75,7 +75,7 @@ "typing_Steel.Effect.Common.emp", "typing_Steel.ST.Util.pure" ], 0, - "590d61de240476c70cb925dd3a173956" + "7958c99607bcdae39211733fa89fd9c2" ], [ "Steel.ST.Util.intro_can_be_split_pure", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3274bd35ebaf455b8139cd653e5e7c5e" + "bcac02b0c9b305d0b42aaf19e3b4c26f" ], [ "Steel.ST.Util.intro_can_be_split_forall_dep_pure", @@ -100,7 +100,7 @@ "interpretation_Tm_abs_6ebde0e0bc31e1490142ba1fbb3410a5" ], 0, - "f00a58c20b1177d4f90d4cd444985404" + "0949763e925cbda2a57944bb4209c020" ], [ "Steel.ST.Util.return0", @@ -109,7 +109,7 @@ 1, [ "@query" ], 0, - "a790b662db25d7141ffbbf113cf97962" + "db45723207d70cc29814194e1f50b618" ], [ "Steel.ST.Util.intro_can_be_split_exists", @@ -135,7 +135,7 @@ "typing_Steel.ST.Util.exists_" ], 0, - "7bce9337ce6ee97a9ee0669e49bfdf44" + "5c0ed56f08b3ffaa501346370ef7316d" ], [ "Steel.ST.Util.intro_can_be_split_forall_dep_exists", @@ -148,7 +148,7 @@ "interpretation_Tm_abs_537ed8a44990d10208b895650033818e" ], 0, - "279c23555fb5f61f9f9c980c5f698947" + "43ccce52fa8f5bcc23224de1122b8b98" ], [ "Steel.ST.Util.exists_equiv", @@ -157,7 +157,7 @@ 1, [ "@query", "equation_Steel.ST.Util.exists_" ], 0, - "d16aa6720ef2b36f707327474b0fae4d" + "f3a4cbcee1472b453a01a232f9f23215" ], [ "Steel.ST.Util.with_invariant", @@ -174,7 +174,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "ecac4a797afa263ea7066a12a285be3c" + "88dd0ce37dda37bcd7508d60b576508a" ], [ "Steel.ST.Util.with_invariant_g", @@ -183,7 +183,7 @@ 1, [ "@query" ], 0, - "6a8beac9af4d500b0b8d8cb6a208deca" + "416c912f310bbb9d8de15695e4f887fd" ], [ "Steel.ST.Util.par", @@ -192,7 +192,7 @@ 1, [ "@query" ], 0, - "f5bef0e09cecf5d5ab417c996abc9d2a" + "496dddf608129eead0786047cbee0067" ], [ "Steel.ST.Util.vpattern", @@ -201,7 +201,7 @@ 1, [ "@query" ], 0, - "07285653ef8796e6e2c866c145ec1d61" + "55f5cc600656c7f311f572b059bd300a" ], [ "Steel.ST.Util.vpattern_replace", @@ -210,7 +210,7 @@ 1, [ "@query" ], 0, - "c9c32026540fa4f76c356ccef951b7d2" + "aabbb7f8d1383ddf8aac32fc0d408822" ], [ "Steel.ST.Util.vpattern_erased", @@ -219,7 +219,7 @@ 1, [ "@query", "lemma_FStar.Ghost.reveal_hide" ], 0, - "17cafee02a6c06c81cd89d129889862b" + "9ea3c260210f76dadee719b7c1c56ae2" ], [ "Steel.ST.Util.vpattern_replace_erased", @@ -228,7 +228,7 @@ 1, [ "@query", "lemma_FStar.Ghost.reveal_hide" ], 0, - "20b360d74c81bd1802a23d82389158c8" + "62a27b03bd4ef3af753d81ac969d3590" ], [ "Steel.ST.Util.vpattern_replace_erased_global", @@ -237,7 +237,7 @@ 1, [ "@query", "lemma_FStar.Ghost.reveal_hide" ], 0, - "0b5c294242d4072353a6bdabea96ef04" + "5e6a86d70893cd2cec7c04c4b1ea1d11" ], [ "Steel.ST.Util.vpattern_rewrite", @@ -246,7 +246,7 @@ 1, [ "@query" ], 0, - "bfafa6c19929f283201116e8ae3d7dc4" + "5e5a0b8b0ab9b048540c7a77ba3a4efa" ], [ "Steel.ST.Util.implies_unfold", @@ -255,7 +255,7 @@ 1, [ "@query" ], 0, - "e1161e31a7053c92d256096785527b6d" + "4198465daf5d7601295c79e312c7a653" ], [ "Steel.ST.Util.implies_apply", @@ -268,7 +268,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9c63a143189fe8f3ab3a59eda2393f8a" + "184521dde5e5eb7d3a5f2c72efaeb0f9" ], [ "Steel.ST.Util.implies_fold", @@ -277,7 +277,7 @@ 1, [ "@query" ], 0, - "a07c1f2e7baa50a9e0d08a9f2057007a" + "b34a72d285bb6e2ca8b60453d7b4af19" ], [ "Steel.ST.Util.wand_is_implies", @@ -286,7 +286,7 @@ 1, [ "@query" ], 0, - "d3b0ff5816aa0d7fba08c5cc1c7ac150" + "f3d05ce714ad156de3f6ac5eaaefdfd5" ], [ "Steel.ST.Util.wand_is_implies", @@ -311,7 +311,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "ecf0b695bfec10cadb7d8e9c9cc04651" + "71f9b36aee929ff5292a8ce0ca8fdc10" ], [ "Steel.ST.Util.intro_forall", @@ -320,7 +320,7 @@ 1, [ "@query" ], 0, - "07841cdd2002c18da60a35e2b1712a2b" + "61a245028db229019c1c894ed3733dbe" ], [ "Steel.ST.Util.forall_apply", @@ -333,7 +333,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a8a9627e977d8462fa088cedf2a89088" + "378a0c15ea757a179fbffe8a44739916" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.ST.Util.fsti.hints b/lib/steel/Steel.ST.Util.fsti.hints index 222b074b2..8bb328e00 100644 --- a/lib/steel/Steel.ST.Util.fsti.hints +++ b/lib/steel/Steel.ST.Util.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "86e79aef3ea3c97afb60d2528f2b35b3" + "451e7cde09c7b2339ab132a28ee16438" ], [ "Steel.ST.Util.wand_is_implies", @@ -33,7 +33,7 @@ "typing_Steel.Effect.Common.star" ], 0, - "9ff5acd90a8b72dcefac5e957c7e086a" + "71f9b36aee929ff5292a8ce0ca8fdc10" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Semantics.Hoare.MST.fst.hints b/lib/steel/Steel.Semantics.Hoare.MST.fst.hints index b49f19537..47ac91b52 100644 --- a/lib/steel/Steel.Semantics.Hoare.MST.fst.hints +++ b/lib/steel/Steel.Semantics.Hoare.MST.fst.hints @@ -8,7 +8,7 @@ 2, [ "@query" ], 0, - "b791dd665b894933bdaea2fca922d93d" + "c195b4cbcb23295aefbe90127f07ebee" ], [ "Steel.Semantics.Hoare.MST.join_commutative", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_c2e491512975669ac514d6adbdd69363" ], 0, - "2d92223d50d9dc8c2550a6db9c3d238b" + "5a306cc7912648bb372eebdaeb464054" ], [ "Steel.Semantics.Hoare.MST.join_associative", @@ -31,7 +31,7 @@ 2, [ "@query" ], 0, - "b246502dfb5dd6a55434443980694a53" + "33cfaa2fae3ef07c001d0b6fb8311c77" ], [ "Steel.Semantics.Hoare.MST.lemma_weaken_depends_only_on", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_6b5cc4f05252540ee41347ac5694b55d" ], 0, - "0700eecf4cc593b7bce460288366e1b8" + "e36e7b594b50e7ef41d7af138a5a0e67" ], [ "Steel.Semantics.Hoare.MST.st_laws", @@ -63,7 +63,7 @@ 2, [ "@query" ], 0, - "25b7fefa20be9a1fdb8e902af924db8a" + "cc0f734898f399aa1f37809a4d9eaf49" ], [ "Steel.Semantics.Hoare.MST.get", @@ -72,7 +72,7 @@ 2, [ "@query" ], 0, - "34240ef0b9bf14f963693e224a6bfc13" + "2c269d3fc81498c1dc31516def12a355" ], [ "Steel.Semantics.Hoare.MST.return_lpre", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_f6e2dd8dfb4bc549cb03e5fd018cee0d" ], 0, - "3eb5c1e770d50308a374fb777a892f73" + "c2ae3853b1f4e8ffef80f07692076d6e" ], [ "Steel.Semantics.Hoare.MST.frame_lpre", @@ -141,7 +141,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "0834c99e584a30b47ac48dea4b22e404" + "c374124ce6cf3ed3d0d064ee1ada2207" ], [ "Steel.Semantics.Hoare.MST.frame_lpost", @@ -187,7 +187,7 @@ "typing_Tm_abs_5a397107efe360fdca0db747cfe89c9d" ], 0, - "30bbf3a9b7e1177023885d66e027f033" + "508daec503f6b50c19195609403e3019" ], [ "Steel.Semantics.Hoare.MST.bind_lpre", @@ -218,7 +218,7 @@ "refinement_interpretation_Tm_refine_f6e2dd8dfb4bc549cb03e5fd018cee0d" ], 0, - "a071538cf6aefdfcd4576bb351bc6a44" + "5cb3217b8a98468dde12bf8a2af06a53" ], [ "Steel.Semantics.Hoare.MST.bind_lpost", @@ -247,7 +247,7 @@ "refinement_interpretation_Tm_refine_f6e2dd8dfb4bc549cb03e5fd018cee0d" ], 0, - "ef081e95478d05a9993529163d9668c8" + "8d4b6859cfc3c7e733764ddea4b0532d" ], [ "Steel.Semantics.Hoare.MST.par_lpre", @@ -286,7 +286,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "5e2032f2fc27578c5a26daa5c2b01441" + "cf250a440a3552afd55955006a6a4140" ], [ "Steel.Semantics.Hoare.MST.par_lpost", @@ -338,7 +338,7 @@ "typing_Tm_abs_59b41591af89bbc958c3490acbd3372a" ], 0, - "312fe43e4957685cd80f83baf379e14d" + "0fdd6b3eeed41900b95dcba72478156e" ], [ "Steel.Semantics.Hoare.MST.__proj__Ret__item__a", @@ -350,7 +350,7 @@ "refinement_interpretation_Tm_refine_81b987df71c84370a6b30995e7b7517b" ], 0, - "21dd21654105327c5426418329f62685" + "49a6ae40961ef515b7d3d0b9f41371b3" ], [ "Steel.Semantics.Hoare.MST.__proj__Ret__item__post", @@ -363,7 +363,7 @@ "refinement_interpretation_Tm_refine_81b987df71c84370a6b30995e7b7517b" ], 0, - "5681b9655d8b8ccd56e818c4aca91ace" + "480ad803d0cd7875be54e82b0bdba7d2" ], [ "Steel.Semantics.Hoare.MST.__proj__Ret__item__x", @@ -376,7 +376,7 @@ "refinement_interpretation_Tm_refine_81b987df71c84370a6b30995e7b7517b" ], 0, - "c170a87f8eedfeb23449c1a4e84e0823" + "aa38989e5eb10bb8aef834e1cabba9d5" ], [ "Steel.Semantics.Hoare.MST.__proj__Ret__item__lpost", @@ -389,7 +389,7 @@ "refinement_interpretation_Tm_refine_81b987df71c84370a6b30995e7b7517b" ], 0, - "0f947a3ac0f9be539503b655c6efafbd" + "39a6954539c3e80a2e79652a50de8180" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__a", @@ -401,7 +401,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "4be0eabcddbbf72159c7f08bfcac2c5f" + "e708ab95c8b974310d6d642e63aea499" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__pre", @@ -413,7 +413,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "d6501e57a467aed47927b551040b5d0d" + "b7356a96518f051b0e1a233a86e0696e" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__post_a", @@ -426,7 +426,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "7f7005f998b7438f20cedddefebe6825" + "d89ee2fafb859a304f78f2806437b720" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__lpre_a", @@ -439,7 +439,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "ee91a7ef84e5ff5a1d4bd694324a69c1" + "d613a4e3800415f87c5c5cd90abc66f5" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__lpost_a", @@ -452,7 +452,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "2e5ded397989271b95bc4554c1142803" + "1f03331319f6eebef4ce16524f3011da" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__b", @@ -464,7 +464,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "c50b6f03268ed125d89a4a1bf6fe5936" + "8b6fcf265ab6e3a4079df3d153dea748" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__post_b", @@ -477,7 +477,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "00f07cea8a12a0ddf1c7c896b07c130b" + "898dc1da2ed769a3a261fcdc7c156cb8" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__lpre_b", @@ -490,7 +490,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "9a0768ad3e1018e62e22275491791dce" + "e028b517d13f9b796b8db686c87bd286" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__lpost_b", @@ -503,7 +503,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "4a0156006d032a1947fb9947f6698992" + "fed057d097058471d2eb1eb7ce6e0dc2" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__f", @@ -516,7 +516,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "e47d47d32533bcdced146c2685a45714" + "555123e6b35d00d1e6f1f2a296ffddcb" ], [ "Steel.Semantics.Hoare.MST.__proj__Bind__item__g", @@ -529,7 +529,7 @@ "refinement_interpretation_Tm_refine_8de15f4b0b381f2c0274a97bf72deb4f" ], 0, - "11492ccae5638626f4f55628e42e6189" + "7587c05549b9ce5258106ca2caa5b7a4" ], [ "Steel.Semantics.Hoare.MST.__proj__Act__item__a", @@ -541,7 +541,7 @@ "refinement_interpretation_Tm_refine_fd71f6896b5a763f15563bd63daf859c" ], 0, - "682ab55fc33067a04d02aa7323829826" + "8d02fc65680f8a981541edeb88a5c828" ], [ "Steel.Semantics.Hoare.MST.__proj__Act__item__pre", @@ -553,7 +553,7 @@ "refinement_interpretation_Tm_refine_fd71f6896b5a763f15563bd63daf859c" ], 0, - "a55c22ef1965bd88d6799f931f9f3bdc" + "d4ce6a48b11761f53661e2e200118c42" ], [ "Steel.Semantics.Hoare.MST.__proj__Act__item__post", @@ -566,7 +566,7 @@ "refinement_interpretation_Tm_refine_fd71f6896b5a763f15563bd63daf859c" ], 0, - "1c0076eaab41cf529ce4151ac020155d" + "cac5a5eaf9dbf4964e7b7ccda431008f" ], [ "Steel.Semantics.Hoare.MST.__proj__Act__item__lpre", @@ -579,7 +579,7 @@ "refinement_interpretation_Tm_refine_fd71f6896b5a763f15563bd63daf859c" ], 0, - "baf7d2120dcfd0bdbc34af4d7b7088c0" + "5506439259b936ebd75ce4a63c630558" ], [ "Steel.Semantics.Hoare.MST.__proj__Act__item__lpost", @@ -592,7 +592,7 @@ "refinement_interpretation_Tm_refine_fd71f6896b5a763f15563bd63daf859c" ], 0, - "56c4b4bc7c17cf8ec717c264c926fdc3" + "327095ac5cdca9ee80a43723e1d22c79" ], [ "Steel.Semantics.Hoare.MST.__proj__Act__item__f", @@ -605,7 +605,7 @@ "refinement_interpretation_Tm_refine_fd71f6896b5a763f15563bd63daf859c" ], 0, - "44da7a96c675c4a1af3159b97425eb09" + "a872889af8e21d1d92c32178b02a115e" ], [ "Steel.Semantics.Hoare.MST.__proj__Frame__item__a", @@ -617,7 +617,7 @@ "refinement_interpretation_Tm_refine_52988b82cb19e8db7a3e2af893e6b32e" ], 0, - "391b468a294b2724714528b555acbe1f" + "97f08a2ddaba608d08f6a31dd5c319c0" ], [ "Steel.Semantics.Hoare.MST.__proj__Frame__item__pre", @@ -629,7 +629,7 @@ "refinement_interpretation_Tm_refine_52988b82cb19e8db7a3e2af893e6b32e" ], 0, - "72f42964840bdfd1774f4329f823f989" + "389745d45d1727520d835410626f91cc" ], [ "Steel.Semantics.Hoare.MST.__proj__Frame__item__post", @@ -642,7 +642,7 @@ "refinement_interpretation_Tm_refine_52988b82cb19e8db7a3e2af893e6b32e" ], 0, - "246e7c2cdd175726115bae91791038d2" + "606d5a98efe3e8edb4b86995432be679" ], [ "Steel.Semantics.Hoare.MST.__proj__Frame__item__lpre", @@ -655,7 +655,7 @@ "refinement_interpretation_Tm_refine_52988b82cb19e8db7a3e2af893e6b32e" ], 0, - "6bdb30d8a967a091bac19165f7aec22b" + "7a021462e9d9e02a27540168b3119cbf" ], [ "Steel.Semantics.Hoare.MST.__proj__Frame__item__lpost", @@ -668,7 +668,7 @@ "refinement_interpretation_Tm_refine_52988b82cb19e8db7a3e2af893e6b32e" ], 0, - "3d43fd3b0b8ba6718a09ac9b59879d71" + "0ffc879f8049ca8478a6d4a09ed55f1b" ], [ "Steel.Semantics.Hoare.MST.__proj__Frame__item__f", @@ -681,7 +681,7 @@ "refinement_interpretation_Tm_refine_52988b82cb19e8db7a3e2af893e6b32e" ], 0, - "b7a1d00436d99c0dc39004fda04e74f9" + "98cf8e45a19f89572c3a64039e37b5d2" ], [ "Steel.Semantics.Hoare.MST.__proj__Frame__item__frame", @@ -693,7 +693,7 @@ "refinement_interpretation_Tm_refine_52988b82cb19e8db7a3e2af893e6b32e" ], 0, - "601e32e3fbd7cfc0dd7de3fe23234c50" + "59e7f4cbfd9d51b30047e742a8b97021" ], [ "Steel.Semantics.Hoare.MST.__proj__Frame__item__f_frame", @@ -706,7 +706,7 @@ "refinement_interpretation_Tm_refine_52988b82cb19e8db7a3e2af893e6b32e" ], 0, - "8d74e085de493a8efca8c238ec10effe" + "59901a34c5b7d328fa8ca2e5d6a825b5" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__aL", @@ -718,7 +718,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "d00a2dc5d9c9da3dfdc149411fd4871f" + "e7982a903efa1e93c8b990b4472dc7b4" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__preL", @@ -730,7 +730,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "b81edb1fe475d67322c407ca75d8e495" + "bf0f1a9a6391ec17402703223b1e5f85" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__postL", @@ -743,7 +743,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "cf364bd4037c839801c585f9c66cc61d" + "38ff9a5b2b146e0728417a98c32c647c" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__lpreL", @@ -756,7 +756,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "66ddfaa3cd86422ec2252a1435984adb" + "4a63d743c3bb0003f78c1f3aa17d5a59" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__lpostL", @@ -769,7 +769,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "c6dd9ed463c271f8053f2df7eae95c2e" + "9396ed9979d28639aca4f7de94dc1125" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__mL", @@ -782,7 +782,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "283241e8d9554122167eb149d7804584" + "0159998d68145cf13c771ab7cb9896cd" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__aR", @@ -794,7 +794,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "01c42ee5c18ae5c80b327d1d2cbd76c2" + "6d0b76b5652681ee9cad2ed7a202bd08" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__preR", @@ -806,7 +806,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "996e373e14685239028785039cd80d20" + "6c548bf3028b1724210525643668aea5" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__postR", @@ -819,7 +819,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "6596a7bb46adad4f37f44694c05cfa9e" + "61ae7d7ba4883c7dc8fed0a7f4344b92" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__lpreR", @@ -832,7 +832,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "e790f12173620f298eec2610e6dc2b68" + "2f4c2ecf6e1cf17eee2d47b07310a82e" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__lpostR", @@ -845,7 +845,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "cd7200b025491fc10949fd8cb0f0a44e" + "a565dec1df14fa2bdf538cd02a0436db" ], [ "Steel.Semantics.Hoare.MST.__proj__Par__item__mR", @@ -858,7 +858,7 @@ "refinement_interpretation_Tm_refine_97c4b6c368e81365f2cb2490970a277b" ], 0, - "f15a95e7d883854581cb8253eb549871" + "69b4bdc5b272fd6a40c81ed67bf838ec" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__a", @@ -870,7 +870,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "9342418d02ab9a9af7212da67f2d8b0e" + "1a97d9d67c01af515d57e627c05fdf64" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__pre", @@ -882,7 +882,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "9723e93d30dfe6ab208c3f0badbea16b" + "3e0e029cbaa7dcb70ac6b74cf10463e1" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__post", @@ -895,7 +895,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "81e9e4c75b86c450ed2f078a75eb4fb7" + "3853725cd7101602705fb551d441ca8e" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__lpre", @@ -908,7 +908,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "87783106c82adacbe3d8c3bb70974959" + "44a12874260e7d465ca43b92d6a2186f" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__lpost", @@ -921,7 +921,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "fcd48aec2a20fff8a54a2e97ccf70fe4" + "6cb21380de60e178d1899f73d7ccc549" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__wpre", @@ -933,7 +933,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "53d35422062e80c10c4d49975f9d9059" + "c77ceff4e3f2519f3f1cf3a5aed98c69" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__wpost", @@ -946,7 +946,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "ede82e7fbd89757c501e6c2a926a9431" + "4348fed3538347d297d4b647b91bdc0d" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__wlpre", @@ -959,7 +959,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "2e864e54d5e9bee2f65825031cf36423" + "88c0456777fd9c231e1c80fd5b155eed" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__wlpost", @@ -972,7 +972,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "91c09dbdb4566c60f7c56ab70bae4318" + "f09e13148be86d45569a7f83c0a588c3" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item__uu___0", @@ -985,7 +985,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "fe3c864f7855a7af5d8ca2f7833b39d4" + "b7bab6759da1452a06372f4fa4d0997e" ], [ "Steel.Semantics.Hoare.MST.__proj__Weaken__item___10", @@ -998,7 +998,7 @@ "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035" ], 0, - "4f98bc55c6741da674871cba4f337f8e" + "160eceb87578451b0be2de4613e0155c" ], [ "Steel.Semantics.Hoare.MST.apply_assoc", @@ -1016,7 +1016,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "41fee963c2c1eba725d1d0da72c95f4b" + "05345748b90e7bd43d3d6b187d960ac7" ], [ "Steel.Semantics.Hoare.MST.equals_ext_left", @@ -1034,7 +1034,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "6fdff19d55477d85dc0b219e592c1e49" + "8645607998616f87e3cda2a2cef0ae88" ], [ "Steel.Semantics.Hoare.MST.equals_ext_right", @@ -1057,7 +1057,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "03e225011367bbf854d9049f10f6b217" + "733f2a00d77f228aec3145c008fde58f" ], [ "Steel.Semantics.Hoare.MST.commute_star_right", @@ -1076,7 +1076,7 @@ "refinement_interpretation_Tm_refine_f6e2dd8dfb4bc549cb03e5fd018cee0d" ], 0, - "1d6c55b3ff7f041ddca833b7aa360228" + "1869abc3f6e41944bde537cd9dca1bb5" ], [ "Steel.Semantics.Hoare.MST.assoc_star_right", @@ -1101,7 +1101,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "691c6f937a854c994da464f0af5a48ed" + "4ca17cbb512bbdf342e80f11a0f39782" ], [ "Steel.Semantics.Hoare.MST.commute_assoc_star_right", @@ -1125,7 +1125,7 @@ "refinement_interpretation_Tm_refine_f6e2dd8dfb4bc549cb03e5fd018cee0d" ], 0, - "a96ff61a637536947e2b0a923dda17c6" + "7c3544f58dd732fd193981e2c27a0820" ], [ "Steel.Semantics.Hoare.MST.commute_star_par_l", @@ -1154,7 +1154,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "e908e99d2919837e80e6e264d1397c24" + "dd7921abb4a64a99e0455304cdd0c972" ], [ "Steel.Semantics.Hoare.MST.commute_star_par_r", @@ -1185,7 +1185,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "d584acfaa45c1f3dad4d924e88d59b67" + "95031e2cfa66a8a5aff36a576d39bce8" ], [ "Steel.Semantics.Hoare.MST.apply_interp_ext", @@ -1204,7 +1204,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__interp" ], 0, - "7bba348aaf43fa095c373b861220e93f" + "cf194991379607ed956b13a31d0c78dd" ], [ "Steel.Semantics.Hoare.MST.weaken_fp_prop", @@ -1239,7 +1239,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "7ae54b026f503dd2d57a859ce15451c1" + "64145c28fc133d48e47b0787af9335fc" ], [ "Steel.Semantics.Hoare.MST.depends_only_on_commutes_with_weaker", @@ -1275,7 +1275,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__emp" ], 0, - "3869c964b1af228d1b3d61e685a187e2" + "f289419fe0b9dd86c0f5db91c8781149" ], [ "Steel.Semantics.Hoare.MST.depends_only_on2_commutes_with_weaker", @@ -1307,7 +1307,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "ac56f65449d6029420bc3de2cd0db05d" + "f64ee42e984e226c2e019e3910020ffd" ], [ "Steel.Semantics.Hoare.MST.inst_heap_prop_for_par", @@ -1334,7 +1334,7 @@ "refinement_interpretation_Tm_refine_f6e2dd8dfb4bc549cb03e5fd018cee0d" ], 0, - "987e9e0557a46471a43cb23451c3c90d" + "0794c135cf063ee8105391009c586274" ], [ "Steel.Semantics.Hoare.MST.frame_post_for_par_tautology", @@ -1352,7 +1352,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.inst_heap_prop_for_par" ], 0, - "17e1c20d2161cd441b06e9d0a7cc18e7" + "af334526bc2ded0832bf2d2681e1d38d" ], [ "Steel.Semantics.Hoare.MST.frame_post_for_par_aux", @@ -1365,7 +1365,7 @@ "typing_Steel.Semantics.Hoare.MST.inst_heap_prop_for_par" ], 0, - "5c690441b6885873c639cd93959c8116" + "4219359c216c0136de810b314d8721cf" ], [ "Steel.Semantics.Hoare.MST.frame_post_for_par", @@ -1386,7 +1386,7 @@ "typing_Steel.Semantics.Hoare.MST.inst_heap_prop_for_par" ], 0, - "7db57660e46a4a206ef2d4612a618fab" + "a6c16e8d09e58236efb252ced7f4e399" ], [ "Steel.Semantics.Hoare.MST.par_weaker_lpre_and_stronger_lpost_l", @@ -1405,7 +1405,7 @@ "l_and-interp", "true_interp" ], 0, - "9287574e0756763aad5d08ea3cb4ae18" + "b87ef57cb70d1e98c43c9afe92af22f5" ], [ "Steel.Semantics.Hoare.MST.par_weaker_lpre_and_stronger_lpost_l", @@ -1419,7 +1419,7 @@ "refinement_interpretation_Tm_refine_8cd8c65d5f878c81c49fdc7f6574248b" ], 0, - "83b8c6b758bd0ef4667ba5a51c232e7b" + "dba03c080799f0c34bce2a25f2c58768" ], [ "Steel.Semantics.Hoare.MST.par_weaker_lpre_and_stronger_lpost_r", @@ -1473,7 +1473,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "9b06960d778c6913b9fc4be0c154928a" + "dbdc1eeb493d5c5ae7a7fdee0512c821" ], [ "Steel.Semantics.Hoare.MST.par_weaker_lpre_and_stronger_lpost_r", @@ -1487,7 +1487,7 @@ "refinement_interpretation_Tm_refine_0c8d66e9c5421dc9d5906356c2af797c" ], 0, - "765a0befe41a3659e79c919c28e9bad6" + "016b545a7853d0714173257af71f9b4c" ], [ "Steel.Semantics.Hoare.MST.stronger_post_par_r", @@ -1520,7 +1520,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "179f2cc8008f59f5b1085e191fad07db" + "5a3bbf96f62a6f6c4d90feaca911248c" ], [ "Steel.Semantics.Hoare.MST.step_ret", @@ -1564,7 +1564,7 @@ "refinement_interpretation_Tm_refine_f6e2dd8dfb4bc549cb03e5fd018cee0d" ], 0, - "22d6686796d598b35bc99471e178580e" + "4f81ce51630e8244b436f391d998ba6e" ], [ "Steel.Semantics.Hoare.MST.lpost_ret_act", @@ -1593,7 +1593,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core" ], 0, - "14692bcc3e61335a11c3b9f1c864a9fa" + "127641164397822c814c9137f8acb69b" ], [ "Steel.Semantics.Hoare.MST.step_act", @@ -1653,7 +1653,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core" ], 0, - "1183294ab2f53a2043917a57c9b1e917" + "cd5126b8079f59fb8c4830df12dde130" ], [ "Steel.Semantics.Hoare.MST.step_bind_ret_aux", @@ -1662,7 +1662,7 @@ 2, [ "@query" ], 0, - "cbf63725169279cb5e10c79507a75a78" + "80db65504f7c449645eb67040eda56c2" ], [ "Steel.Semantics.Hoare.MST.step_bind_ret_aux", @@ -1736,7 +1736,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core" ], 0, - "7fddd21e1b0cd15acb38ee4d0652b9e0" + "130afa60bb8f0183617f331616bb9c29" ], [ "Steel.Semantics.Hoare.MST.step_bind_ret", @@ -1745,7 +1745,7 @@ 2, [ "@query" ], 0, - "146ebcfdde308387f17afb0744d06909" + "3a9e1ad8ae91b3cbaeac6dc96a7df3be" ], [ "Steel.Semantics.Hoare.MST.step_bind_ret", @@ -1757,7 +1757,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "94509ebe5379780085a2430faa81c741" + "576343db57bde9557fe96b618a1c859d" ], [ "Steel.Semantics.Hoare.MST.step_bind", @@ -1824,7 +1824,7 @@ "true_interp" ], 0, - "55beb1803d8100098bb77b0914fa547b" + "6e0bcb34056efd98a98aa32bd42ff4ce" ], [ "Steel.Semantics.Hoare.MST.step_bind", @@ -1868,7 +1868,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Step__item__lpre" ], 0, - "a27fa7e61da1f4fbff721e3a6d2e2dea" + "c93f12cab9fd25bd6f4dfef009e94676" ], [ "Steel.Semantics.Hoare.MST.step_frame_ret_aux", @@ -1877,7 +1877,7 @@ 2, [ "@query" ], 0, - "3554415000e38c1a4d8dc18d49e35a11" + "d28e716f0d85d63f3d2a3d0907fae832" ], [ "Steel.Semantics.Hoare.MST.step_frame_ret_aux", @@ -1963,7 +1963,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__locks_preorder" ], 0, - "0eb6070ef017a4369b2dfe4294f26f61" + "beb0585ef7753da70e52981ab450262a" ], [ "Steel.Semantics.Hoare.MST.step_frame_ret", @@ -1972,7 +1972,7 @@ 2, [ "@query" ], 0, - "c59ebf84703bff4ac125655d09b6a822" + "51311fef50e3f25267b7a396cfbe7ba7" ], [ "Steel.Semantics.Hoare.MST.step_frame_ret", @@ -1984,7 +1984,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "c7d8658fc12f058fd2ac41f8fc4a07fa" + "e028b677205a502fc631bdb117819cbf" ], [ "Steel.Semantics.Hoare.MST.step_frame", @@ -2067,7 +2067,7 @@ "typing_Tm_abs_5a397107efe360fdca0db747cfe89c9d" ], 0, - "d573969ecdc5d8f0f6fb0e8c33e77f19" + "acf701d4d516463bd65738600e0381a7" ], [ "Steel.Semantics.Hoare.MST.step_par_ret_aux", @@ -2076,7 +2076,7 @@ 2, [ "@query" ], 0, - "032c39ea2ca440ff9564c71063897f0f" + "56955b443e7f2dbd83f0e77b4e789e3d" ], [ "Steel.Semantics.Hoare.MST.step_par_ret_aux", @@ -2124,9 +2124,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Steel.Semantics.Hoare.MST.m", "fuel_guarded_inversion_Steel.Semantics.Hoare.MST.st0", - "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__interp", "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__locks_preorder", - "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star", "interpretation_Tm_abs_1c8db1c2fe87971b8da4335de08be93a", "interpretation_Tm_abs_2c1508d25567369200b9b1a8f8ca99b5", "interpretation_Tm_abs_37c3ecb2077a32b90b71cb0f8b0197d1", @@ -2146,6 +2144,8 @@ "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_locks_preorder", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_mem", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_star", + "proj_equation_Steel.Semantics.Hoare.MST.Par_aL", + "proj_equation_Steel.Semantics.Hoare.MST.Par_aR", "proj_equation_Steel.Semantics.Hoare.MST.Par_mL", "proj_equation_Steel.Semantics.Hoare.MST.Par_mR", "proj_equation_Steel.Semantics.Hoare.MST.Par_preL", @@ -2180,7 +2180,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "650d8c2ea923eb510ddb5e6d29091a90" + "3d243932dc15b53cf4a7ad3c457fc067" ], [ "Steel.Semantics.Hoare.MST.step_par_ret", @@ -2189,7 +2189,7 @@ 2, [ "@query" ], 0, - "68cffaf69552e2f12356ca3a03efc283" + "f0a0f80faeda21391fc7c40c32548e00" ], [ "Steel.Semantics.Hoare.MST.step_par_ret", @@ -2201,7 +2201,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "f46bb7665d5a2d56505efa2bcbbf4e2e" + "c0d74abc4c95abf58ab7ec0f39b4adf3" ], [ "Steel.Semantics.Hoare.MST.step_par", @@ -2294,7 +2294,7 @@ "typing_Steel.Semantics.Hoare.MST.stronger_post" ], 0, - "c148f0adec3380644ad523dbd1b74c73" + "0a2ed3f6aa0ba4921ff91616380edb94" ], [ "Steel.Semantics.Hoare.MST.step_par", @@ -2362,7 +2362,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Step__item__next_post" ], 0, - "d20998890b8e6965243f971ccfda3111" + "cfdf543edf0d84427332f111a7dfbe15" ], [ "Steel.Semantics.Hoare.MST.step_weaken", @@ -2372,6 +2372,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_69502b18a9decf01266003970992a005", "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_fcd589b21e6efcf1e5d17b07c282a015", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -2412,25 +2413,19 @@ "projection_inverse_Steel.Semantics.Hoare.MST.Step_next_post", "projection_inverse_Steel.Semantics.Hoare.MST.Step_next_pre", "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_a", - "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_lpost", - "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_lpre", - "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_post", "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_pre", "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_st", - "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_wlpost", - "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_wlpre", - "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_wpost", - "projection_inverse_Steel.Semantics.Hoare.MST.Weaken_wpre", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7dd9e823cc87974f223bfb9f22291ffb", "refinement_interpretation_Tm_refine_c10866732d54438cc757cb0d42e01035", "refinement_interpretation_Tm_refine_f6e2dd8dfb4bc549cb03e5fd018cee0d", "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core", - "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__locks_invariant" + "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__locks_invariant", + "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "dafc2c6c0a2ddc7edbb7e541d7824903" + "50a33ae429a2477153a04879b7910ac0" ], [ "Steel.Semantics.Hoare.MST.step", @@ -2452,7 +2447,7 @@ "refinement_interpretation_Tm_refine_f6e2dd8dfb4bc549cb03e5fd018cee0d" ], 0, - "53a15466c9b2aa5bd5d7909db68b7d04" + "34f8d96e501475447338a551f02ba78c" ], [ "Steel.Semantics.Hoare.MST.run", @@ -2463,12 +2458,11 @@ "@MaxIFuel_assumption", "@query", "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_0364616fa806d6a34e796737f0b168ed", "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_1d2260ab5bf91376903bf3548d96cbee", - "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_20a170eb99562942a92592ed1d60d1d4", - "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_287be6b6c40896ab87f23f8edadd951b", "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_69502b18a9decf01266003970992a005", "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_8e75039bcf6d3f223cc623c33ba7d626", "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_e3f0f2f3e6826ee53d482ce15053386d", + "Steel.Semantics.Hoare.MST_interpretation_Tm_arrow_fcd589b21e6efcf1e5d17b07c282a015", "data_elim_Steel.Semantics.Hoare.MST.Mkst0", "data_elim_Steel.Semantics.Hoare.MST.Ret", "equation_Steel.Semantics.Hoare.MST.associative", @@ -2484,12 +2478,12 @@ "equation_Steel.Semantics.Hoare.MST.symmetry", "fuel_guarded_inversion_Steel.Semantics.Hoare.MST.st0", "fuel_guarded_inversion_Steel.Semantics.Hoare.MST.step_result", - "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core", "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__interp", "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__locks_invariant", "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star", "function_token_typing_Steel.Semantics.Hoare.MST.__proj__Step__item__next_post", "interpretation_Tm_abs_37c3ecb2077a32b90b71cb0f8b0197d1", + "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_core", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_disjoint", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_hprop", "proj_equation_Steel.Semantics.Hoare.MST.Mkst0_interp", @@ -2513,7 +2507,7 @@ "typing_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__star" ], 0, - "725d56e6d93bdf0fca9a4ab77bb20e43" + "22c0a0467abf7a6578c9e56cb578c6ed" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Semantics.Instantiate.fst.hints b/lib/steel/Steel.Semantics.Instantiate.fst.hints index ef245295a..2f8537bbb 100644 --- a/lib/steel/Steel.Semantics.Instantiate.fst.hints +++ b/lib/steel/Steel.Semantics.Instantiate.fst.hints @@ -14,7 +14,7 @@ "typing_Steel.Memory.star" ], 0, - "fce8d4f411e3ee52154db966c96a1370" + "4f51c57bac8797cc4cdfb156aac3ee01" ], [ "Steel.Semantics.Instantiate.state_obeys_st_laws", @@ -73,7 +73,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__join" ], 0, - "e28f316c731ee6cc9bcee6db8632f6ed" + "8ffb57b90ec741e09a830cf2a9aa57c4" ], [ "Steel.Semantics.Instantiate.state_uses", @@ -82,7 +82,7 @@ 1, [ "@query" ], 0, - "4569fa649b971d280e8287e2e1368a6c" + "f06c1bfc313f60ed1e4a5cefc1a2e392" ], [ "Steel.Semantics.Instantiate.state_correspondence", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_83b7f74668e2de4073384eaaf24260ac" ], 0, - "c1a809c43dc71cd65a0951d816a506eb" + "0a3e37749cd5457a7d1d671bbfad3035" ], [ "Steel.Semantics.Instantiate.state_correspondence", @@ -143,7 +143,7 @@ "token_correspondence_Steel.Semantics.Hoare.MST.__proj__Mkst0__item__core" ], 0, - "55c67c8495abe0cc5e03bd3d3ec3225f" + "3a9ce4e3177e3bf0e8792d7e1e68a964" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Semantics.Instantiate.fsti.hints b/lib/steel/Steel.Semantics.Instantiate.fsti.hints index 06567c171..4211bbb0e 100644 --- a/lib/steel/Steel.Semantics.Instantiate.fsti.hints +++ b/lib/steel/Steel.Semantics.Instantiate.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "7078f9f8134679906ad98844017459bd" + "a6405c8ba10545d26016dfd098fd37ee" ], [ "Steel.Semantics.Instantiate.state_correspondence", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_83b7f74668e2de4073384eaaf24260ac" ], 0, - "9ba7552e30c1bd2bcbd9ee7c4624a50f" + "9e6e6fa409a7eafd1469c70af18eec7a" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.SpinLock.fst.hints b/lib/steel/Steel.SpinLock.fst.hints index 553688608..067a23e4d 100644 --- a/lib/steel/Steel.SpinLock.fst.hints +++ b/lib/steel/Steel.SpinLock.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "9e91f5d8f5b20a53e546be963140a6e0" + "45ca8adf263951c2e66f372cf8e7e14c" ], [ "Steel.SpinLock.acquire_core", @@ -33,7 +33,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "c26367ad2ac3699edcb38d7fdab36f54" + "c0d0f6c5f820c3fbda2501cca37192e6" ], [ "Steel.SpinLock.acquire", @@ -63,7 +63,7 @@ "typing_Tm_abs_d716b89c7122244f867c074692bc6a31" ], 0, - "eca098502a3d00183f408130cd3bd71c" + "16db16395421174279d016160675e0fe" ], [ "Steel.SpinLock.release_core", @@ -88,7 +88,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "40563c857bc719dbeb2a98e663ca76d8" + "06660a82d88ac0a7869656b86ef3b846" ], [ "Steel.SpinLock.release", @@ -118,7 +118,7 @@ "typing_Tm_abs_d716b89c7122244f867c074692bc6a31" ], 0, - "86743835499fdfbe7c8c58fd52afd81b" + "256be14e6ac695b4c16529f9109a239c" ], [ "Steel.SpinLock.new_s_lock", @@ -127,7 +127,7 @@ 0, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "72f1190b1f7905df1fa3eb58429c0d2e" + "c319fbefc30b765cbb773fabd6e90c23" ], [ "Steel.SpinLock.s_acquire", @@ -136,7 +136,7 @@ 0, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "9048d535b2de73e42f89bbde065a280b" + "8e4c3a2524ad2ef2650034b02de05dc6" ], [ "Steel.SpinLock.s_acquire", @@ -145,7 +145,7 @@ 0, [ "@query" ], 0, - "9766b606b2eb3ecd78a5e78e052a265f" + "5643dc8cb0fdb8dcff5e59bac05e9b87" ], [ "Steel.SpinLock.s_release", @@ -154,7 +154,7 @@ 0, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "d5fcd8f084bcc4c49746976890527a32" + "19852fb7f8ad94901ec6168a38e3c512" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.SpinLock.fsti.hints b/lib/steel/Steel.SpinLock.fsti.hints index b6133f680..08ae26809 100644 --- a/lib/steel/Steel.SpinLock.fsti.hints +++ b/lib/steel/Steel.SpinLock.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "ad5751481c8de379342fd84f9ff75f5d" + "a493569b2b19dda1a5a89cdc0e56d74c" ], [ "Steel.SpinLock.s_acquire", @@ -17,7 +17,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "a0a4eaec9f5a79b5afd8e1fa4cfc9c2d" + "050b8efde57213633b260a916c110183" ], [ "Steel.SpinLock.s_release", @@ -26,7 +26,7 @@ 1, [ "@query", "lemma_Steel.Effect.Common.can_be_split_refl" ], 0, - "21665ea3d1fccfd27affdd08657232db" + "9a19a9eeebf363905b9c441e07a245a7" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Stepper.fst.hints b/lib/steel/Steel.Stepper.fst.hints index e256c6bbc..4356b988f 100644 --- a/lib/steel/Steel.Stepper.fst.hints +++ b/lib/steel/Steel.Stepper.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f93aac131c285510b5ebcf29750ac086" + "cd11f1fd2a308173f8f70b81e93bf573" ], [ "Steel.Stepper.__proj__V__item__n", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_b1b5a647f56f0bbd68a6680b98f8fb27" ], 0, - "1d1102c74ca0521f2e903691896b91b7" + "3a4e8fd2e3c15d45467b2c89b979a68a" ], [ "Steel.Stepper.__proj__Even__item__n", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_83db2f9e76d0a7ed18533b1e15b8a529" ], 0, - "e44ee2008f05c109bedcbe784fd57b1e" + "467501845da519ce591a913d191722b6" ], [ "Steel.Stepper.__proj__Odd__item__n", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_21f46995bbd7823cd843a4072b60a635" ], 0, - "e729726c0436534b8b7fd13f16c11d93" + "cb29f565109bc4d290bee8a114ff10cd" ], [ "Steel.Stepper.__proj__EvenWriteable__item___0", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_0d5fe40d02f51770dbc7e55760b9665a" ], 0, - "ce80785fe3ef233f2487843e285f4b50" + "9fe70ae557b7a78e73ad5ceeef2b45d2" ], [ "Steel.Stepper.__proj__OddWriteable__item___0", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_482acb568ad013284dc891a86f5db948" ], 0, - "d48089461e3cf6ce15829c4db60ffb47" + "ecaf3a230c8353af7d2b7b216370515e" ], [ "Steel.Stepper.composable", @@ -100,7 +100,7 @@ "projection_inverse_Steel.Stepper.Odd_n", "true_interp" ], 0, - "fc902b63c00be716119d05d40d23b41a" + "954399478f0e5c96d870d0cadd6b1f4b" ], [ "Steel.Stepper.compose", @@ -149,7 +149,7 @@ "typing_Steel.Stepper.composable" ], 0, - "cd35907502848df4e3659e1d74186abc" + "8fee7a5d3824faba6126f887a78ccc06" ], [ "Steel.Stepper.lemma_comm", @@ -171,7 +171,7 @@ "typing_Steel.Stepper.composable" ], 0, - "8d54e91e929b291a6cc39194fa7d391d" + "27bb8fdc05e290543dc530f32749cc4c" ], [ "Steel.Stepper.lemma_assoc_l", @@ -180,7 +180,7 @@ 1, [ "@query" ], 0, - "7ee37c5fbc7809364cfd9228b3e358e2" + "77aea095abce27a4793a371a8a2e2c41" ], [ "Steel.Stepper.lemma_assoc_l", @@ -221,7 +221,7 @@ "typing_tok_Steel.Stepper.None@tok" ], 0, - "b347d263bea23feab61ddbe974d8ebc1" + "64ff18956347c8a0692781c5bd667ce6" ], [ "Steel.Stepper.lemma_assoc_r", @@ -230,7 +230,7 @@ 1, [ "@query" ], 0, - "b5efa37a40c494f918c8873103ea9dad" + "4426053dc81c5f580f7f99bfd8a2db71" ], [ "Steel.Stepper.lemma_assoc_r", @@ -268,7 +268,7 @@ "typing_tok_Steel.Stepper.None@tok" ], 0, - "722405570a94ede8a2a10c775d57ba3f" + "fa24ce484e9935c8ea3580e48d34a0b2" ], [ "Steel.Stepper.lemma_is_unit", @@ -290,7 +290,7 @@ "token_correspondence_Steel.Stepper.composable_", "true_interp" ], 0, - "1347508ef93ef5e09f1553e41e5e71a4" + "3bbd62bdf59dfb90e582fb35e0972590" ], [ "Steel.Stepper.p", @@ -315,7 +315,7 @@ "token_correspondence_Steel.Stepper.compose" ], 0, - "8977ddb2d27698d3dbd2d0097565f80f" + "960189437473d3fcaa26ce06f9b2e433" ], [ "Steel.Stepper.s_even", @@ -324,7 +324,7 @@ 1, [ "@query" ], 0, - "8d41d2d18b62e542142eff5e4329e1af" + "41e70fa3640a20c5bc92e8f89a52dcfa" ], [ "Steel.Stepper.s_odd", @@ -333,7 +333,7 @@ 1, [ "@query" ], 0, - "5546fce4a5afd73a464cea044f9c97ee" + "397a2bc178fc9c8f2c767006f3006ccf" ], [ "Steel.Stepper.frame_compatible", @@ -342,7 +342,7 @@ 1, [ "@query" ], 0, - "c17f9f11e2614eecee8330ce0cb95656" + "0d45a2c5f3dfefa8359132aff377b719" ], [ "Steel.Stepper.select_refine'", @@ -375,7 +375,7 @@ "token_correspondence_Steel.Stepper.compose" ], 0, - "1a92a177cb5c2f8080a327d723190515" + "3c34114e7b3a4572211c32520855f0ed" ], [ "Steel.Stepper.select_refine", @@ -394,7 +394,7 @@ "refinement_interpretation_Tm_refine_7868b2d362d5631487c16c859ad10943" ], 0, - "7e8252e8d2c0d6b33d56352ff7115326" + "f3c3ece51b25b71b12c00eb45b5356bb" ], [ "Steel.Stepper.f_even", @@ -403,6 +403,7 @@ 1, [ "@MaxIFuel_assumption", "@query", + "FStar.PCM_interpretation_Tm_arrow_4418db7552582748ab4bfa39672e55e0", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "Steel.Stepper_pretyping_c06094b4b05d15fc4ca9ccb45c91fd54", "constructor_distinct_Prims.unit", @@ -412,7 +413,7 @@ "constructor_distinct_Steel.Stepper.Odd", "constructor_distinct_Steel.Stepper.V", "constructor_distinct_Steel.Stepper.stepper", - "constructor_distinct_Tm_unit", "data_elim_FStar.PCM.Mkpcm_", + "constructor_distinct_Tm_unit", "data_typing_intro_Steel.Stepper.Even@tok", "data_typing_intro_Steel.Stepper.EvenWriteable@tok", "data_typing_intro_Steel.Stepper.None@tok", @@ -430,6 +431,7 @@ "equation_Steel.Stepper.max", "equation_Steel.Stepper.p", "equation_Steel.Stepper.p_", "false_interp", "fuel_guarded_inversion_Steel.Stepper.stepper", + "function_token_typing_FStar.PCM.__proj__Mkpcm___item__composable", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_Steel.Stepper.stepper@tok", "lemma_FStar.Ghost.reveal_hide", @@ -458,11 +460,12 @@ "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op", "token_correspondence_Steel.Stepper.composable_", "token_correspondence_Steel.Stepper.compose", "true_interp", - "typing_Steel.Stepper.compose", "typing_Steel.Stepper.p_", + "typing_FStar.PCM.__proj__Mkpcm__item__p", + "typing_Steel.Stepper.compose", "typing_Steel.Stepper.p", "unit_typing" ], 0, - "90c2b9a3476d2ef938bee700c66c6222" + "fb066a233f3db4d1341176d8fa644e55" ], [ "Steel.Stepper.f_odd", @@ -471,7 +474,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.PCM_interpretation_Tm_arrow_4418db7552582748ab4bfa39672e55e0", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "Steel.Stepper_pretyping_c06094b4b05d15fc4ca9ccb45c91fd54", @@ -482,8 +484,7 @@ "constructor_distinct_Steel.Stepper.OddWriteable", "constructor_distinct_Steel.Stepper.V", "constructor_distinct_Steel.Stepper.stepper", - "constructor_distinct_Tm_unit", "data_elim_FStar.PCM.Mkpcm_", - "data_elim_Steel.Stepper.Even", + "data_elim_FStar.PCM.Mkpcm_", "data_typing_intro_Steel.Stepper.None@tok", "data_typing_intro_Steel.Stepper.Odd@tok", "data_typing_intro_Steel.Stepper.OddWriteable@tok", @@ -496,15 +497,14 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_Steel.Stepper.abs", "equation_Steel.Stepper.composable", "equation_Steel.Stepper.composable_", - "equation_Steel.Stepper.compose", "equation_Steel.Stepper.even", + "equation_Steel.Stepper.compose", "equation_Steel.Stepper.frame_compatible", "equation_Steel.Stepper.max", "equation_Steel.Stepper.p", "equation_Steel.Stepper.p_", "false_interp", "fuel_guarded_inversion_Steel.Stepper.stepper", - "function_token_typing_FStar.PCM.__proj__Mkpcm___item__composable", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_Steel.Stepper.stepper@tok", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", @@ -523,9 +523,7 @@ "projection_inverse_Steel.Stepper.OddWriteable__0", "projection_inverse_Steel.Stepper.Odd_n", "projection_inverse_Steel.Stepper.V_n", - "refinement_interpretation_Tm_refine_148be657e3a342509cd0bb35055d7a4f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_549e200471b1612fc10292a6e8327a5c", "refinement_interpretation_Tm_refine_ab32a0f5a3d9a7d559be992fda26afc3", "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", @@ -533,12 +531,11 @@ "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op", "token_correspondence_Steel.Stepper.composable_", "token_correspondence_Steel.Stepper.compose", "true_interp", - "typing_FStar.PCM.__proj__Mkpcm__item__p", - "typing_Steel.Stepper.compose", "typing_Steel.Stepper.p", - "typing_Steel.Stepper.p_", "unit_typing" + "typing_Steel.Stepper.compose", "typing_Steel.Stepper.p_", + "unit_typing" ], 0, - "a0a6ef63110e940e06091b2e4b384571" + "0fd0d49893c1b2a2bccbb0dde28fa2d8" ], [ "Steel.Stepper.get_even", @@ -575,7 +572,7 @@ "typing_Steel.Stepper.f_even", "unit_typing" ], 0, - "269569fad44376d2b486cdf63436e605" + "0acf7139c7a73ff4be9741c8007e93e0" ], [ "Steel.Stepper.get_odd", @@ -612,7 +609,7 @@ "typing_Steel.Stepper.f_odd", "unit_typing" ], 0, - "24eaa3454f75832babc589a216ed7a23" + "9711408ef652612c7f5df463fa983947" ], [ "Steel.Stepper.upd_even_f", @@ -680,7 +677,7 @@ "typing_Steel.Stepper.p_", "typing_Steel.Stepper.uu___is_V" ], 0, - "a14aacda996e3ce8319b63b96c7b577c" + "45c8a0480b813bcc3ad54e0d48dacd23" ], [ "Steel.Stepper.upd_odd_f", @@ -689,7 +686,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.PCM_interpretation_Tm_arrow_4418db7552582748ab4bfa39672e55e0", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "Steel.Stepper_pretyping_c06094b4b05d15fc4ca9ccb45c91fd54", @@ -700,7 +696,8 @@ "constructor_distinct_Steel.Stepper.OddWriteable", "constructor_distinct_Steel.Stepper.V", "constructor_distinct_Steel.Stepper.stepper", - "constructor_distinct_Tm_unit", "data_elim_Steel.Stepper.Even", + "constructor_distinct_Tm_unit", "data_elim_FStar.PCM.Mkpcm_", + "data_elim_Steel.Stepper.Even", "data_typing_intro_Steel.Stepper.None@tok", "data_typing_intro_Steel.Stepper.Odd@tok", "data_typing_intro_Steel.Stepper.OddWriteable@tok", @@ -716,7 +713,6 @@ "equation_Steel.Stepper.p", "equation_Steel.Stepper.p_", "equation_Steel.Stepper.refine", "false_interp", "fuel_guarded_inversion_Steel.Stepper.stepper", - "function_token_typing_FStar.PCM.__proj__Mkpcm___item__composable", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_Steel.Stepper.stepper@tok", "primitive_Prims.op_Addition", @@ -752,12 +748,12 @@ "token_correspondence_Steel.Stepper.composable_", "token_correspondence_Steel.Stepper.compose", "token_correspondence_Steel.Stepper.refine", "true_interp", - "typing_FStar.PCM.__proj__Mkpcm__item__p", "typing_FStar.PCM.op", - "typing_Steel.Stepper.p", "typing_Steel.Stepper.uu___is_V", + "typing_FStar.PCM.op", "typing_Steel.Stepper.p", + "typing_Steel.Stepper.p_", "typing_Steel.Stepper.uu___is_V", "unit_typing" ], 0, - "4014f8124df507356ce590dd801bbe67" + "c021f72f3f8c812ea33d75b3f150cea2" ], [ "Steel.Stepper.upd_even", @@ -773,7 +769,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "52173e4c7f7edc025d6da247f920d30e" + "95279527a800e815dc083f362b9f42ac" ], [ "Steel.Stepper.upd_odd", @@ -789,7 +785,7 @@ "refinement_interpretation_Tm_refine_9d91366eba204be7ad2ad038b4690989" ], 0, - "3b2d7ca7aa4d35e5de50a00df2e2a504" + "f4b6d2d0254965eab8d98a3291315b2d" ], [ "Steel.Stepper.alloc", @@ -814,7 +810,7 @@ "token_correspondence_FStar.PCM.__proj__Mkpcm__item__refine" ], 0, - "5303f663d4c8db0edcad2a4da73a14d8" + "99644ae9d379e7b49bbb8dd53f779f50" ], [ "Steel.Stepper.split", @@ -823,7 +819,7 @@ 1, [ "@query" ], 0, - "2c601f436f0a83906cfb901dea9206c4" + "c35134b969ff13a38a56b2773f4023fa" ], [ "Steel.Stepper.split", @@ -848,7 +844,7 @@ "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op" ], 0, - "ba277913dfde2ac4c3beacaf8904532a" + "535bbc364cdfe449b31dffc3006d5784" ], [ "Steel.Stepper.new_stepper", @@ -896,7 +892,7 @@ "typing_tok_Steel.Stepper.None@tok" ], 0, - "89e0ed999141a582106cf4a7ef3a14e0" + "ca83d9b06c881d60f4042749a541b711" ], [ "Steel.Stepper.incr_even", @@ -911,7 +907,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b62515adfcc1ab8e58c5d009c8842e8b" + "04f3536db9341537b3374dcc7cccc745" ], [ "Steel.Stepper.incr_even", @@ -930,7 +926,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b119302c123124162e38ec720266f8bc" + "63d121db39beedf9f443afd1f33d48b0" ], [ "Steel.Stepper.incr_odd", @@ -945,7 +941,7 @@ "refinement_interpretation_Tm_refine_9d91366eba204be7ad2ad038b4690989" ], 0, - "4d1a5b5ca1848708e607b47599fb0415" + "b983f519a43998acc172f8ad6725bc08" ], [ "Steel.Stepper.incr_odd", @@ -964,7 +960,7 @@ "refinement_interpretation_Tm_refine_9d91366eba204be7ad2ad038b4690989" ], 0, - "105810ae8e4a09829898a67811302e1d" + "dee1b6160bfa39d0d8bf152796809941" ], [ "Steel.Stepper.rec_incr_even", @@ -976,7 +972,7 @@ "refinement_interpretation_Tm_refine_148be657e3a342509cd0bb35055d7a4f" ], 0, - "7266d3a72f6632ab2c5d6f69fc5c2a63" + "f5f84a81adeba548fe1eacd4b1b1614a" ], [ "Steel.Stepper.rec_incr_even", @@ -991,7 +987,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "505e0ef00e9a94e1f2f1451865a54a36" + "d0690178c8d77994fadc81a401db3bb6" ], [ "Steel.Stepper.rec_incr_odd", @@ -1003,7 +999,7 @@ "refinement_interpretation_Tm_refine_9d91366eba204be7ad2ad038b4690989" ], 0, - "43ad93d0fdbfa1c6187a2b151d0e1aa6" + "2f250982dba0f971e39be1ce9ae457ca" ], [ "Steel.Stepper.rec_incr_odd", @@ -1018,7 +1014,7 @@ "refinement_interpretation_Tm_refine_9d91366eba204be7ad2ad038b4690989" ], 0, - "6c80599d2c00d4f5c109f24e7123ea5c" + "e6b4c0c0cfd9a0021363038e11c17d5e" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.TLArray.fst.hints b/lib/steel/Steel.TLArray.fst.hints index a0cde8c12..1a442f499 100644 --- a/lib/steel/Steel.TLArray.fst.hints +++ b/lib/steel/Steel.TLArray.fst.hints @@ -17,7 +17,7 @@ "lemma_FStar.Ghost.reveal_hide" ], 0, - "0cb7c9f0770c3e9691170f4d5d2cf110" + "3c35996c0f15954897effb8896796286" ], [ "Steel.TLArray.get", @@ -31,7 +31,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "72719ae725c507e4f126f6d58ebbbfab" + "9c0f511806204001a46ac22d30945c13" ], [ "Steel.TLArray.get", @@ -55,7 +55,7 @@ "typing_FStar.UInt32.v", "typing_Steel.TLArray.t" ], 0, - "1203a0dbf4f142a063bd883be73c57b3" + "59bc423edf87fa95132e5f28c9ef80f7" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.TLArray.fsti.hints b/lib/steel/Steel.TLArray.fsti.hints index 947978a9b..65a59e61e 100644 --- a/lib/steel/Steel.TLArray.fsti.hints +++ b/lib/steel/Steel.TLArray.fsti.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "30f4150c50cb8c1308263fd68d9d6e21" + "fe7f6344600dd726fcabe45744a06447" ] ] ] \ No newline at end of file diff --git a/lib/steel/Steel.Utils.fst.hints b/lib/steel/Steel.Utils.fst.hints index 77ef65f20..d0a16369f 100644 --- a/lib/steel/Steel.Utils.fst.hints +++ b/lib/steel/Steel.Utils.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "5129eddf312226f042ceb3b2627bcdb9" + "b884e57b624ac5e2d4497adff2fe6e1c" ], [ "Steel.Utils.change_slprop_ens", @@ -26,7 +26,7 @@ "typing_Steel.Memory.star" ], 0, - "a29b52c6d8650a87c28de848577de7d7" + "1ab5d87cfd3a920acf1361c3994807b2" ], [ "Steel.Utils.pure_as_ens", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "2a90a945215934d83c9fc6899fedf9f0" + "d97a81728b37163d354368c71bfa54cb" ], [ "Steel.Utils.rewrite", @@ -48,7 +48,7 @@ "fuel_guarded_inversion_Steel.Effect.Common.vprop" ], 0, - "18a9d0c4e8babed4f48ba89c9e6bcff5" + "0a67feeacc3570f96836ffde1752f505" ], [ "Steel.Utils.extract_pure", @@ -57,7 +57,7 @@ 1, [ "@query" ], 0, - "48cc991870bb8c5af1dd8fb2dc716daa" + "b6dfe212879c0bc89c4c41c50eec7fc9" ], [ "Steel.Utils.emp_unit", @@ -79,7 +79,7 @@ "typing_Steel.Memory.star" ], 0, - "7572558a0f6074dafd7ec9786f22ce42" + "30c60cf133686fb01d389f954928c15e" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.C.Typenat.fst.hints b/lib/steel/c/Steel.C.Typenat.fst.hints index 30a5d5647..e6c0a9385 100644 --- a/lib/steel/c/Steel.C.Typenat.fst.hints +++ b/lib/steel/c/Steel.C.Typenat.fst.hints @@ -15,7 +15,7 @@ "well-founded-ordering-on-nat" ], 0, - "0383f1b8f8f193b9fccf1b317c314d40" + "8d3d457ea5c374ab09249d782c502658" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.C.Typenat.fsti.hints b/lib/steel/c/Steel.C.Typenat.fsti.hints index 557824f25..e476cfe53 100644 --- a/lib/steel/c/Steel.C.Typenat.fsti.hints +++ b/lib/steel/c/Steel.C.Typenat.fsti.hints @@ -15,7 +15,7 @@ "well-founded-ordering-on-nat" ], 0, - "b5ee720819cc401f136061bb48cfbc91" + "626fecf4e97194d6547759df90fabe3f" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.C.Typestring.fst.hints b/lib/steel/c/Steel.C.Typestring.fst.hints index f5070f7fe..662be1ae4 100644 --- a/lib/steel/c/Steel.C.Typestring.fst.hints +++ b/lib/steel/c/Steel.C.Typestring.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "4178561643c0239a31cced404c1077cb" + "1096c16d9a50bf9cb46bf6d5651ffff2" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.C.Typestring.fsti.hints b/lib/steel/c/Steel.C.Typestring.fsti.hints index ed87602bb..dad2b2184 100644 --- a/lib/steel/c/Steel.C.Typestring.fsti.hints +++ b/lib/steel/c/Steel.C.Typestring.fsti.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "e5aba2c2280d8be5136d2bc03ac1a542" + "1a74af03140f908eacf00f05f960c98f" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.ST.C.Types.Array.Base.fst.hints b/lib/steel/c/Steel.ST.C.Types.Array.Base.fst.hints index 45a5e0f37..07cfa720c 100644 --- a/lib/steel/c/Steel.ST.C.Types.Array.Base.fst.hints +++ b/lib/steel/c/Steel.ST.C.Types.Array.Base.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.SizeT.t" ], 0, - "ca004a41ac34c37c5755724b4634c1e4" + "1bed46bf3c687f51ec4c5084f0c2d766" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.ST.C.Types.Array.fsti.hints b/lib/steel/c/Steel.ST.C.Types.Array.fsti.hints index 455409781..e9f3e8a29 100644 --- a/lib/steel/c/Steel.ST.C.Types.Array.fsti.hints +++ b/lib/steel/c/Steel.ST.C.Types.Array.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_d74b6a7f77ebc0b8edb3fd222db8b4ac" ], 0, - "7348db2a21180eaf3d65fbeee77c6af1" + "edb22972911fa9115f4fac78a6ae7783" ], [ "Steel.ST.C.Types.Array.mk_base_array_index", @@ -30,7 +30,7 @@ "typing_FStar.SizeT.t" ], 0, - "4b5cacac6c4b367358e4af2017614cad" + "4db485e8b9bd79d403fe61ee4309b4f9" ], [ "Steel.ST.C.Types.Array.mk_base_array_inj", @@ -59,7 +59,7 @@ "typing_FStar.SizeT.v" ], 0, - "d0a5ba1d47bb0d9241105959f1fb8139" + "b867ab186a141f08c5366f33720120d3" ], [ "Steel.ST.C.Types.Array.base_array_mk_fraction", @@ -68,7 +68,7 @@ 1, [ "@query", "lemma_Steel.ST.C.Types.Array.base_array_fractionable" ], 0, - "1bf0df5a19af10bbe18a5510f71b8cc3" + "5831d4f39602d8c13750b87d8acc1219" ], [ "Steel.ST.C.Types.Array.has_array_ref_base", @@ -88,7 +88,7 @@ "typing_Steel.ST.C.Types.Array.g_array_ptr_is_null" ], 0, - "d747bcf7e8a2a58275249be699403813" + "9aaedf47d609b13780b12f8768af5e17" ], [ "Steel.ST.C.Types.Array.has_array_ref_base_inj", @@ -108,7 +108,7 @@ "typing_Steel.ST.C.Types.Array.g_array_ptr_is_null" ], 0, - "6800e66bad9194ac430e76659bb60de1" + "0ab6e193e668aef329ebe9f987e0da8b" ], [ "Steel.ST.C.Types.Array.array_ref_base_offset_inj", @@ -130,7 +130,7 @@ "typing_Steel.ST.C.Types.Array.g_array_ptr_is_null" ], 0, - "8623d7acb5694e3149d4db2e8a8a24f7" + "a981b3d783172f77817dc73f90cc9229" ], [ "Steel.ST.C.Types.Array.array_len_of", @@ -142,7 +142,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "09e2a78c56133dd99bd988660a4591fb" + "d3eaeb69e29e10807347dbb14ed6411c" ], [ "Steel.ST.C.Types.Array.array_ref_of", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_7b1ce5c8fc8fa090c8019f184ba76e79" ], 0, - "38ce42467c05de1a4f16c22a8bd353de" + "abc7cbf7c1a680adf96d737b0f1b86e9" ], [ "Steel.ST.C.Types.Array.mk_array", @@ -172,7 +172,7 @@ "refinement_interpretation_Tm_refine_3ddb24cc6da0f897967004efe0d480e6" ], 0, - "b96adca630469d91ece8d2c91176bb7c" + "b8769b68b3b3ea73428b9fd07149ced7" ], [ "Steel.ST.C.Types.Array.array_pts_to_or_null", @@ -181,7 +181,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "3e7adfb177c0529c528df33bcc39aa12" + "062db5cd56d2d321d46c12099de04c9f" ], [ "Steel.ST.C.Types.Array.array_is_null", @@ -200,7 +200,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "efc68b7f5d4ad97d65be63332dc03364" + "bad6bf6c94f7c727ee1eb18960cd80bc" ], [ "Steel.ST.C.Types.Array.has_array_of_base", @@ -218,7 +218,7 @@ "refinement_interpretation_Tm_refine_b6a4c67928abc73ff244dc6d1b34a148" ], 0, - "ba068bed1b6c972e9b13adb537d77204" + "a13f58f444c6dee1805b6da180cd25a3" ], [ "Steel.ST.C.Types.Array.has_array_of_base_inj", @@ -244,7 +244,7 @@ "typing_FStar.SizeT.t" ], 0, - "44149e47f3d7a84fbbb0ca8eb0d3a070" + "dd72dbe397fa5160344eb74be02e034e" ], [ "Steel.ST.C.Types.Array.seq_of_base_array", @@ -263,7 +263,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "68664417abf3e43e07f3a3e7e1342f92" + "2a827f5ba9d99443569abf5c60747801" ], [ "Steel.ST.C.Types.Array.array_of_base", @@ -293,7 +293,7 @@ "typing_Steel.ST.C.Types.Array.array" ], 0, - "4815e9dd1247d568616598c59372abf3" + "cb926c1e1385b78914f110e12cdaef13" ], [ "Steel.ST.C.Types.Array.freeable_or_null_array", @@ -302,7 +302,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "63faa0b0cfaede2435548f5538265a4d" + "14d329b0337b1260951cf0e729ae7077" ], [ "Steel.ST.C.Types.Array.array_alloc", @@ -336,7 +336,7 @@ "typing_Steel.ST.C.Types.Base.uninitialized" ], 0, - "a3b68535c5831bdb2e4d0e0a46b0d710" + "a7bcedddce45e4c12d0f1d1ebfe199f3" ], [ "Steel.ST.C.Types.Array.full_seq_seq_of_base_array", @@ -376,7 +376,7 @@ "typing_Tm_abs_42800ca5de0058f9013e44b07edaeaa0" ], 0, - "f4738d99d5a048ecae037869a2956c6a" + "d6aa453e3b23a8bfcdd1cfaca1158080" ], [ "Steel.ST.C.Types.Array.array_ref_free", @@ -393,7 +393,7 @@ "refinement_interpretation_Tm_refine_3ddb24cc6da0f897967004efe0d480e6" ], 0, - "3c6eba45621efa731893ae3a52579d07" + "eac58076c4c9f3d64f34924dea1b4cbd" ], [ "Steel.ST.C.Types.Array.array_free", @@ -413,7 +413,7 @@ "refinement_interpretation_Tm_refine_7b1ce5c8fc8fa090c8019f184ba76e79" ], 0, - "e8f6e188a31785db49c378e82d393571" + "9dccad6bbdc612352080a6bf04159749" ], [ "Steel.ST.C.Types.Array.has_array_cell_has_base_array_cell", @@ -437,7 +437,7 @@ "typing_Steel.ST.C.Types.Array.g_array_ptr_is_null" ], 0, - "e09fcd59b82a670f6a677440a764b3b8" + "3d2d42a9125a7f5c62407292cfc7bda1" ], [ "Steel.ST.C.Types.Array.has_base_array_cell_has_array_cell", @@ -461,7 +461,7 @@ "typing_Steel.ST.C.Types.Array.g_array_ptr_is_null" ], 0, - "b474e4c0e9e55b13e833ba90c2c2167b" + "2a0c30bbe3b08a54d5d53c2458706ad4" ], [ "Steel.ST.C.Types.Array.ghost_array_cell_focus", @@ -473,7 +473,7 @@ "refinement_interpretation_Tm_refine_0c484fdd39bb54a8aef282a71371e789" ], 0, - "ce8ce67f9d10e1c8e3128f7e909e4ca0" + "6ccc8387be3b3838e2d5d8e5bca9bb28" ], [ "Steel.ST.C.Types.Array.ghost_array_cell", @@ -485,7 +485,7 @@ "refinement_interpretation_Tm_refine_5b00774d7c86e371f6974669f81e96ab" ], 0, - "899522b17fd725202d2dbc0fd60618a6" + "36b75ccaecebb420049dd7430bb2e338" ], [ "Steel.ST.C.Types.Array.array_ref_cell", @@ -503,7 +503,7 @@ "refinement_interpretation_Tm_refine_81f291e245be100b466d3b7aa144e85b" ], 0, - "ca822669fd8ebfde587fe5e05ad20882" + "9df679e72ce2443e103c916b6ddd1c83" ], [ "Steel.ST.C.Types.Array.array_cell", @@ -515,7 +515,7 @@ "refinement_interpretation_Tm_refine_8181a35c1d5583df779156248445e55d" ], 0, - "dc814cfd422d1c4847a8bb8c761cc47e" + "979addb8c674fa6ed4d8b818672cf5fa" ], [ "Steel.ST.C.Types.Array.array_cell", @@ -527,7 +527,7 @@ "refinement_interpretation_Tm_refine_8181a35c1d5583df779156248445e55d" ], 0, - "dc814cfd422d1c4847a8bb8c761cc47e" + "bfa086ddaf94932c31a876e6690fa228" ], [ "Steel.ST.C.Types.Array.array_cell", @@ -539,7 +539,7 @@ "refinement_interpretation_Tm_refine_8181a35c1d5583df779156248445e55d" ], 0, - "faa1f478e41cf56e563c902c1146096c" + "7ce6db84780f513a228e6267b8142f74" ], [ "Steel.ST.C.Types.Array.array_cell", @@ -551,7 +551,7 @@ "refinement_interpretation_Tm_refine_8181a35c1d5583df779156248445e55d" ], 0, - "faa1f478e41cf56e563c902c1146096c" + "7ce6db84780f513a228e6267b8142f74" ], [ "Steel.ST.C.Types.Array.array_cell", @@ -563,7 +563,7 @@ "refinement_interpretation_Tm_refine_8181a35c1d5583df779156248445e55d" ], 0, - "e336ea8f707777db4274bedc71805062" + "b560cbe259cd00aa58edaac0185db524" ], [ "Steel.ST.C.Types.Array.array_cell", @@ -575,7 +575,7 @@ "refinement_interpretation_Tm_refine_8181a35c1d5583df779156248445e55d" ], 0, - "e336ea8f707777db4274bedc71805062" + "b560cbe259cd00aa58edaac0185db524" ], [ "Steel.ST.C.Types.Array.array_cell", @@ -597,7 +597,7 @@ "refinement_interpretation_Tm_refine_8181a35c1d5583df779156248445e55d" ], 0, - "314f1c339ca034b4103ce9d2661098c3" + "5973086f767548dadea267e78c505801" ], [ "Steel.ST.C.Types.Array.unarray_cell", @@ -609,7 +609,7 @@ "refinement_interpretation_Tm_refine_0c484fdd39bb54a8aef282a71371e789" ], 0, - "e3ff07ef9da36806e6f97124ac966609" + "03a2682907f3a67ee327643a1524c07b" ], [ "Steel.ST.C.Types.Array.array_ref_shift", @@ -629,7 +629,7 @@ "typing_Steel.ST.C.Types.Array.g_array_ptr_is_null" ], 0, - "f353d5cdc3211a3eded823bb942b75cb" + "01a56a4bb8e0636b67ef174e9fe7d0df" ], [ "Steel.ST.C.Types.Array.array_ref_shift_zero", @@ -645,7 +645,7 @@ "typing_Steel.ST.C.Types.Array.array_ref_offset" ], 0, - "5b171a91a12c2a6a3b1509cfa384975a" + "f483a35bb8e52d101a9b689303f85657" ], [ "Steel.ST.C.Types.Array.array_ref_shift_assoc", @@ -668,7 +668,7 @@ "typing_Steel.ST.C.Types.Array.array_ref_offset" ], 0, - "dff5e4492ecfe7741410218236792afe" + "8ffb0b3a7be62a2752984bce10d5a5bc" ], [ "Steel.ST.C.Types.Array.array_split_l", @@ -694,7 +694,7 @@ "typing_Steel.ST.C.Types.Array.array_ref_offset" ], 0, - "2ffd5b0b2a455610760228cb85434f9b" + "58648d45e4424a13d65c3c37a5fc18af" ], [ "Steel.ST.C.Types.Array.array_split_r", @@ -721,11 +721,13 @@ "refinement_interpretation_Tm_refine_7345e45a081c530b535520410af62181", "refinement_interpretation_Tm_refine_7b1ce5c8fc8fa090c8019f184ba76e79", "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", + "refinement_interpretation_Tm_refine_da1f66110703d25999037bf1f6421850", "typing_FStar.SizeT.add", "typing_FStar.SizeT.v", + "typing_Steel.ST.C.Types.Array.array_ref_base_size", "typing_Steel.ST.C.Types.Array.array_ref_offset" ], 0, - "67a8e5033f54211cb64037f98621605b" + "5318247502eaa48b42d802dda44f1f6b" ], [ "Steel.ST.C.Types.Array.ghost_array_split", @@ -740,7 +742,7 @@ "refinement_interpretation_Tm_refine_937caa657545e8274db2079e1e9283bb" ], 0, - "d55e154e972ef612554169517129e8a6" + "15b6ade15f0199ce21fdaa270cddac39" ], [ "Steel.ST.C.Types.Array.array_ref_split_post", @@ -754,7 +756,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b143788aaf93f05264566e600e069700" + "f6df0660fc7a34d0ebf1fffdbd38446c" ], [ "Steel.ST.C.Types.Array.array_ref_split", @@ -770,7 +772,7 @@ "refinement_interpretation_Tm_refine_0cdf5bc6a077874e3af36cf15b3b711d" ], 0, - "a307865cf0a67b40f08512badee97910" + "9eef66e0d42ba52ffdce5cf31c203de5" ], [ "Steel.ST.C.Types.Array.array_split", @@ -779,7 +781,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "134dfcdf308a6652a82b14864e7b84cb" + "927e308a99ac7e3ef24085a55498960f" ], [ "Steel.ST.C.Types.Array.array_split", @@ -788,7 +790,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "134dfcdf308a6652a82b14864e7b84cb" + "cb7f0572560d40b286a3468b39bfbc31" ], [ "Steel.ST.C.Types.Array.array_split", @@ -797,7 +799,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "6b863557b04aa701a75cef7edff152e0" + "7098fc38aee532a45201080264b52b30" ], [ "Steel.ST.C.Types.Array.array_split", @@ -806,7 +808,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "6b863557b04aa701a75cef7edff152e0" + "7098fc38aee532a45201080264b52b30" ], [ "Steel.ST.C.Types.Array.array_split", @@ -815,7 +817,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "5b0bc9e3a6fdf345145a5c25f0851bad" + "bb3a771977022793b275d82a66cb6efc" ], [ "Steel.ST.C.Types.Array.array_split", @@ -824,7 +826,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "5b0bc9e3a6fdf345145a5c25f0851bad" + "bb3a771977022793b275d82a66cb6efc" ], [ "Steel.ST.C.Types.Array.array_split", @@ -833,7 +835,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "ef3f8f051a8db086e5cf61b2da1651b9" + "ccb30f10108ca7c77d162c12e39ff8a9" ], [ "Steel.ST.C.Types.Array.array_split", @@ -842,7 +844,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "ef3f8f051a8db086e5cf61b2da1651b9" + "ccb30f10108ca7c77d162c12e39ff8a9" ], [ "Steel.ST.C.Types.Array.array_split", @@ -851,7 +853,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "668308b5e98eff91acf495234e5af3f7" + "e11ca925224d99638b987eb691e3141e" ], [ "Steel.ST.C.Types.Array.array_split", @@ -860,7 +862,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "668308b5e98eff91acf495234e5af3f7" + "e11ca925224d99638b987eb691e3141e" ], [ "Steel.ST.C.Types.Array.array_split", @@ -869,7 +871,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "8a1bc7137c88673cbbc74eccdefdd61e" + "13b504620761ea7e773accc1805263e7" ], [ "Steel.ST.C.Types.Array.array_split", @@ -878,7 +880,7 @@ 1, [ "@query", "equation_Steel.ST.C.Types.Array.array_length" ], 0, - "8a1bc7137c88673cbbc74eccdefdd61e" + "13b504620761ea7e773accc1805263e7" ], [ "Steel.ST.C.Types.Array.array_split", @@ -921,7 +923,7 @@ "typing_Steel.ST.C.Types.Array.array_split_r" ], 0, - "8124fefc91cb753900f5d74d08876743" + "5f7f3168ec13da8251bae3d7a0c84014" ], [ "Steel.ST.C.Types.Array.array_join", @@ -930,7 +932,7 @@ 1, [ "@query" ], 0, - "d77ee13aae2954d4027313a19ec84a38" + "cf5ef49933b79820ddcc00d211f4faea" ], [ "Steel.ST.C.Types.Array.mk_fraction_seq", @@ -943,7 +945,7 @@ "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "14fa710d3bce83add179bbfd803c853c" + "9a5ecb570efa8d9d846904364fd0ffd6" ], [ "Steel.ST.C.Types.Array.mk_fraction_seq_full", @@ -972,7 +974,7 @@ "typing_Tm_abs_39a5c2e35ce78bab67e740bc8229353c" ], 0, - "8222dbdd86ec969ad9b9598eff6c82a9" + "77b69d0e1912cdc6e8f8721f02c953bb" ], [ "Steel.ST.C.Types.Array.mk_fraction_seq_split_gen", @@ -984,7 +986,7 @@ "refinement_interpretation_Tm_refine_4f89c2c4471071044571ada7ba65bc7e" ], 0, - "165ba456e571fe196ad24f163f33012a" + "28bacd4bf67ef9634c15f646c7371105" ], [ "Steel.ST.C.Types.Array.mk_fraction_seq_split", @@ -1001,7 +1003,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "aa7f899bab56270b81e22b8ee0221c98" + "efaa9e09023f3cb0f144934a727e1898" ], [ "Steel.ST.C.Types.Array.mk_fraction_seq_join", @@ -1013,7 +1015,7 @@ "refinement_interpretation_Tm_refine_4f89c2c4471071044571ada7ba65bc7e" ], 0, - "4098af6ebdc8767396b4633e4506aa6b" + "f60694093762287eeaf372f8b66225a2" ], [ "Steel.ST.C.Types.Array.array_fractional_permissions_theorem", @@ -1025,7 +1027,7 @@ "refinement_interpretation_Tm_refine_4f89c2c4471071044571ada7ba65bc7e" ], 0, - "bf410fce363c4293adf7d8ef947c68d6" + "bc602863f942bde587647523c2640b04" ], [ "Steel.ST.C.Types.Array.fractionable_seq_seq_of_base_array", @@ -1066,7 +1068,7 @@ "typing_Tm_abs_42800ca5de0058f9013e44b07edaeaa0" ], 0, - "b28512561b6370da28ae448d7cca7429" + "30e7f683ae93e3b44a7f574ec9d2cb68" ], [ "Steel.ST.C.Types.Array.array_blit_post", @@ -1084,7 +1086,7 @@ "typing_FStar.SizeT.v" ], 0, - "a3a66e3fefdaed672870a15d8480cab4" + "1832759f0b5911a66867d40dca128ed1" ], [ "Steel.ST.C.Types.Array.array_blit_ptr", @@ -1096,7 +1098,7 @@ "refinement_interpretation_Tm_refine_1debbf990a0c808e676da02d31cda4c3" ], 0, - "6c2d9fa858b11add46a110793de9ad21" + "14e4dec66f851ec6db9c57627f927ed3" ], [ "Steel.ST.C.Types.Array.array_blit", @@ -1119,7 +1121,7 @@ "refinement_interpretation_Tm_refine_7b1ce5c8fc8fa090c8019f184ba76e79" ], 0, - "fe41d03e4ff2a2cf74090ec4c1708dc4" + "a4668a611855175bbc97760a4d96263b" ], [ "Steel.ST.C.Types.Array.array_memcpy", @@ -1149,7 +1151,7 @@ "typing_FStar.SizeT.v", "typing_Steel.ST.C.Types.Array.array_length" ], 0, - "15bdc0f173adba44f5ec3af79b6aadf7" + "5e8813177b11bceb6789927e3316ff30" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.ST.C.Types.Base.fsti.hints b/lib/steel/c/Steel.ST.C.Types.Base.fsti.hints index 64b46c27a..3b9fc0b3c 100644 --- a/lib/steel/c/Steel.ST.C.Types.Base.fsti.hints +++ b/lib/steel/c/Steel.ST.C.Types.Base.fsti.hints @@ -1,5 +1,5 @@ [ - "!\u000bHJӕ!", + "(\u0015%2\u001d\u0019", [ [ "Steel.ST.C.Types.Base.mk_fraction_full", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3e6c3cf542fafda8cdbe68925f4252d5" + "b3a8bc6006cc1a8c752cf6f8b56b3d53" ], [ "Steel.ST.C.Types.Base.mk_fraction_compose", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_09330b422710f4c31e4f35e32425bfa0" ], 0, - "25ffcdd2c79dccb650bf30da4edef9e8" + "eb3e4fd9ae18cf2c692168badc0dd037" ], [ "Steel.ST.C.Types.Base.mk_fraction_unknown", @@ -32,7 +32,7 @@ 1, [ "@query" ], 0, - "fc3ca1b679310df9436f6ca9c4fcb07f" + "8602fef3991814164973be5f52d8476a" ], [ "Steel.ST.C.Types.Base.pts_to_or_null", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_21978cef57ee75dadfd152dc2b700d93" ], 0, - "2a5e7ae9e222b6dde65d47713c30b3c0" + "baab4a8cb0c0a5e9913ab27dbc0c4f31" ], [ "Steel.ST.C.Types.Base.assert_null", @@ -60,7 +60,7 @@ "typing_Prims.eq2", "typing_Steel.ST.C.Types.Base.ptr" ], 0, - "248fbda2e1c5d83a3e11b72db71d4a3e" + "7699beb5f2dee7b12dec929fb64c886a" ], [ "Steel.ST.C.Types.Base.assert_not_null", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_d6781048ef5c486361eac574171a24f0" ], 0, - "7333caaea92ffdb316c7d6452e09859a" + "b39e851237b2615c80b35568ca3c00f8" ], [ "Steel.ST.C.Types.Base.assert_not_null", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_d6781048ef5c486361eac574171a24f0" ], 0, - "7333caaea92ffdb316c7d6452e09859a" + "829459303bf79b9fa5e2ebfcab0f21f3" ], [ "Steel.ST.C.Types.Base.assert_not_null", @@ -103,7 +103,7 @@ "typing_Steel.ST.C.Types.Base.ptr" ], 0, - "c24e96edeb839e46cb6f030a8f324843" + "25307985bda944d3b9ef548c549f5f0c" ], [ "Steel.ST.C.Types.Base.freeable_or_null", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_21978cef57ee75dadfd152dc2b700d93" ], 0, - "24bcf90c452c0c4123483fcb29b5891d" + "e7e29a453d9cc4e28453f66205cce5a4" ], [ "Steel.ST.C.Types.Base.mk_fraction_split_gen", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_bae2571ed68e278dcba8f334582b87a0" ], 0, - "f9c7eef619a65973303b6dd39d6515db" + "86fd9b9e22b09ae83b123f18f854190e" ], [ "Steel.ST.C.Types.Base.mk_fraction_split", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_60affa7158c291242bb51b7fbd53177a" ], 0, - "29473323fc078b0e8cf7f5e059236188" + "37e7350bc41265c47cbeec0574e10193" ], [ "Steel.ST.C.Types.Base.mk_fraction_join", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_bae2571ed68e278dcba8f334582b87a0" ], 0, - "2fee5d11916fda80279d939765079c67" + "2fb343ad89fb85f7c88a7ef35ddad8e7" ], [ "Steel.ST.C.Types.Base.fractional_permissions_theorem", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_bae2571ed68e278dcba8f334582b87a0" ], 0, - "f4e6649c9ab75bb37dfc8b26563ef44d" + "ada7a0e8a13862c978217d992ff5ae52" ], [ "Steel.ST.C.Types.Base.copy", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_ade53f969f41f6c1b6d29003e624f2f4" ], 0, - "c8b2a7ad34dc976f28f1dbd6faaa97fb" + "710c4344b2bea889dca3c5a2cbfed52c" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.ST.C.Types.Fields.fsti.hints b/lib/steel/c/Steel.ST.C.Types.Fields.fsti.hints index 59a917739..9b32f63d0 100644 --- a/lib/steel/c/Steel.ST.C.Types.Fields.fsti.hints +++ b/lib/steel/c/Steel.ST.C.Types.Fields.fsti.hints @@ -17,7 +17,7 @@ "string_inversion" ], 0, - "3b13c391203d0f6d2173896a5eee4491" + "ad76d9f212c790afa08bde97aed42fc1" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.ST.C.Types.Scalar.fsti.hints b/lib/steel/c/Steel.ST.C.Types.Scalar.fsti.hints index 9867db86b..f60ba0e43 100644 --- a/lib/steel/c/Steel.ST.C.Types.Scalar.fsti.hints +++ b/lib/steel/c/Steel.ST.C.Types.Scalar.fsti.hints @@ -1,5 +1,5 @@ [ - "@C\u0015!~8\u00158t`z", + "\\7\u0001U&=3\u0019", [ [ "Steel.ST.C.Types.Scalar.mk_scalar_fractionable", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "dc611909250c9b4067ab4cc156f9acb2" + "dbfa625c2189760f74ff7e2ae01ef44e" ], [ "Steel.ST.C.Types.Scalar.mk_scalar_inj", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "b35a33d68f117b4d5a3ee1f46105730f" + "54e0f5dc8e581a586f5d4b139f15ebe1" ], [ "Steel.ST.C.Types.Scalar.scalar_unique", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "63dcc00ebb31020daa6dbc318eaa90c1" + "2a97f5abbb116ae7d34ff12c7d114ebf" ], [ "Steel.ST.C.Types.Scalar.read0", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "0ada5ba994cfb9666a7e3842ec8c4d44" + "ab8530d6c5d6e18124a79249dc02983a" ], [ "Steel.ST.C.Types.Scalar.mk_fraction_full_scalar", @@ -51,7 +51,30 @@ "typing_Steel.ST.C.Types.Scalar.scalar_t" ], 0, - "c892265d945ed1b2ac98581847b6546c" + "a61d5229e5f6701ac21d405530c4fdac" + ], + [ + "Steel.ST.C.Types.Scalar.get_scalar_value_mk_fraction_mk_scalar", + 1, + 2, + 1, + [ "@query" ], + 0, + "4a478789e4625ffbc0afc76eaafd09d5" + ], + [ + "Steel.ST.C.Types.Scalar.get_scalar_value_mk_scalar", + 1, + 2, + 1, + [ + "@query", + "lemma_Steel.ST.C.Types.Scalar.get_scalar_value_mk_fraction_mk_scalar", + "lemma_Steel.ST.C.Types.Scalar.mk_fraction_full_scalar", + "typing_Steel.FractionalPermission.full_perm" + ], + 0, + "e228141202ec76295626bc20b7d5a5ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -67,7 +90,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "c159930d9ae9ec33573221de4afa10ad" + "555f2db6c95bb0a3d676dce58cec3ffc" ], [ "Steel.ST.C.Types.Scalar.read", @@ -82,7 +105,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "6c5ea3579c1919e4f442c5dbf0c21a19" + "c281fe238976322bce8b2f8fe69731da" ], [ "Steel.ST.C.Types.Scalar.read", @@ -97,7 +120,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "6c5ea3579c1919e4f442c5dbf0c21a19" + "c281fe238976322bce8b2f8fe69731da" ], [ "Steel.ST.C.Types.Scalar.read", @@ -113,7 +136,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -129,7 +152,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -145,7 +168,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -161,7 +184,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -177,7 +200,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -193,7 +216,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -209,7 +232,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -225,7 +248,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -241,7 +264,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -257,7 +280,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "1c4746f704214d84c580510b3b158205" + "1765ca86badb06aa5e09af5808ab20ab" ], [ "Steel.ST.C.Types.Scalar.read", @@ -272,7 +295,7 @@ "typing_Steel.ST.C.Types.Scalar.mk_scalar" ], 0, - "6c5ea3579c1919e4f442c5dbf0c21a19" + "c281fe238976322bce8b2f8fe69731da" ], [ "Steel.ST.C.Types.Scalar.read", @@ -291,7 +314,7 @@ "typing_Steel.ST.C.Types.Scalar.scalar_t" ], 0, - "716d78c3ad08dcd742dd5668cb0ced46" + "f1719b313421702af9ad7327f171507c" ], [ "Steel.ST.C.Types.Scalar.write", @@ -300,7 +323,7 @@ 1, [ "@query" ], 0, - "6e23c0ef27be0349803b2ac593b03244" + "d8f63befac361a6e69a6bc06225b6568" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.ST.C.Types.Struct.fsti.hints b/lib/steel/c/Steel.ST.C.Types.Struct.fsti.hints index 5b4bd3b2f..0194ea470 100644 --- a/lib/steel/c/Steel.ST.C.Types.Struct.fsti.hints +++ b/lib/steel/c/Steel.ST.C.Types.Struct.fsti.hints @@ -25,7 +25,7 @@ "token_correspondence_Steel.ST.C.Types.Fields.__proj__Mkfield_description_t__item__fd_type" ], 0, - "67166e8ea225e16e961bbc29e674c1fd" + "8257513eceb4e78834f3118a1d334337" ], [ "Steel.ST.C.Types.Struct.struct_get_field_unknown", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "72989bcdb52422b6758d50247e38beba" + "c424e92831816c5a8d733e27b0720586" ], [ "Steel.ST.C.Types.Struct.struct_get_field_uninitialized", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "9038ecb7f056324369c38230b66e45c3" + "0f068ff1a4b9e51cb2bdccb5ceff4957" ], [ "Steel.ST.C.Types.Struct.has_struct_field", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "f2e43f7a5d6fb15960b44269dd34ab59" + "611b4cb8b6ab74e80577c72b811b55fa" ], [ "Steel.ST.C.Types.Struct.has_struct_field_dup", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "4436deb09af3a148c25d95b404117320" + "bca3c0366374230ff2c2d7d6d401510a" ], [ "Steel.ST.C.Types.Struct.has_struct_field_inj", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "1edbba9e918373a4d0f5553176c06f3b" + "ce0090b50c6c04aaa4514dda6f0b3d39" ], [ "Steel.ST.C.Types.Struct.has_struct_field_equiv_from", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "c1cb9626af56d2cca7ac4057fe89ae07" + "6eb08c111c1ddc7d3c779c7a730c5e54" ], [ "Steel.ST.C.Types.Struct.has_struct_field_equiv_to", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "4f296c2a7611bc42f3ff76615e4a840d" + "891b5a1c71de39ebe5f5640f06fa3437" ], [ "Steel.ST.C.Types.Struct.ghost_struct_field_focus", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "2e838a200ab4eca6504dc2c6cb9f181b" + "9f521a3739ab905d50c3ddabf81724c8" ], [ "Steel.ST.C.Types.Struct.ghost_struct_field", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "4b2d0c4592b1bd724b5ed0ba99d0ed64" + "0a0ab822bd0fb70b0913d516d9b6f67b" ], [ "Steel.ST.C.Types.Struct.struct_field0", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_ec100545d23e6c4ccf5a284615168133" ], 0, - "e550176e6b96dc5e5d305c1f18a12a02" + "665ec04116d716e373425fc39960944f" ], [ "Steel.ST.C.Types.Struct.struct_field", @@ -176,7 +176,7 @@ "string_inversion" ], 0, - "ee64033d595cd1ce614168cda6a7676c" + "2315fa1bb2eb48e7b1096d2c0a359eaa" ], [ "Steel.ST.C.Types.Struct.struct_field", @@ -194,7 +194,7 @@ "token_correspondence_Steel.ST.C.Types.Fields.__proj__Mkfield_description_t__item__fd_type" ], 0, - "bf77fbb6929bcd929e44866f03466feb" + "7f1ff2d50ac384ba9a5d4bb55f8ada40" ], [ "Steel.ST.C.Types.Struct.unstruct_field", @@ -207,7 +207,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "cb6e86fdd6b88188a7d03631e005a669" + "9e86b8b1a6cd9df56a27a255298c7639" ], [ "Steel.ST.C.Types.Struct.unstruct_field_alt", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "0d15cb2eb737e209b175c74a605e6cf7" + "7b86e372531696df0efdd9562e2d7a03" ], [ "Steel.ST.C.Types.Struct.unstruct_field_alt", @@ -243,7 +243,7 @@ "typing_Steel.ST.C.Types.Struct.struct_t0" ], 0, - "b6dc33692789d1f6f6a63869390a4a7b" + "fc27b115df847779f1f43f96b0df0862" ], [ "Steel.ST.C.Types.Struct.fractionable_struct", @@ -255,7 +255,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "30bfaf9f519ca1aa07d9d26a0d859c55" + "924de72e103d9dac5e01f8f01cf208f7" ], [ "Steel.ST.C.Types.Struct.mk_fraction_struct", @@ -270,7 +270,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "479c50452239cbf61b012c8f5a253575" + "ddf21852316cd37f29db12e02f4d0748" ], [ "Steel.ST.C.Types.Struct.full_struct", @@ -282,7 +282,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "b4357caff33c7ebeec37ff0f36a1936c" + "5115aa5c923beac091fc32d50606cd6e" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.ST.C.Types.Union.fsti.hints b/lib/steel/c/Steel.ST.C.Types.Union.fsti.hints index b6bba9abd..5769ec4ce 100644 --- a/lib/steel/c/Steel.ST.C.Types.Union.fsti.hints +++ b/lib/steel/c/Steel.ST.C.Types.Union.fsti.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "2e6491d1b0add5e950e320eb4190b41c" + "07b6f2b48dcbf3f84c73495cd67edb07" ], [ "Steel.ST.C.Types.Union.union_set_field_same", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_495b2b01f37fb87a65d2d9be7250f96e" ], 0, - "5590e9c1591385d4bee6b4639ce90664" + "f2c3b1af0bfbe82c2a20cc1b1e486c8d" ], [ "Steel.ST.C.Types.Union.union_set_field_unknown", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "b7c1b46f950f900ad7c43b964016d773" + "692b991b4f4d2e2dbe8ef988a6cebdf2" ], [ "Steel.ST.C.Types.Union.mk_fraction_union_get_case", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4c992d20a82b653e68e954fff1c5c415" + "8de8689e48736f3dd14d85f69171714c" ], [ "Steel.ST.C.Types.Union.fractionable_union_get_field", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "a15770d909a1ff0c9dc9603847cda026" + "f3f0ec112a444fcc6ac08f9f2c70ef3f" ], [ "Steel.ST.C.Types.Union.mk_fraction_union_get_field", @@ -82,7 +82,7 @@ "string_inversion" ], 0, - "a1e3a0925bc5e5e022d95edf305f3213" + "74c0908d70454c5e8208926ae08bfe7a" ], [ "Steel.ST.C.Types.Union.mk_fraction_union_set_field", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "44a88cd6b991a88a2848b9892e473913" + "f1ebc76384fce409f8d1d5e67e24c901" ], [ "Steel.ST.C.Types.Union.full_union", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "f821268d41cbfdcb543eb9ed79685b63" + "e4667299ac85695e91a42d97bd3619de" ], [ "Steel.ST.C.Types.Union.has_union_field", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "0c6a3663b96ad5ebc136b2dd14ccfd94" + "5862d2c1d7b5b0bbce83b38084afae0f" ], [ "Steel.ST.C.Types.Union.has_union_field_dup", @@ -136,7 +136,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "b1628b2680d2e7249ad2eba06eeb9c42" + "81d571bdd70a2fa95343343be2e3958e" ], [ "Steel.ST.C.Types.Union.has_union_field_inj", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "765ebc21212bb5763bf12d2fe1f8b495" + "c8f68e53906005ae393d9489bd46618e" ], [ "Steel.ST.C.Types.Union.has_union_field_equiv_from", @@ -162,7 +162,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "d72934595d987342b90d4529b5ff46c7" + "636e2c0d3c2929d3cdce97add5defaf3" ], [ "Steel.ST.C.Types.Union.has_union_field_equiv_to", @@ -175,7 +175,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "14a89fd26bc6343193e63c9d1a6c7eff" + "d039ab89aeb744560552ab059ebd57ac" ], [ "Steel.ST.C.Types.Union.ghost_union_field_focus", @@ -190,7 +190,7 @@ "refinement_interpretation_Tm_refine_ae88da90f10789c5a65dada09f526a7c" ], 0, - "65fdfc57c8a3c1198edca0b556794876" + "ea9e4d5377a8d7fb4d772d69ddec7af4" ], [ "Steel.ST.C.Types.Union.ghost_union_field", @@ -205,7 +205,7 @@ "refinement_interpretation_Tm_refine_ae88da90f10789c5a65dada09f526a7c" ], 0, - "6686757b9727e73d8248814e2dfcf3a0" + "991aa4cc5f01304b94d65d9c41d0870d" ], [ "Steel.ST.C.Types.Union.union_field0", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_ec100545d23e6c4ccf5a284615168133" ], 0, - "984bc9c63967476cc2c1301ca1fa17e3" + "bc57de4579f6a5ebc6298ff72807ef38" ], [ "Steel.ST.C.Types.Union.union_field", @@ -236,7 +236,7 @@ "refinement_interpretation_Tm_refine_7a3bd84490fe2ccd5fb7b165071628c5" ], 0, - "d792443dc79493c6e3978ba4cb818bc0" + "b209977d39a9de9444186190b31391cd" ], [ "Steel.ST.C.Types.Union.union_field", @@ -253,7 +253,7 @@ "token_correspondence_Steel.ST.C.Types.Fields.__proj__Mkfield_description_t__item__fd_type" ], 0, - "dcf0c3109329a3e855bce2c45fcdb714" + "3b69ca9d228f017c511bfd0b17504859" ], [ "Steel.ST.C.Types.Union.ununion_field", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_8ffab201a92126dfbeb11a4ac5daf7ca" ], 0, - "ba74ccf1f04022d8adc51833bfad6454" + "81b00e94cdf968f30c360f131482b7fe" ], [ "Steel.ST.C.Types.Union.union_switch_field0", @@ -282,7 +282,7 @@ "refinement_interpretation_Tm_refine_ec100545d23e6c4ccf5a284615168133" ], 0, - "6303caaa618cedfc7772e61bbdb7d710" + "5f1a71a07e3af4c7c7275bf091c1c7cc" ], [ "Steel.ST.C.Types.Union.union_switch_field", @@ -298,7 +298,7 @@ "string_inversion" ], 0, - "7b354dd2954328f5a1c36d3f71a0e222" + "2353a55ec6eadf081f22daa792aee6b8" ], [ "Steel.ST.C.Types.Union.union_switch_field", @@ -314,7 +314,7 @@ "token_correspondence_Steel.ST.C.Types.Fields.__proj__Mkfield_description_t__item__fd_type" ], 0, - "886e2e2102a0822945e6d74daa9f6b3e" + "0fba716af3d25782a62bb9c2cf9f246d" ] ] ] \ No newline at end of file diff --git a/lib/steel/c/Steel.ST.C.Types.UserStruct.fsti.hints b/lib/steel/c/Steel.ST.C.Types.UserStruct.fsti.hints index 2ca490ea6..5719ee1bf 100644 --- a/lib/steel/c/Steel.ST.C.Types.UserStruct.fsti.hints +++ b/lib/steel/c/Steel.ST.C.Types.UserStruct.fsti.hints @@ -1,6 +1,22 @@ [ - "eZ=U$0\bd\u000f\fo", + "{m\u000b\u0005\u0013\n\u001b\u001cD", [ + [ + "Steel.ST.C.Types.UserStruct.set_snoc", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "equation_Steel.ST.C.Types.UserStruct.set_def", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "projection_inverse_BoxBool_proj_0", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton" + ], + 0, + "c8594d90e4258004568d01a0714bf469" + ], [ "Steel.ST.C.Types.UserStruct.nonempty_set_nonempty_type", 1, @@ -8,7 +24,7 @@ 1, [ "@query" ], 0, - "e7e7ec63ff3fb6b46310a8963041386c" + "aed89741d3158889d1888bbe4a74f4bf" ], [ "Steel.ST.C.Types.UserStruct.set_aux", @@ -24,7 +40,7 @@ "token_correspondence_Steel.ST.C.Types.Struct.Aux.__proj__Mkfield_description_gen_t__item__fd_type" ], 0, - "869e4b880dade286425f727f391e2c66" + "055e18cbbfed72956b02f09e242cb050" ], [ "Steel.ST.C.Types.UserStruct.get_set", @@ -50,7 +66,7 @@ "typing_Steel.ST.C.Types.UserStruct.__proj__Mkstruct_def__item__fields" ], 0, - "cb998eab4f50496d01746867ea600789" + "da1c8a682f7fd00c3aa9f775bccf7ee5" ], [ "Steel.ST.C.Types.UserStruct.struct_field0", @@ -62,7 +78,7 @@ "refinement_interpretation_Tm_refine_444d25c85876e6ad9fa4dce9efafe473" ], 0, - "fe9eacceb82067a3d158b8de0a8133ce" + "8b46a586a9251e2db264b3169a4965ca" ], [ "Steel.ST.C.Types.UserStruct.struct_field", @@ -71,7 +87,7 @@ 1, [ "@query" ], 0, - "187f493fac5009d4d9fc6f526ddc3d31" + "d0c43aaa55f7a11609cb58ff79e2baeb" ], [ "Steel.ST.C.Types.UserStruct.struct_field", @@ -87,7 +103,7 @@ "token_correspondence_Steel.ST.C.Types.Struct.Aux.__proj__Mkfield_description_gen_t__item__fd_type" ], 0, - "0ac18f1f790cdee7c018b84fbf408074" + "c664cc34bb2ed2bc0141e39c19a8558b" ], [ "Steel.ST.C.Types.UserStruct.unstruct_field_alt", @@ -112,7 +128,7 @@ "typing_Steel.ST.C.Types.UserStruct.set" ], 0, - "cfd6bbeea886f407aead940caca69063" + "8c353dcee9328a0ad8b5782244132eeb" ], [ "Steel.ST.C.Types.UserStruct.mk_fraction_struct", @@ -125,7 +141,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9e908a1c16c981c7f598fec856aca893" + "9dc3ebb3a399778bd96416a277491836" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.Abs.fst.hints b/lib/steel/pulse/Pulse.Checker.Abs.fst.hints index 2cf96e709..1e089791e 100644 --- a/lib/steel/pulse/Pulse.Checker.Abs.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.Abs.fst.hints @@ -1,33 +1,40 @@ [ - "1O%pj\u001dA", [ [ "Pulse.Checker.Inference.uvar_eq", @@ -30,7 +30,7 @@ "string_typing" ], 0, - "91c8a16a7b0b62455f947749f80ab7ff" + "f4c19e651b45d5010d0eef5b31280677" ], [ "Pulse.Checker.Inference.uvar_to_string", @@ -39,10 +39,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Tactics.Result.__result" + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "string_typing" ], 0, - "781ef0d4cf4a541e7021e669b906b892" + "f3657921d20cb92e19920613855bcdcf" ], [ "Pulse.Checker.Inference.is_uvar_r", @@ -53,7 +55,7 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "7167b6f0818e21bdde8ee7b97e224817" + "ec8f547e4b70534b4b000485ad19e425" ], [ "Pulse.Checker.Inference.wrap_nat_to_uvar", @@ -85,7 +87,7 @@ "typing_Pulse.Checker.Inference.embedded_uvar_prefix" ], 0, - "170bdef34e56ec9a1caa6e4d3f49d5d1" + "1d6f188dea165ea0b33e93af81013e7c" ], [ "Pulse.Checker.Inference.gen_uvar", @@ -162,7 +164,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkppname__item__range" ], 0, - "69fac60d2c762bdf06b5e46e5bccfde0" + "d74f9fbd14e2463b412f8de5c94653d3" ], [ "Pulse.Checker.Inference.gen_uvars", @@ -172,40 +174,29 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Pulse.Syntax.Base_pretyping_0b425ab385a56835d52cd71c18622a32", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "constructor_distinct_Pulse.Syntax.Base.C_Tot", "disc_equation_Pulse.Syntax.Base.C_ST", "disc_equation_Pulse.Syntax.Base.C_STAtomic", "disc_equation_Pulse.Syntax.Base.C_STGhost", "disc_equation_Pulse.Syntax.Base.C_Tot", - "equality_tok_Pulse.Syntax.Base.Implicit@tok", - "equation_Pulse.Checker.Inference.uvar", + "equation_Pulse.Syntax.Naming.open_comp_", "equation_Pulse.Syntax.Naming.open_comp_with", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", + "equation_Pulse.Syntax.Naming.subst_comp", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Pulse.Syntax.Base.comp", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "function_token_typing_Pulse.Checker.Inference.uvar", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_Pulse.Syntax.Base.binder@tok", - "kinding_Pulse.Syntax.Base.comp@tok", - "kinding_Pulse.Syntax.Base.qualifier@tok", - "kinding_Pulse.Syntax.Base.term@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5781715c19bef5e453263e8556147b71", - "string_typing", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", - "typing_Pulse.Syntax.Naming.open_comp_with", - "typing_Pulse.Syntax.Pure.is_arrow", - "typing_tok_Pulse.Syntax.Base.Implicit@tok" + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__1", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "projection_inverse_Pulse.Syntax.Base.C_Tot__0", "string_typing" ], 0, - "2d52d779410214afeda5dd7bbb9eb7c1" + "56a0b1cb236a00211ee13beb5457d49f" ], [ "Pulse.Checker.Inference.check_valid_solution", @@ -220,7 +211,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3592a62ced6b63117442a27f673a11e4" + "4f5e8e515ac99785119186f537899cb4" ], [ "Pulse.Checker.Inference.uvar_index", @@ -232,7 +223,7 @@ "refinement_interpretation_Tm_refine_28c06937355ee21667a4605a29eedb5a" ], 0, - "e8877b7495d055ad247de40b3ad053df" + "44fd07899f802a8dee38f7d86b3cb695" ], [ "Pulse.Checker.Inference.is_reveal_uvar", @@ -246,7 +237,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8f62e5267d985ec834327eae800c7861" + "4dfd53158151c0661489b5930c718a0e" ], [ "Pulse.Checker.Inference.is_reveal", @@ -260,7 +251,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9b03f537e1c0f61ba0d24e92fa8679a0" + "b63f3301eb13769e165fe921e34367f8" ], [ "Pulse.Checker.Inference.match_typ", @@ -269,42 +260,37 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Pulse.Syntax.Base_pretyping_0b425ab385a56835d52cd71c18622a32", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Pulse.Syntax.Base.qualifier__uu___haseq", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Pulse.Syntax.Base.Implicit@tok", - "equation_Pulse.Checker.Inference.is_reveal", "equation_Pulse.Checker.Inference.is_reveal_uvar", "equation_Pulse.Checker.Inference.is_uvar", "equation_Pulse.Checker.Inference.uvar", "equation_Pulse.Syntax.Base.universe", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "function_token_typing_FStar.Reflection.Types.universe", "function_token_typing_Pulse.Checker.Inference.uvar", "kinding_Pulse.Syntax.Base.qualifier@tok", - "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", - "typing_Pulse.Checker.Inference.is_reveal_uvar", + "projection_inverse_FStar.Pervasives.Native.Some_v", "string_typing", "typing_Pulse.Checker.Inference.is_uvar", "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "4fdaf5b8c79782bfc5038ca7ae60f8a2" + "2327db370450c1eb3e864bfb46c30908" ], [ "Pulse.Checker.Inference.atomic_vprop_has_uvar", @@ -321,7 +307,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "228c49369e63a3de75101cf8d8ff2846" + "2f8c4fe78c3850ddb308b9961222a8b6" ], [ "Pulse.Checker.Inference.atomic_vprops_may_match", @@ -347,7 +333,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "32aaab8a619dec267f8fce0a4f6f3308" + "ee6220212cd9b5ec5af43a2e2058c325" ], [ "Pulse.Checker.Inference.infer_one_atomic_vprop", @@ -360,19 +346,28 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Pulse.Syntax.Naming_interpretation_Tm_arrow_12fa1b3ed1cc1655dcad602c3f14587a", + "constructor_distinct_FStar.Integers.Signed", + "constructor_distinct_FStar.Integers.Winfinite", "disc_equation_Prims.Cons", + "equality_tok_FStar.Integers.Winfinite@tok", + "equation_FStar.Integers.int_t", + "equation_Pulse.Checker.Inference.solution", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", "kinding_Pulse.Syntax.Base.term@tok", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Integers.Signed__0", "refinement_interpretation_Tm_refine_5c77e54d118aa26696ff018c647e0d2c", - "typing_FStar.List.Tot.Base.filter", + "string_typing", "typing_FStar.List.Tot.Base.filter", "typing_Tm_abs_a50df50776e7513dd631c9344c84f8ba" ], 0, - "f2fcd43bc5e7bb1b947317f1fdf97314" + "0edf761b1a2a8c60262ac68e3efab34d" ], [ "Pulse.Checker.Inference.rebuild_head", @@ -399,30 +394,34 @@ "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "equation_Pulse.Checker.Inference.solution", "equation_Pulse.Checker.Inference.uvar", + "equation_Pulse.Checker.Inference.uvar_id", "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", "function_token_typing_Pulse.Checker.Inference.uvar", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Pulse.Syntax.Base.st_term@tok", "kinding_Pulse.Syntax.Base.term@tok", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Tactics.Result.Success_a", "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.find", "typing_FStar.List.Tot.Base.length", - "typing_Tm_abs_5cd9ec899cda267f79172e41e675d7a5" + "typing_Tm_abs_1583e66041c1d967451ef8a185bc2eb2" ], 0, - "096e200432e95b8df5c9c1b166ac20a2" + "48cd50c2d74cf54214bd902f1c70a0e6" ], [ "Pulse.Checker.Inference.print_solutions", @@ -436,7 +435,7 @@ "string_typing" ], 0, - "5fb8dba73ab822b8b496968e7ee88cc2" + "8715a6139d20a987112c40215041b8d5" ], [ "Pulse.Checker.Inference.find_solution", @@ -465,52 +464,7 @@ "typing_Tm_abs_a95fc995fc65154c93f16aa142ec453d" ], 0, - "f319b68b33e3c005e572cd3c7a5785e2" - ], - [ - "Pulse.Checker.Inference.infer", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Tactics.Result.Failed", - "constructor_distinct_FStar.Tactics.Result.Success", - "constructor_distinct_Pulse.Syntax.Base.C_ST", - "data_elim_FStar.Tactics.Result.Success", "data_elim_Prims.Cons", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.nat", - "equation_Pulse.Checker.Inference.solution", - "equation_Pulse.Checker.Inference.uvar", - "equation_Pulse.Syntax.Base.vprop", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Pulse.Checker.Inference.uvar", - "kinding_Prims.list@tok", "kinding_Pulse.Syntax.Base.comp@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Tactics.Result.Failed_a", - "projection_inverse_FStar.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Tactics.Result.Success_a", - "projection_inverse_FStar.Tactics.Result.Success_ps", - "projection_inverse_FStar.Tactics.Result.Success_v", - "projection_inverse_Pulse.Syntax.Base.C_ST__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" - ], - 0, - "7c8396a208dcf99421a99f200df082ac" + "9bcc11786c015cbb34331ff66ef2e1e1" ], [ "Pulse.Checker.Inference.apply_sol", @@ -530,7 +484,7 @@ "typing_Pulse.Checker.Inference.is_uvar_r" ], 0, - "0c8de56011779a224f9c4ac798000051" + "eb9af06216c1eb30f6110ea6c113233e" ], [ "Pulse.Checker.Inference.apply_solution", @@ -557,7 +511,55 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "bd90e6fe9c79797161186f1317ebb835" + "396b4af258d1917fc149a2b8b84ee222" + ], + [ + "Pulse.Checker.Inference.infer", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Integers.Signed", + "constructor_distinct_FStar.Integers.Winfinite", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "data_elim_FStar.Tactics.Result.Success", "data_elim_Prims.Cons", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equality_tok_FStar.Integers.Winfinite@tok", + "equation_FStar.Integers.int_t", "equation_Prims.nat", + "equation_Pulse.Checker.Inference.solution", + "equation_Pulse.Checker.Inference.unsolved_uvs", + "equation_Pulse.Checker.Inference.uvar", + "equation_Pulse.Syntax.Base.vprop", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Pulse.Checker.Inference.uvar", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Integers.Signed__0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Tactics.Result.Failed_a", + "projection_inverse_FStar.Tactics.Result.Failed_exn", + "projection_inverse_FStar.Tactics.Result.Failed_ps", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_Pulse.Checker.Inference.unsolved_uvs" + ], + 0, + "3153a99dc4b8aa1198d94fde0da2fac4" ], [ "Pulse.Checker.Inference.contains_uvar", @@ -582,7 +584,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "f327f0088b473164239e6a175ea6e035" + "b65ed7148f43a55c6063f328e5ab7b32" ], [ "Pulse.Checker.Inference.is_eq2", @@ -596,7 +598,7 @@ "typing_FStar.Reflection.Types.name" ], 0, - "c909af7d5c045b718685691efbc56d44" + "533742479d2230de5dbc50a55a2100b4" ], [ "Pulse.Checker.Inference.try_solve_pure_equalities", @@ -612,7 +614,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "0d67a71159f9a966d8f7152df5501551" + "66510e82539a5cb4af0505d7f0e7c234" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.Inference.fsti.hints b/lib/steel/pulse/Pulse.Checker.Inference.fsti.hints index 12d3172f6..edaa6b0ab 100644 --- a/lib/steel/pulse/Pulse.Checker.Inference.fsti.hints +++ b/lib/steel/pulse/Pulse.Checker.Inference.fsti.hints @@ -1 +1 @@ -[ "\u000b^\u001c6\u00055y(", [] ] \ No newline at end of file +[ "xs\u0015$xxL2U6", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.IntroPure.fst.hints b/lib/steel/pulse/Pulse.Checker.IntroPure.fst.hints index c566ad618..04b7dd828 100644 --- a/lib/steel/pulse/Pulse.Checker.IntroPure.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.IntroPure.fst.hints @@ -8,11 +8,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Pulse.Typing_interpretation_Tm_arrow_057b258425247a37b4f6ea83e1d6f6fe", "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", - "data_elim_FStar.Tactics.Result.Success", "data_elim_Pulse.Syntax.Base.Mkterm", "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", @@ -22,23 +19,19 @@ "equation_Pulse.Syntax.Base.range", "equation_Pulse.Syntax.Base.tm_pure", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.dtuple2", "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_Pulse.Syntax.Base.range_singleton", - "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Pulse.Syntax.Base.Mkterm_range", "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_Pulse.Syntax.Base.Tm_Pure_p", "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", "typing_FStar.Reflection.Const.prop_qn", "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_Prims.__proj__Mkdtuple2__item___1", - "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", - "typing_Tm_abs_721820113e572d77dcb3e18038febf41" + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range" ], 0, - "83d9c566d6f166e245f8bf4ded0ea1f5" + "a1709c140c674fc9b0c87acfdf201513" ], [ "Pulse.Checker.IntroPure.check_intro_pure", @@ -64,7 +57,6 @@ "fuel_guarded_inversion_Pulse.Syntax.Base.comp", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_BarBar", - "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", @@ -79,7 +71,7 @@ "typing_Pulse.Typing.Env.fstar_env" ], 0, - "1a14e123913b2e0946ca290c7ef3bc75" + "c196524933b3964597c441668fad7951" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.Match.fst.hints b/lib/steel/pulse/Pulse.Checker.Match.fst.hints new file mode 100644 index 000000000..0a3c0d2bd --- /dev/null +++ b/lib/steel/pulse/Pulse.Checker.Match.fst.hints @@ -0,0 +1,1084 @@ +[ + ">\to6nEt%T", + [ + [ + "Pulse.Checker.Match.readback_pat", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.range_singleton_trigger", + "string_typing", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", "true_interp" + ], + 0, + "0ba6d153dd09d9781b93506c7ca334d0" + ], + [ + "Pulse.Checker.Match.readback_pat", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_d5a056b3f53fde1e6865ae8f6052fbfa_0", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "e72ff67f56d85d569cac70beddef8707" + ], + [ + "Pulse.Checker.Match.lemma_map_len", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Pulse.Checker.Match_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", + "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "lemma_FStar.List.Tot.Properties.map_lemma", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "00a3637e1e8d8444570b2fbc8ca56a32" + ], + [ + "Pulse.Checker.Match.lemma_map_index", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", + "@query", "lemma_Pulse.Checker.Match.lemma_map_len" + ], + 0, + "ad29cf157d3c668d9e960713413819a3" + ], + [ + "Pulse.Checker.Match.lemma_map_index", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Pulse.Checker.Match_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", + "binder_x_37fb580a274709f0cf81fda0ab386e65_6", + "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "constructor_distinct_FStar.Integers.Signed", + "constructor_distinct_FStar.Integers.Winfinite", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "equality_tok_FStar.Integers.Winfinite@tok", + "equation_FStar.Integers.int_t", "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "lemma_Pulse.Checker.Match.lemma_map_len", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Integers.Signed__0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a69be73d19c07ee4f4f99de7dd0c6d9a", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" + ], + 0, + "dd06fbecd1dd0269a4136a694086722a" + ], + [ + "Pulse.Checker.Match.__lemma_map_opt_lenx", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_opt.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_opt.fuel_instrumented", "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Pulse.Checker.Match_interpretation_Tm_arrow_41cb7ff98ddc4d65ea507c5289ae6dc0", + "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", + "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_6", + "binder_x_f41edc86ba19975386547506e21fe08c_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Pulse.Common.op_let_Question", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Common.map_opt.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", + "interpretation_Tm_abs_d43cb1c29fb4751a058c344bdc0417a5", + "interpretation_Tm_abs_f4ac1bb6b4a44350828702f0e924d9aa", + "lemma_FStar.Pervasives.invertOption", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "string_typing", "subterm_ordering_Prims.Cons", + "typing_Pulse.Common.map_opt" + ], + 0, + "24873c0f4e62311e3ce92641f282f71e" + ], + [ + "Pulse.Checker.Match.lemma_map_opt_lenx", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "1d9b27b4d5b53836fbabb43bff498343" + ], + [ + "Pulse.Checker.Match.__lemma_map_opt_dec_lenx", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_opt_dec.fuel_instrumented", + "@query", + "Pulse.Checker.Match_interpretation_Tm_arrow_f00e7f9286c6af707e459bdb21e2067d", + "Pulse.Common_interpretation_Tm_arrow_6ecd4e3008b24e12a7600c9da7f1751b", + "binder_x_6c50b6a78a5d5fe006e018a5fd13eaaf_8", + "binder_x_94c9b5a69548692a96b16bf575867ad5_6", + "binder_x_c62f3cea4d6ddcf6e64452fb18d23b8c_7", + "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_9", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_5", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", + "equation_Pulse.Common.op_let_Question", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Common.map_opt_dec.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", + "interpretation_Tm_abs_a4ae852c8e9090e7a19d6cf9f209d120", + "interpretation_Tm_abs_f4ac1bb6b4a44350828702f0e924d9aa", + "lemma_FStar.Pervasives.invertOption", + "lemma_Pulse.Common.lemma_map_opt_dec_len", + "primitive_Prims.op_Addition", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7dd233ef2aca4ec82dde83d4c1a4b2bb", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_da1abf8c1e8d764f88ea1963b9cbf32a", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "token_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented" + ], + 0, + "6ca8c7789e0014c2d20cf0d6ce7874a6" + ], + [ + "Pulse.Checker.Match.lemma_map_opt_dec_lenx", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "337e51e2275ec043a3b96f51dda13f65" + ], + [ + "Pulse.Checker.Match.__lemma_map_opt_dec_index", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_opt_dec.fuel_instrumented", + "@query", "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.Some", + "lemma_Pulse.Common.dec_index", + "lemma_Pulse.Common.lemma_map_opt_dec_len", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_978a3a4cff23bdbedd1feecc2512edfc", + "refinement_interpretation_Tm_refine_a0ed565d65da00445f8b6df1c0241b82", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e" + ], + 0, + "e6aa8a53614fa7b8414fdc3bbed281b5" + ], + [ + "Pulse.Checker.Match.__lemma_map_opt_dec_index", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_opt_dec.fuel_instrumented", + "@query", + "Pulse.Checker.Match_interpretation_Tm_arrow_f00e7f9286c6af707e459bdb21e2067d", + "Pulse.Common_interpretation_Tm_arrow_6ecd4e3008b24e12a7600c9da7f1751b", + "binder_x_6c50b6a78a5d5fe006e018a5fd13eaaf_8", + "binder_x_7b53967ef846f06f497df01afa7e87b8_10", + "binder_x_94c9b5a69548692a96b16bf575867ad5_6", + "binder_x_c62f3cea4d6ddcf6e64452fb18d23b8c_7", + "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_9", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_5", + "constructor_distinct_FStar.Integers.Signed", + "constructor_distinct_FStar.Integers.Winfinite", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", + "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_Prims.Cons", + "equality_tok_FStar.Integers.Winfinite@tok", + "equation_FStar.Integers.int_t", "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", + "equation_Prims.op_Equals_Equals_Equals", + "equation_Pulse.Common.op_let_Question", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Common.map_opt_dec.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "interpretation_Tm_abs_a4ae852c8e9090e7a19d6cf9f209d120", + "interpretation_Tm_abs_f4ac1bb6b4a44350828702f0e924d9aa", + "lemma_FStar.Pervasives.invertOption", + "lemma_Pulse.Common.dec_index", + "lemma_Pulse.Common.lemma_map_opt_dec_len", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple3__1", + "proj_equation_FStar.Pervasives.Native.Mktuple3__2", + "proj_equation_FStar.Pervasives.Native.Mktuple3__3", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Integers.Signed__0", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_10bd1976b071e66c0e8c9adf261d4ec9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7c18d3abfc17d0f242aa8b4423b55dbd", + "refinement_interpretation_Tm_refine_7dd233ef2aca4ec82dde83d4c1a4b2bb", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_da1abf8c1e8d764f88ea1963b9cbf32a", + "subterm_ordering_Prims.Cons", + "token_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented" + ], + 0, + "53ebcc0632d144432b7c6f257e38085c" + ], + [ + "Pulse.Checker.Match.lemma_map_opt_dec_index", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_opt_dec.fuel_instrumented", + "@query", "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "int_inversion", "lemma_Pulse.Common.dec_index", + "lemma_Pulse.Common.lemma_map_opt_dec_len", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_46b415e631ade914e858d9e069a0b994", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" + ], + 0, + "ce3f0b821dbbfe3db2d98618346e9c1b" + ], + [ + "Pulse.Checker.Match.elab_readback_pat_x", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "3c3072d77a82c96d44690c5501cca2e8" + ], + [ + "Pulse.Checker.Match.elab_readback_pat_x", + 2, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Checker.Match.readback_pat.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_dec.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented", + "@fuel_correspondence_Pulse.Elaborate.Pure.elab_pat.fuel_instrumented", + "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_dec.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_opt_dec.fuel_instrumented", + "@query", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "Pulse.Common_interpretation_Tm_arrow_6ecd4e3008b24e12a7600c9da7f1751b", + "Pulse.Common_interpretation_Tm_arrow_987cb45341a5cf19cc0fc1902456eec5", + "Pulse.Elaborate.Pure_interpretation_Tm_arrow_ef2fa97634800a4245bd468935c65cbf", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "binder_x_be189e4f396d5337499ee0c3708ca7f2_1", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Cons", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Var", + "constructor_distinct_Pulse.Syntax.Base.Pat_Cons", + "constructor_distinct_Pulse.Syntax.Base.Pat_Constant", + "constructor_distinct_Pulse.Syntax.Base.Pat_Dot_Term", + "constructor_distinct_Pulse.Syntax.Base.Pat_Var", + "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", + "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", + "data_elim_FStar.Reflection.V2.Data.Pat_Dot_Term", + "data_elim_Pulse.Syntax.Base.Pat_Dot_Term", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "disc_equation_Pulse.Syntax.Base.Pat_Cons", + "disc_equation_Pulse.Syntax.Base.Pat_Var", + "equation_FStar.Reflection.Typing.tun", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.tm_fstar", + "equation_Pulse.Syntax.Pure.op_let_Question", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Checker.Match.readback_pat.fuel_instrumented", + "equation_with_fuel_Pulse.Elaborate.Pure.elab_pat.fuel_instrumented", + "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Syntax.Base.pattern", + "fuel_token_correspondence_Pulse.Checker.Match.readback_sub_pat.fuel_instrumented_token", + "function_token_typing_Prims.bool", + "function_token_typing_Pulse.Elaborate.Pure.elab_sub_pat", + "int_inversion", + "interpretation_Tm_abs_9034e5a240e25c6acdad389816811634", + "interpretation_Tm_abs_fc94c23e4882f3fe990a94d22e3651be", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", + "kinding_Prims.list@tok", "kinding_Pulse.Syntax.Base.pattern@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Reflection.Typing.pack_inspect_fv", + "lemma_Pulse.Common.dec_index", + "lemma_Pulse.Common.lemma_map_dec_len", + "lemma_Pulse.Common.lemma_map_opt_dec_len", + "lemma_Pulse.Syntax.Base.range_singleton", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_head", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_subpats", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_univs", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_sort", + "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", + "projection_inverse_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_Pulse.Syntax.Base.Pat_Cons__0", + "projection_inverse_Pulse.Syntax.Base.Pat_Cons__1", + "projection_inverse_Pulse.Syntax.Base.Pat_Constant__0", + "projection_inverse_Pulse.Syntax.Base.Pat_Dot_Term__0", + "projection_inverse_Pulse.Syntax.Base.Pat_Var__0", + "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_96373bb59355d9ac0de9bdb3ad0a499d", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c83ff865134d3610c14293787fd1e31f", + "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_Pulse.Syntax.Base.Pat_Cons", + "token_correspondence_Pulse.Checker.Match.readback_sub_pat.fuel_instrumented", + "true_interp", "typing_FStar.List.Tot.Base.length", + "typing_FStar.Range.range_0", + "typing_Pulse.Checker.Match.readback_pat", + "typing_Pulse.Common.map_opt_dec", + "typing_Pulse.RuntimeUtils.set_range" + ], + 0, + "187e11e484caa5dfab17d57d90f4fb72" + ], + [ + "Pulse.Checker.Match.elab_readback_pat_x", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Checker.Match.readback_pat.fuel_instrumented", + "@fuel_correspondence_Pulse.Checker.Match.readback_sub_pat.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented", + "@fuel_irrelevance_Pulse.Checker.Match.readback_sub_pat.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_opt_dec.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "Pulse.Checker.Match_interpretation_Tm_arrow_1d0be53e5df807a137e61610e9739780", + "Pulse.Checker.Match_interpretation_Tm_arrow_6e9eb74aaf530a983355c659fc183396", + "Pulse.Common_interpretation_Tm_arrow_6ecd4e3008b24e12a7600c9da7f1751b", + "Pulse.Syntax.Base_pretyping_be189e4f396d5337499ee0c3708ca7f2", + "b2t_def", "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "binder_x_be189e4f396d5337499ee0c3708ca7f2_1", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Cons", + "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_Prims.eqtype", "equation_Pulse.Common.op_let_Question", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Pure.op_let_Question", + "equation_with_fuel_Pulse.Checker.Match.readback_pat.fuel_instrumented", + "equation_with_fuel_Pulse.Common.map_opt_dec.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", + "fuel_token_correspondence_Pulse.Checker.Match.readback_sub_pat.fuel_instrumented_token", + "function_token_typing_Prims.bool", + "function_token_typing_Pulse.Checker.Match.readback_sub_pat", + "interpretation_Tm_abs_0d34aa656da09f70260c5a486e4d92af", + "interpretation_Tm_abs_9034e5a240e25c6acdad389816811634", + "interpretation_Tm_abs_a4ae852c8e9090e7a19d6cf9f209d120", + "interpretation_Tm_abs_d2b7b6ff094652f720362b34b629eb65", + "interpretation_Tm_abs_f4ac1bb6b4a44350828702f0e924d9aa", + "interpretation_Tm_abs_fc94c23e4882f3fe990a94d22e3651be", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", + "kinding_Prims.list@tok", "kinding_Pulse.Syntax.Base.pattern@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_Pulse.Syntax.Base.range_singleton", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_head", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_subpats", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_univs", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", + "refinement_interpretation_Tm_refine_357d01f3bbdfc5cb12bc98e14bfbabd6", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_65a406400b951d8bc96ed6ed08e77caf", + "refinement_interpretation_Tm_refine_771a10f961594978b41e5b277dd80500", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_98bbbebcaa1a8344bb77f7f03e5d3329", + "refinement_interpretation_Tm_refine_9e9c55ce393095519f8360c756d22f8a", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_b7067d5c15152d3a90ec0c7d82d169e1", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_Prims.Cons", + "token_correspondence_Pulse.Checker.Match.readback_sub_pat.fuel_instrumented", + "token_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented", + "typing_Pulse.Checker.Match.readback_sub_pat", + "typing_Pulse.Common.map_opt_dec", + "typing_Pulse.Common.op_let_Question", + "typing_Tm_abs_d2b7b6ff094652f720362b34b629eb65" + ], + 0, + "83990966611bd578aca4942faa01a872" + ], + [ + "Pulse.Checker.Match.elab_readback_pat_x", + 4, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Common.map_dec.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_dec.fuel_instrumented", "@query", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "Pulse.Common_interpretation_Tm_arrow_ba9d2f9f3554d9a84a2f20af12d3db5d", + "Pulse.Elaborate.Pure_interpretation_Tm_arrow_ef2fa97634800a4245bd468935c65cbf", + "Pulse.Syntax.Base_pretyping_be189e4f396d5337499ee0c3708ca7f2", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "binder_x_be189e4f396d5337499ee0c3708ca7f2_1", + "constructor_distinct_Prims.Cons", + "constructor_distinct_Pulse.Syntax.Base.Pat_Cons", + "equation_FStar.Reflection.V2.Data.universes", + "equation_Prims.eqtype", + "equation_with_fuel_Pulse.Common.map_dec.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.bool", + "function_token_typing_Pulse.Elaborate.Pure.elab_sub_pat", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", + "kinding_Pulse.Syntax.Base.pattern@tok", + "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", + "projection_inverse_Pulse.Syntax.Base.Pat_Cons__0", + "projection_inverse_Pulse.Syntax.Base.Pat_Cons__1", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_6d56c54b76b299baa80a359c9d20cb8c", + "refinement_interpretation_Tm_refine_8cb869d9f2605c402d2a5c249b04736f", + "refinement_interpretation_Tm_refine_98bbbebcaa1a8344bb77f7f03e5d3329", + "refinement_interpretation_Tm_refine_b7067d5c15152d3a90ec0c7d82d169e1", + "subterm_ordering_Pulse.Syntax.Base.Pat_Cons" + ], + 0, + "e92419dddf3f63ddf83ce05172ef4ef0" + ], + [ + "Pulse.Checker.Match.elab_readback_pat_x", + 5, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "22f221ab06b536e2cabfcb9746c02be7" + ], + [ + "Pulse.Checker.Match.elab_readback_pat_x", + 6, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Checker.Match.readback_pat.fuel_instrumented", + "@fuel_correspondence_Pulse.Checker.Match.readback_sub_pat.fuel_instrumented", + "@fuel_correspondence_Pulse.Elaborate.Pure.elab_pat.fuel_instrumented", + "@fuel_correspondence_Pulse.Elaborate.Pure.elab_sub_pat.fuel_instrumented", + "@fuel_irrelevance_Pulse.Checker.Match.readback_pat.fuel_instrumented", + "@fuel_irrelevance_Pulse.Elaborate.Pure.elab_pat.fuel_instrumented", + "@query", "b2t_def", "binder_x_d5a056b3f53fde1e6865ae8f6052fbfa_0", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_Prims.squash", + "equation_Pulse.Syntax.Pure.op_let_Question", + "equation_with_fuel_Pulse.Checker.Match.readback_sub_pat.fuel_instrumented", + "equation_with_fuel_Pulse.Elaborate.Pure.elab_sub_pat.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "interpretation_Tm_abs_e6da9d82737d14165e98d95df823b9e6", + "kinding_Pulse.Syntax.Base.pattern@tok", + "lemma_FStar.Pervasives.invertOption", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "typing_Pulse.Checker.Match.readback_pat", + "typing_Pulse.Checker.Match.readback_sub_pat" + ], + 0, + "e4cc6ee1c5bd8c50d59884af24a091f8" + ], + [ + "Pulse.Checker.Match.tot_typing_weakening_n", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Typing.all_fresh.fuel_instrumented", + "@fuel_correspondence_Pulse.Typing.push_bindings.fuel_instrumented", + "@fuel_irrelevance_Pulse.Typing.all_fresh.fuel_instrumented", + "@fuel_irrelevance_Pulse.Typing.push_bindings.fuel_instrumented", + "@query", "b2t_def", "binder_x_1ad99e5433effa849e32ef9adfa111a0_0", + "binder_x_1fdabad2c48d5ffe21f229d1600ed854_3", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.binding", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.fresh_wrt", "equation_Pulse.Typing.freshv", + "equation_with_fuel_Pulse.Typing.all_fresh.fuel_instrumented", + "equation_with_fuel_Pulse.Typing.push_bindings.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Set.mem_empty", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_8426dd34ef781f8d75c3a9a4565381e8", + "refinement_interpretation_Tm_refine_b57b915c7891c820956facefd0d507fb", + "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.fstar_env" + ], + 0, + "9bfb6f9fd9284cd3efa2456a1bb6715f" + ], + [ + "Pulse.Checker.Match.open_st_term_bs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.nat", + "equation_Pulse.Typing.Env.binding", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons" + ], + 0, + "bfc3dc847e45a3da464ee40824a3d166" + ], + [ + "Pulse.Checker.Match.r_bindings_to_string", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "d5b65255d4fb277d2410e3f25f3bf3e9" + ], + [ + "Pulse.Checker.Match.bindings_to_string", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Pulse.Typing.Env.binding", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "623e667148bf78c54f23ffa31df1e479" + ], + [ + "Pulse.Checker.Match.check_branch", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.elaborate_pat.fuel_instrumented", + "@fuel_correspondence_Pulse.Checker.Match.readback_pat.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", + "Pulse.Typing_pretyping_85b09ae4ef91823fbf549acd09fde244", "b2t_def", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_Pulse.Syntax.Base.Mkppname", + "data_elim_Pulse.Syntax.Base.Mkterm", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equality_tok_Pulse.Syntax.Base.Tm_VProp@tok", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_FStar.Sealed.Inhabited.sealed", + "equation_FStar.Sealed.Inhabited.sealed_", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.ppname_default", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.tm_vprop", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.with_range", + "equation_Pulse.Typing.Env.binding", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.fresh_wrt", "equation_Pulse.Typing.freshv", + "equation_Pulse.Typing.post_hint_for_env", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_with_fuel_Pulse.Checker.Match.readback_pat.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "fuel_guarded_inversion_Pulse.Typing.post_hint_t", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "function_token_typing_Prims.string", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.pattern@tok", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", + "lemma_Pulse.Typing.Env.env_extends_trans", + "lemma_Pulse.Typing.post_hint_for_env_extends", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Tactics.Result.Failed_a", + "projection_inverse_FStar.Tactics.Result.Failed_exn", + "projection_inverse_FStar.Tactics.Result.Failed_ps", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_6ab4588567e3e85899907931d9bf297c", + "refinement_interpretation_Tm_refine_6e8e5238aadfc712ef5fa6bc6310c384", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_7ad5682d990eaec6510764d663af54de", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_8f99687fbb0a2aafb98a0035ee7c48ca", + "string_typing", "true_interp", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", + "typing_FStar.Set.empty", "typing_FStar.Set.intersect", + "typing_FStar.Set.mem", "typing_Pulse.Checker.Match.readback_pat", + "typing_Pulse.Syntax.Base.ppname_default", + "typing_Pulse.Syntax.Base.tm_vprop", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.fresh", "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__g", + "unit_inversion" + ], + 0, + "9bbd32ba1e63f52a8724773c1accefe1" + ], + [ + "Pulse.Checker.Match.check_branches", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "Prims_interpretation_Tm_arrow_26c013ffba39d4f7eeb4bcc80d2d4e22", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Pulse.Checker.Match_interpretation_Tm_arrow_4c272920888084a3a522a75c47c5bd1e", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Tactics.Result.Success", "data_elim_Prims.Cons", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Prims.Cons", "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", "eq2-interp", + "equation_FStar.List.Tot.Base.isEmpty", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.V2.Data.bindings", "equation_Prims.min", + "equation_Prims.nat", "equation_Pulse.Checker.Match.samepats", + "equation_Pulse.Syntax.Base.branch", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.post_hint_for_env", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "fuel_guarded_inversion_Pulse.Typing.br_typing", + "fuel_guarded_inversion_Pulse.Typing.post_hint_t", + "function_token_typing_FStar.Pervasives.Native.fst", + "function_token_typing_FStar.Pervasives.dfst", + "function_token_typing_FStar.Reflection.V2.Data.bindings", + "function_token_typing_Pulse.Syntax.Base.branch", "int_typing", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", + "kinding_Prims.dtuple2@tok", "kinding_Pulse.Syntax.Base.pattern@tok", + "kinding_Pulse.Syntax.Base.st_term@tok", + "lemma_FStar.List.Tot.Properties.map_lemma", + "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Tactics.Result.Failed_a", + "projection_inverse_FStar.Tactics.Result.Failed_exn", + "projection_inverse_FStar.Tactics.Result.Failed_ps", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_1cdc5fe674ad1945920d171df04ed971", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6e8e5238aadfc712ef5fa6bc6310c384", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_82135a0a0e55ae7b563f3729d2705884", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.map", + "typing_Pulse.Typing.Env.fstar_env", + "typing_Tm_abs_485900c7c36cbc1f920d974711c090fd" + ], + 0, + "d4eadd32c7f58f4215480b809d252d78" + ], + [ + "Pulse.Checker.Match.check_match", + 1, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_opt.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.zip.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "Pulse.Checker.Match_interpretation_Tm_arrow_6ed9b4ca6cb8fb7569f0bd12f3228df6", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Pervasives.Native.Some", + "data_elim_FStar.Tactics.Result.Success", "data_elim_Prims.Cons", + "data_elim_Pulse.Typing.PC_Elab", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.V2.Data.bindings", "equation_Prims.min", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.branch", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.post_hint_for_env", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_Pulse.Common.map_opt.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Typing.post_hint_t", + "function_token_typing_FStar.Pervasives.Native.fst", + "function_token_typing_FStar.Reflection.V2.Data.bindings", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Pulse.Checker.Match.readback_pat", + "function_token_typing_Pulse.Syntax.Base.branch", "int_inversion", + "kinding_FStar.Reflection.V2.Data.pattern@tok", + "kinding_Prims.list@tok", "kinding_Pulse.Syntax.Base.pattern@tok", + "kinding_Pulse.Syntax.Base.st_term@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Mkdtuple3__1", + "projection_inverse_FStar.Pervasives.Mkdtuple3__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Tactics.Result.Failed_a", + "projection_inverse_FStar.Tactics.Result.Failed_exn", + "projection_inverse_FStar.Tactics.Result.Failed_ps", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "refinement_interpretation_Tm_refine_17c22d590fab50a4953743842033211e", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58f5570aac197f241bcbabc5b2e5bc47", + "refinement_interpretation_Tm_refine_6e8e5238aadfc712ef5fa6bc6310c384", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_8a241246dda1c21254b790029e39c04c", + "refinement_kinding_Tm_refine_17c22d590fab50a4953743842033211e", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_Pulse.Common.map_opt", "typing_Pulse.Common.zip", + "typing_Pulse.Typing.Env.fstar_env" + ], + 0, + "05a2eebc241e8c308458665631c5699d" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.Match.fsti.hints b/lib/steel/pulse/Pulse.Checker.Match.fsti.hints new file mode 100644 index 000000000..cc3baffbf --- /dev/null +++ b/lib/steel/pulse/Pulse.Checker.Match.fsti.hints @@ -0,0 +1 @@ +[ "#; 1$b̘o\u0002*", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.Par.fst.hints b/lib/steel/pulse/Pulse.Checker.Par.fst.hints index 66b238659..1998eee1a 100644 --- a/lib/steel/pulse/Pulse.Checker.Par.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.Par.fst.hints @@ -8,15 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Pulse.Checker.Common_pretyping_b05904dc2d6719011dcbbd617c83f467", - "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", "Pulse.Syntax.Base_pretyping_782a0dad287a00f5de8c110e3ddaeab3", + "Pulse.Typing_pretyping_85b09ae4ef91823fbf549acd09fde244", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.Tm_Par", "data_elim_FStar.Tactics.Result.Success", - "data_elim_Pulse.Checker.Common.Mkpost_hint_t", "data_elim_Pulse.Syntax.Base.C_ST", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_Pulse.Syntax.Base.C_ST", @@ -25,19 +24,16 @@ "disc_equation_Pulse.Syntax.Base.C_Tot", "disc_equation_Pulse.Syntax.Base.Tm_Par", "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_Pulse.Checker.Common.comp_post_matches_hint", - "equation_Pulse.Checker.Common.post_hint_for_env", - "equation_Pulse.Checker.Pure.push_context", + "equation_Prims.nat", "equation_Pulse.Checker.Pure.push_context", "equation_Pulse.Syntax.Base.comp_st", "equation_Pulse.Syntax.Base.comp_u", "equation_Pulse.Syntax.Base.stateful_comp", - "equation_Pulse.Syntax.Base.typ", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", "equation_Pulse.Typing.comp_par", + "equation_Pulse.Typing.comp_post_matches_hint", + "equation_Pulse.Typing.post_hint_for_env", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Pulse.Checker.Common.post_hint_t", "fuel_guarded_inversion_Pulse.Syntax.Base.comp", "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", @@ -46,29 +42,30 @@ "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Mkdtuple3__2", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Pulse.Checker.Common.Mkpost_hint_t_u", + "proj_equation_Pulse.Typing.Mkpost_hint_t_u", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Pulse.Syntax.Base.Tm_Par__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4778c00f4e85908330c4e5bdc3f06240", - "refinement_interpretation_Tm_refine_53064ff86be1e81ffb5621c2b679de3b", + "refinement_interpretation_Tm_refine_5b6c2ff7c20a2b05cf023708098983f8", + "refinement_interpretation_Tm_refine_6e8e5238aadfc712ef5fa6bc6310c384", "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", "refinement_interpretation_Tm_refine_7f3ad0958305f2921bfac06f466396ae", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "refinement_interpretation_Tm_refine_f3069ea8bbabfc59ddfb39ae0e00ff7e", "refinement_interpretation_Tm_refine_fbb0daf4aae9f7caca56062850f20db7", "string_typing", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_Pulse.Checker.Pure.push_context", "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__u", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__range", "typing_Pulse.Syntax.Base.eq_univ", "typing_Pulse.Typing.Env.as_map", - "typing_Pulse.Typing.Env.dom" + "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__u" ], 0, - "1cd7047fb37f4382f4e09a14aa166d2f" + "e08f001746e403cdc3485e067a7819df" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.Pure.fst.hints b/lib/steel/pulse/Pulse.Checker.Pure.fst.hints index 8113a5b55..1bc37243f 100644 --- a/lib/steel/pulse/Pulse.Checker.Pure.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.Pure.fst.hints @@ -1,5 +1,5 @@ [ - "ɬ\u0002w^\u00175\u0004zV", + "\u0016(6T.;\u0001", [ [ "Pulse.Checker.Pure.push_context", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "eb127fa8289960c929aca544cbd0e5fd" + "bd23f7f1669e84accab1680dcfb496be" ], [ "Pulse.Checker.Pure.rtb_core_check_term", @@ -20,7 +20,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "ab78890caf98ac492ae8e4333075260a" + "fc2107070cae9d8c9f91f866f2ced9d2" ], [ "Pulse.Checker.Pure.rtb_tc_term", @@ -32,7 +32,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "e14976b40ea5ba6641648c0bbeb1e436" + "bc00a02efe21e31824b090d745e118dc" ], [ "Pulse.Checker.Pure.rtb_universe_of", @@ -44,7 +44,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "6a83be053988d017f2305ca42d9ac3b8" + "5a21cf26a3c7db950dfcf042241cd339" ], [ "Pulse.Checker.Pure.rtb_check_subtyping", @@ -58,7 +58,7 @@ "string_typing" ], 0, - "fb088dc401bd2fb566ac0d7af3dea21c" + "28900612eb29bcbafbcf792b10687b01" ], [ "Pulse.Checker.Pure.rtb_instantiate_implicits", @@ -70,7 +70,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "7b730cbfcf1b921708a3fb62f6871da7" + "3fb9bc4df07e0344e7389ead271da149" ], [ "Pulse.Checker.Pure.rtb_core_check_term_at_type", @@ -84,7 +84,7 @@ "string_typing" ], 0, - "829094b767ab3d3e51501a9322704643" + "79b54d4683e95f6fb3698271dad81e77" ], [ "Pulse.Checker.Pure.rtb_check_prop_validity", @@ -100,7 +100,7 @@ "typing_Pulse.Checker.Pure.mk_squash" ], 0, - "e07be361553b5eacff12b36a69d5414b" + "941225341daaddf2df938f47555f7d7e" ], [ "Pulse.Checker.Pure.catch_all", @@ -111,15 +111,16 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Tactics.Common.NotAListLiteral@tok", + "data_typing_intro_FStar.Tactics.V2.Derived.Goal_not_trivial@tok", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "disc_equation_FStar.Tactics.Result.Success", + "equation_FStar.Tactics.Types.issues", "fuel_guarded_inversion_FStar.Pervasives.either", "projection_inverse_BoxBool_proj_0" ], 0, - "0506fa312b49f7201cb28b786ae48822" + "f81dae2974030ecdddb881c00a708ff6" ], [ "Pulse.Checker.Pure.readback_failure", @@ -131,7 +132,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "31e15d622bacf015bc642cb5288d0040" + "d7cb993cd4978ae97d1660acbc5d532c" ], [ "Pulse.Checker.Pure.ill_typed_term", @@ -151,7 +152,7 @@ "string_typing" ], 0, - "3734e2f440efaffe8706d7d75e54a50c" + "a857c53a7795cf15c5dc1cf82381ecc6" ], [ "Pulse.Checker.Pure.instantiate_term_implicits", @@ -161,33 +162,24 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Tactics.Result.Success", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Tactics.Types.issues", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Tactics.Types.issues", - "kinding_FStar.Pervasives.Native.option@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "string_typing", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Pulse.Readback.readback_ty" + "refinement_kinding_Tm_refine_4017a0e357291bf7f7b0fd33e180ad38", + "string_typing", "typing_Pulse.Readback.readback_ty" ], 0, - "17610237d8c29236b634c8e98c1b42a6" + "31b0bbbf5f3cc96917dbf6fd9662eac2" ], [ "Pulse.Checker.Pure.check_universe", @@ -199,20 +191,15 @@ "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", "@query", "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", - "data_elim_FStar.Tactics.Result.Success", "data_elim_Pulse.Syntax.Base.Mkterm", "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", - "equation_FStar.Range.range", "equation_FStar.Tactics.Types.issues", - "equation_Pulse.Syntax.Base.range", + "equation_FStar.Range.range", "equation_Pulse.Syntax.Base.range", "equation_Pulse.Syntax.Base.tm_fstar", "equation_Pulse.Syntax.Base.universe", "equation_Pulse.Syntax.Pure.tm_type", "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "function_token_typing_FStar.Tactics.Types.issues", - "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", "lemma_Pulse.Syntax.Base.range_singleton", "proj_equation_Pulse.Syntax.Base.Mkterm_range", @@ -224,13 +211,12 @@ "refinement_interpretation_Tm_refine_a3854494e326212e19909937e53af272", "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", "refinement_kinding_Tm_refine_a3854494e326212e19909937e53af272", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Reflection.V2.Builtins.pack_ln", "typing_Pulse.RuntimeUtils.set_range", "typing_Pulse.Syntax.Pure.tm_type" ], 0, - "c090fa1d52d824f73b82303a160b8c0d" + "f16dfe431593658fbcfeace665d5ffd3" ], [ "Pulse.Checker.Pure.tc_meta_callback", @@ -261,7 +247,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "b8f4d79b322f44a31b5dc4713d88039e" + "3d8afd8c83f1dcca86967f17382e1b5c" ], [ "Pulse.Checker.Pure.check_term", @@ -270,45 +256,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_0b6559e6ff3addf84b0c2880affbb335", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Pulse.Checker.Pure_interpretation_Tm_arrow_9e38bd69047b89b47d06da702902b60d", - "Pulse.Checker.Pure_interpretation_Tm_arrow_fd5be9f05105beb7fa22140ab514fdfa", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Tactics.Result.Success", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Tactics.Types.issues", + "equation_FStar.Reflection.Typing.fstar_top_env", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.dtuple3", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Tactics.Types.issues", - "interpretation_Tm_abs_44fb46a5a8a411367706e7181e225e1c", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_FStar.Pervasives.dtuple3@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Mkdtuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_af79b455053e751e14dde4e9e7d6ee4d", - "refinement_interpretation_Tm_refine_cd54f80296df2adba8a22cc03e10a2e5", - "string_typing", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple3__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple3__item___2", - "typing_Pulse.Readback.readback_ty", - "typing_Tm_abs_44fb46a5a8a411367706e7181e225e1c", - "typing_Tm_abs_d4afa2a2a6d70ead62466e732cd7ac43" + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_4017a0e357291bf7f7b0fd33e180ad38", + "string_typing", "typing_Pulse.Readback.readback_ty", + "typing_Pulse.Typing.Env.fstar_env" ], 0, - "00fd9b07375640dff2dc2ccca4dc2356" + "538e20ffca6053c72e3e6442d4037789" ], [ "Pulse.Checker.Pure.check_term_and_type", @@ -317,43 +283,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_0b6559e6ff3addf84b0c2880affbb335", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Pulse.Checker.Pure_interpretation_Tm_arrow_9e38bd69047b89b47d06da702902b60d", - "Pulse.Checker.Pure_interpretation_Tm_arrow_fd5be9f05105beb7fa22140ab514fdfa", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Tactics.Result.Success", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Tactics.Types.issues", + "equation_FStar.Reflection.Typing.fstar_top_env", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.dtuple3", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Tactics.Types.issues", - "interpretation_Tm_abs_44fb46a5a8a411367706e7181e225e1c", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_FStar.Pervasives.dtuple3@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Mkdtuple3__1", - "proj_equation_FStar.Pervasives.Mkdtuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", "refinement_interpretation_Tm_refine_4017a0e357291bf7f7b0fd33e180ad38", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple3__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple3__item___2", "typing_Pulse.Readback.readback_ty", - "typing_Tm_abs_44fb46a5a8a411367706e7181e225e1c", - "typing_Tm_abs_d4afa2a2a6d70ead62466e732cd7ac43" + "typing_Pulse.Typing.Env.fstar_env" ], 0, - "0e01982b1a8dbf5c3253ad77f9adb796" + "4f9f7b2fcaa1ab596d6645be19a53aab" ], [ "Pulse.Checker.Pure.check_term_with_expected_type", @@ -365,30 +312,23 @@ "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", "@query", "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", - "data_elim_FStar.Tactics.Result.Success", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", "equality_tok_FStar.Tactics.Types.E_Total@tok", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Tactics.Types.issues", "equation_Pulse.Syntax.Base.range_singleton_trigger", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Pulse.Syntax.Base.term", "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Tactics.Types.issues", - "kinding_FStar.Pervasives.Native.option@tok", "kinding_FStar.Tactics.Types.tot_or_ghost@tok", - "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Tactics.Types.typing_token", "typing_Pulse.Elaborate.Pure.elab_term", "typing_Pulse.Typing.elab_env", "typing_tok_FStar.Tactics.Types.E_Total@tok" ], 0, - "f75fe0ebaee006af75890ef9ec0f1d80" + "a1eccfc6405fcb44f73a6441e447933b" ], [ "Pulse.Checker.Pure.tc_with_core", @@ -404,7 +344,7 @@ "refinement_kinding_Tm_refine_a965113514886d5bf36993f561bbadd4" ], 0, - "e82cc38c23fb1a322bba0d781117cb6d" + "e4142b39475dc0ded9a8a03619d6475a" ], [ "Pulse.Checker.Pure.core_check_term", @@ -415,32 +355,21 @@ "@MaxIFuel_assumption", "@query", "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Pulse.Checker.Pure_interpretation_Tm_arrow_9e38bd69047b89b47d06da702902b60d", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Tactics.Result.Success", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Tactics.Types.issues", "equation_Pulse.Syntax.Base.range_singleton_trigger", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Pulse.Syntax.Base.term", "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Tactics.Types.issues", - "kinding_FStar.Pervasives.Native.option@tok", "kinding_Prims.dtuple2@tok", "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d0a4ae8a742684b1abe7745caef4be6b", - "refinement_interpretation_Tm_refine_eed994d15518279ab75d745192d0d368", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_Prims.__proj__Mkdtuple2__item___1", + "refinement_interpretation_Tm_refine_4017a0e357291bf7f7b0fd33e180ad38", "typing_Pulse.Readback.readback_ty", "typing_Tm_abs_6d7663431051350ebfccd15d2ff21d11" ], 0, - "494361e32654a666881ed161afd98153" + "1588a9c81922616de12e89ddb9f5c578" ], [ "Pulse.Checker.Pure.core_check_term_with_expected_type", @@ -450,29 +379,23 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", - "data_elim_FStar.Tactics.Result.Success", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", "equality_tok_FStar.Tactics.Types.E_Total@tok", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Tactics.Types.issues", "equation_Pulse.Syntax.Base.range_singleton_trigger", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Pulse.Syntax.Base.term", "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Tactics.Types.issues", - "kinding_FStar.Pervasives.Native.option@tok", "kinding_FStar.Tactics.Types.tot_or_ghost@tok", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Tactics.Types.typing_token", "typing_Pulse.Elaborate.Pure.elab_term", "typing_Pulse.Typing.elab_env", "typing_tok_FStar.Tactics.Types.E_Total@tok" ], 0, - "e9603a02fa5b0bc908259192f746fdb4" + "9cbf15fc69628a6367b6f5cd55fed4f5" ], [ "Pulse.Checker.Pure.check_vprop", @@ -486,7 +409,7 @@ "string_typing", "typing_Pulse.Typing.Env.push_context_no_range" ], 0, - "a5b7334c88f572bbdaa17e32ad9f2ed5" + "88221c94797be56672d04b6a868bc59e" ], [ "Pulse.Checker.Pure.check_vprop_with_core", @@ -500,7 +423,7 @@ "string_typing", "typing_Pulse.Typing.Env.push_context_no_range" ], 0, - "890c7a2b05a7e848e7fd8ed0a0df6737" + "550d5924e9e18e8bd7026a355d952e23" ], [ "Pulse.Checker.Pure.get_non_informative_witness", @@ -534,7 +457,7 @@ "typing_Pulse.Typing.Env.push_context_no_range" ], 0, - "49c91480f11f85ec4dcb702dda1862e9" + "761ffaf71a0ac14b10f05d6ea3b43581" ], [ "Pulse.Checker.Pure.check_prop_validity", @@ -544,20 +467,14 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_elim_FStar.Tactics.Result.Success", - "equation_FStar.Tactics.Types.issues", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Tactics.Types.issues", - "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", "string_typing", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Tactics.V2.Builtins.prop_validity_token", "typing_Pulse.Elaborate.Pure.elab_term", "typing_Pulse.Typing.elab_env" ], 0, - "705f0db488ff4b044b9f44d6720f7488" + "8e5a26171adcbfc009681123a45ea703" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.Pure.fsti.hints b/lib/steel/pulse/Pulse.Checker.Pure.fsti.hints index 1f3bffe28..826a301a1 100644 --- a/lib/steel/pulse/Pulse.Checker.Pure.fsti.hints +++ b/lib/steel/pulse/Pulse.Checker.Pure.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "fbca9397d1700337e9282a01a2985138" + "a95ab54020b7d13921e1557f023935f1" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.Return.fst.hints b/lib/steel/pulse/Pulse.Checker.Return.fst.hints index 92072444f..94e123c71 100644 --- a/lib/steel/pulse/Pulse.Checker.Return.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.Return.fst.hints @@ -20,12 +20,10 @@ "constructor_distinct_Pulse.Syntax.Base.C_ST", "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", "constructor_distinct_Pulse.Syntax.Base.C_STGhost", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Tactics.Result.Success", - "data_elim_Pulse.Checker.Common.Mkpost_hint_t", + "constructor_distinct_Pulse.Syntax.Base.STT", + "constructor_distinct_Pulse.Syntax.Base.Tm_Return", "data_elim_Pulse.Syntax.Base.Mkst_term", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Pulse.Syntax.Base.C_ST", "disc_equation_Pulse.Syntax.Base.C_STAtomic", "disc_equation_Pulse.Syntax.Base.C_STGhost", @@ -34,10 +32,7 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Range.range", "equation_FStar.Reflection.Typing.fstar_top_env", "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_Pulse.Checker.Common.post_hint_for_env_p", - "equation_Pulse.Checker.Common.post_hint_opt", - "equation_Pulse.Checker.Pure.push_context", + "equation_Prims.nat", "equation_Pulse.Checker.Pure.push_context", "equation_Pulse.Syntax.Base.comp_st", "equation_Pulse.Syntax.Base.index", "equation_Pulse.Syntax.Base.ppname_default", @@ -53,21 +48,19 @@ "equation_Pulse.Typing.Env.extends_with", "equation_Pulse.Typing.Env.lookup", "equation_Pulse.Typing.FV.set_minus", - "equation_Pulse.Typing.Metatheory.fresh_wrt", "equation_Pulse.Typing.comp_return", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple5", + "equation_Pulse.Typing.fresh_wrt", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_Pulse.Typing.post_hint_opt", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Pulse.Checker.Common.post_hint_t", "fuel_guarded_inversion_Pulse.Syntax.Base.comp", "fuel_guarded_inversion_Pulse.Syntax.Base.ctag", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_Pulse.Checker.Common.post_hint_t@tok", - "kinding_Pulse.Syntax.Base.term@tok", + "int_typing", "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Typing.post_hint_t@tok", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", @@ -76,23 +69,20 @@ "lemma_Pulse.Typing.FV.freevars_close_term", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Mkdtuple5__1", - "proj_equation_FStar.Pervasives.Mkdtuple5__2", - "proj_equation_FStar.Pervasives.Mkdtuple5__3", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Pulse.Checker.Common.Mkpost_hint_t_g", - "proj_equation_Pulse.Checker.Common.Mkpost_hint_t_post", - "proj_equation_Pulse.Checker.Common.Mkpost_hint_t_ret_ty", "proj_equation_Pulse.Syntax.Base.Mkst_term_range", "proj_equation_Pulse.Syntax.Base.Mkst_term_term", + "proj_equation_Pulse.Typing.Mkpost_hint_t_post", + "proj_equation_Pulse.Typing.Mkpost_hint_t_ret_ty", + "proj_equation_Pulse.Typing.Mkpost_hint_t_u", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Mkdtuple5__1", "projection_inverse_FStar.Pervasives.Mkdtuple5__2", "projection_inverse_FStar.Pervasives.Mkdtuple5__3", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", @@ -101,36 +91,34 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "projection_inverse_Pulse.Syntax.Base.Tm_Return__0", "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", - "refinement_interpretation_Tm_refine_3aa0551b9c2b1d6ed9428a9bec44ab3e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_517420d3c6a53f6706a48ac05e3d1f28", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", "refinement_interpretation_Tm_refine_7f3ad0958305f2921bfac06f466396ae", "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", "refinement_interpretation_Tm_refine_b1f6ffdbdc319e94b21425d60dda23d2", + "refinement_interpretation_Tm_refine_ba488b4f12660f6fd23fa65ec4b4a4ff", "refinement_interpretation_Tm_refine_cf9758cc2789ce185158d55a949d224a", "refinement_interpretation_Tm_refine_eed994d15518279ab75d745192d0d368", "string_typing", "token_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_Pulse.Checker.Common.__proj__Mkpost_hint_t__item__post", "typing_Pulse.Checker.Pure.push_context", - "typing_Pulse.Syntax.Base.__proj__Mkst_term___Tm_Return__payload__item__ctag", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__range", - "typing_Pulse.Syntax.Base.__proj__Tm_Return__item___0", "typing_Pulse.Syntax.Base.ppname_default", "typing_Pulse.Syntax.Naming.close_term", "typing_Pulse.Syntax.Naming.freevars", "typing_Pulse.Syntax.Naming.open_term", "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.Env.fstar_env", - "typing_Pulse.Typing.Env.push_context" + "typing_Pulse.Typing.Env.push_context", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__post" ], 0, - "746c1b3ab256939f1eaa7caf3d56b889" + "aab5f68cc06846664acb997c6773cf1f" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.Rewrite.fst.hints b/lib/steel/pulse/Pulse.Checker.Rewrite.fst.hints index f8eca1d31..8b075462e 100644 --- a/lib/steel/pulse/Pulse.Checker.Rewrite.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.Rewrite.fst.hints @@ -7,70 +7,53 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Pulse.Typing_interpretation_Tm_arrow_057b258425247a37b4f6ea83e1d6f6fe", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "constructor_distinct_Pulse.Syntax.Base.C_STGhost", - "data_elim_FStar.Tactics.Result.Success", - "data_elim_Pulse.Syntax.Base.Mkst_term", + "constructor_distinct_Pulse.Syntax.Base.Tm_Rewrite", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_Pulse.Syntax.Base.C_ST", "disc_equation_Pulse.Syntax.Base.C_STAtomic", "disc_equation_Pulse.Syntax.Base.C_STGhost", "disc_equation_Pulse.Syntax.Base.C_Tot", - "equation_FStar.Range.range", "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Tactics.Types.issues", "equation_Pulse.Checker.Pure.push_context", "equation_Pulse.Syntax.Base.comp_st", - "equation_Pulse.Syntax.Base.range", "equation_Pulse.Syntax.Base.stateful_comp", "equation_Pulse.Typing.comp_rewrite", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "equation_Pulse.Typing.elab_env", + "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.dtuple2", "fuel_guarded_inversion_Pulse.Syntax.Base.comp", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "function_token_typing_FStar.Tactics.Types.issues", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.option@tok", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_Pulse.Syntax.Base.range_singleton", - "primitive_Prims.op_BarBar", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Pulse.Syntax.Base.Mkst_term_range", - "projection_inverse_BoxBool_proj_0", + "int_inversion", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", "projection_inverse_FStar.Tactics.Result.Success_a", "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", + "projection_inverse_Pulse.Syntax.Base.Tm_Rewrite__0", "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", "refinement_interpretation_Tm_refine_7f3ad0958305f2921bfac06f466396ae", - "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", "refinement_interpretation_Tm_refine_b907e830dcf6a149317be42029ca9ad7", - "refinement_interpretation_Tm_refine_eed994d15518279ab75d745192d0d368", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "string_typing", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Tactics.Types.equiv_token", - "typing_Prims.__proj__Mkdtuple2__item___1", + "string_typing", "typing_FStar.Tactics.Types.equiv_token", "typing_Pulse.Checker.Pure.push_context", "typing_Pulse.Elaborate.Pure.elab_term", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__range", "typing_Pulse.Syntax.Base.eq_tm", - "typing_Pulse.Typing.Env.fstar_env", - "typing_Pulse.Typing.Env.push_context", - "typing_Pulse.Typing.elab_env", - "typing_Tm_abs_6840ef7b8f46b15f4452a408fc0614c8" + "typing_Pulse.Typing.Env.fstar_env", "typing_Pulse.Typing.elab_env" ], 0, - "4ee44e32c57281ef745b46339459a541" + "8b852b86f2f0fe77203a9c09928108bd" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.STApp.fst.hints b/lib/steel/pulse/Pulse.Checker.STApp.fst.hints index b0bf45207..3d534722d 100644 --- a/lib/steel/pulse/Pulse.Checker.STApp.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.STApp.fst.hints @@ -1,6 +1,71 @@ [ - "W\f\u0003=:taV@,q", + "\bTui޸^\u0010n", [ + [ + "Pulse.Checker.STApp.canon_comp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_Pulse.Syntax.Base.comp_st", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "typing_Pulse.Elaborate.Pure.elab_comp", + "typing_Pulse.Readback.readback_comp" + ], + 0, + "de4e5aa8549ec1642f1197a8c6415a41" + ], + [ + "Pulse.Checker.STApp.canonicalize_st_typing", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Checker.STApp.canon_comp", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.lookup", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Checker.STApp.canon_comp", + "typing_Pulse.Syntax.Base.stateful_comp", + "typing_Pulse.Syntax.Base.uu___is_C_Tot", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.lookup" + ], + 0, + "3664852232507546dc855d68e8ae66f6" + ], [ "Pulse.Checker.STApp.check_stapp", 1, @@ -8,31 +73,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_0b6559e6ff3addf84b0c2880affbb335", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Pulse.Checker.STApp_interpretation_Tm_arrow_3b83849940dc7facf2c4db09199a2db9", + "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", "Pulse.Syntax.Base_pretyping_0b425ab385a56835d52cd71c18622a32", - "Pulse.Typing_interpretation_Tm_arrow_057b258425247a37b4f6ea83e1d6f6fe", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Pulse.Syntax.Base.qualifier__uu___haseq", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Tactics.Result.Failed", - "constructor_distinct_FStar.Tactics.Result.Success", "constructor_distinct_Pulse.Syntax.Base.C_ST", "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", "constructor_distinct_Pulse.Syntax.Base.C_STGhost", - "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Native.None", + "constructor_distinct_Pulse.Syntax.Base.Tm_STApp", "disc_equation_Pulse.Syntax.Base.C_ST", "disc_equation_Pulse.Syntax.Base.C_STAtomic", "disc_equation_Pulse.Syntax.Base.C_STGhost", "disc_equation_Pulse.Syntax.Base.C_Tot", "disc_equation_Pulse.Syntax.Base.Tm_STApp", "equality_tok_Pulse.Syntax.Base.Implicit@tok", - "equation_FStar.Reflection.Typing.fstar_top_env", "equation_FStar.Reflection.Typing.pp_name_t", "equation_Prims.eqtype", "equation_Pulse.Checker.Pure.push_context", "equation_Pulse.Syntax.Base.comp_st", @@ -40,65 +95,40 @@ "equation_Pulse.Syntax.Naming.open_comp_", "equation_Pulse.Syntax.Naming.open_comp_with", "equation_Pulse.Syntax.Naming.subst_comp", - "equation_Pulse.Syntax.Pure.is_arrow", "equation_Pulse.Syntax.Pure.tm_arrow", "equation_Pulse.Typing.as_binder", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple3", + "equation_Pulse.Typing.post_hint_opt", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Pulse.Syntax.Base.comp", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.string", "int_inversion", - "interpretation_Tm_abs_feb43d7e306f9a48bff5606c2cef8474", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_Pulse.Syntax.Base.binder@tok", - "kinding_Pulse.Syntax.Base.comp@tok", + "function_token_typing_Prims.string", "kinding_Pulse.Syntax.Base.qualifier@tok", - "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Sealed.Inhabited.sealed_singleton", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Mkdtuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ppname", "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ty", "proj_equation_Pulse.Syntax.Base.Mkppname_name", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.Result.Failed_a", - "projection_inverse_FStar.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Tactics.Result.Success_a", - "projection_inverse_FStar.Tactics.Result.Success_ps", - "projection_inverse_FStar.Tactics.Result.Success_v", - "projection_inverse_Pulse.Syntax.Base.C_Tot__0", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ppname", "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ty", + "projection_inverse_Pulse.Syntax.Base.Tm_STApp__0", "refinement_interpretation_Tm_refine_216a0d577fe6866b7566aea51095c305", - "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", "refinement_interpretation_Tm_refine_7f3ad0958305f2921bfac06f466396ae", - "string_typing", - "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", - "typing_FStar.Pervasives.__proj__Mkdtuple3__item___2", - "typing_Pulse.Checker.Pure.push_context", - "typing_Pulse.Syntax.Base.__proj__Mkbinder__item__binder_ppname", + "refinement_interpretation_Tm_refine_ba488b4f12660f6fd23fa65ec4b4a4ff", + "string_typing", "typing_Pulse.Checker.Pure.push_context", "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__range", "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Pure.is_arrow", - "typing_Pulse.Typing.Env.fstar_env", - "typing_Tm_abs_8990bd1cc3060e7081f54c4fe3acefd2", - "typing_Tm_abs_feb43d7e306f9a48bff5606c2cef8474", "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "29b1759b1366105d6b2db645cd759cf6" + "284e70b17db729fa05ea6fabd191235b" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.VPropEquiv.fst.hints b/lib/steel/pulse/Pulse.Checker.VPropEquiv.fst.hints index c3fe1a9dd..0c196a599 100644 --- a/lib/steel/pulse/Pulse.Checker.VPropEquiv.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.VPropEquiv.fst.hints @@ -31,7 +31,7 @@ "subterm_ordering_Pulse.Typing.VE_Trans" ], 0, - "e015bcf98bb67fda8c84f483c915c07c" + "262d38283fdd0516bac49bab8a52d8fa" ], [ "Pulse.Checker.VPropEquiv.vprop_as_list", @@ -48,7 +48,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "1e1f287d0bf521946a800ce09ade61df" + "8cfd4059c183f1c55cdbd66fccf978b3" ], [ "Pulse.Checker.VPropEquiv.list_as_vprop", @@ -63,7 +63,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "eb78152c0daa688b0a6ad08da1c0691c" + "1df97d672de0230d52cb209192d85371" ], [ "Pulse.Checker.VPropEquiv.list_as_vprop_append", @@ -92,7 +92,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "3774f6fcbb91434fde8c65acb65c1919" + "105e9cf078ed343bc1294823d9ffd453" ], [ "Pulse.Checker.VPropEquiv.list_as_vprop_assoc", @@ -101,7 +101,7 @@ 1, [ "@query" ], 0, - "1f0eb3f261752c99885ccde599652ce6" + "57985c5633e122288769fd74a793e86d" ], [ "Pulse.Checker.VPropEquiv.vprop_list_equiv", @@ -150,7 +150,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "7fde116589b3bd0874936cf40ab4b2e1" + "9fc8a1422895cfe7dae54744377f283a" ], [ "Pulse.Checker.VPropEquiv.vprop_equiv_split_frame", @@ -163,7 +163,7 @@ "fuel_guarded_inversion_Pulse.Syntax.Base.term" ], 0, - "6fdd79d44f7b712861e61e320b0f5cc1" + "ff1194134bb7ed12378deb7d4f5080c7" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.While.fst.hints b/lib/steel/pulse/Pulse.Checker.While.fst.hints index a0b1f66d7..761cd416f 100644 --- a/lib/steel/pulse/Pulse.Checker.While.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.While.fst.hints @@ -1,5 +1,5 @@ [ - "%s!\u0010\u0013wV\u0007", + "[>(\t|\u0013(uw", [ [ "Pulse.Checker.While.while_cond_comp_typing", @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d74a989ffbe029c7fa49f867c6fcbba6" + "a733ce0551be14dec83a2cf7014175a7" ], [ "Pulse.Checker.While.while_body_comp_typing", @@ -31,7 +31,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "904dace56928de7df0a5215171658ca7" + "13f42030ab770e44259f505620040ac4" ], [ "Pulse.Checker.While.check_while", @@ -39,29 +39,21 @@ 2, 2, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", - "Pulse.Syntax.Base_pretyping_23132a72b4b9dcc36ddc94829774f176", - "Pulse.Syntax.Base_pretyping_b015b044c5bf00a3dd3df9fa711c87dd", + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Pulse.Syntax.Base_pretyping_fe09dc1e796799f4bac0760e63f30d40", + "Pulse.Typing_pretyping_85b09ae4ef91823fbf549acd09fde244", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "constructor_distinct_Pulse.Syntax.Base.C_ST", - "constructor_distinct_Pulse.Syntax.Base.Tm_ExistsSL", - "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", - "data_elim_FStar.Pervasives.Mkdtuple3", + "constructor_distinct_Pulse.Syntax.Base.Tm_While", + "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_FStar.Tactics.Result.Success", - "data_elim_Prims.Mkdtuple2", "data_elim_Pulse.Syntax.Base.Mkppname", - "data_elim_Pulse.Syntax.Base.Mkst_term", - "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", - "data_elim_Pulse.Syntax.Base.Tm_ExistsSL", - "data_elim_Pulse.Syntax.Base.Tm_While", - "data_typing_intro_Pulse.Syntax.Base.C_ST@tok", + "data_elim_Pulse.Syntax.Base.Mkbinder", + "data_elim_Pulse.Syntax.Base.Mkppname", + "data_elim_Pulse.Syntax.Base.Mkterm", "data_elim_Pulse.Typing.STC", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "disc_equation_FStar.Pervasives.Native.None", @@ -69,26 +61,22 @@ "disc_equation_Pulse.Syntax.Base.C_STAtomic", "disc_equation_Pulse.Syntax.Base.C_STGhost", "disc_equation_Pulse.Syntax.Base.C_Tot", - "disc_equation_Pulse.Syntax.Base.Tm_ExistsSL", "disc_equation_Pulse.Syntax.Base.Tm_While", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Pervasives.Native.fst", "equation_FStar.Range.range", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Range.range", "equation_FStar.Reflection.Const.bool_lid", - "equation_FStar.Reflection.Typing.bool_fv", "equation_FStar.Reflection.Typing.fstar_top_env", "equation_FStar.Reflection.Typing.pp_name_t", "equation_FStar.Reflection.Typing.u_zero", "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Pulse.Checker.Common.checker_result_t", - "equation_Pulse.Checker.Common.post_hint_for_env", - "equation_Pulse.Checker.Common.post_hint_opt", "equation_Pulse.Checker.Framing.frame_for_req_in_ctxt", "equation_Pulse.Checker.Pure.push_context", "equation_Pulse.Reflection.Util.bool_lid", "equation_Pulse.Syntax.Base.as_fv", "equation_Pulse.Syntax.Base.comp_pre", "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.nvar", "equation_Pulse.Syntax.Base.ppname_default", "equation_Pulse.Syntax.Base.range", "equation_Pulse.Syntax.Base.st_comp_of_comp", @@ -97,66 +85,62 @@ "equation_Pulse.Syntax.Base.tm_fstar", "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", - "equation_Pulse.Syntax.Naming.open_term_", + "equation_Pulse.Syntax.Base.v_as_nv", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Pure.tm_fvar", "equation_Pulse.Syntax.Pure.u0", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.Metatheory.fresh_wrt", "equation_Pulse.Typing.as_binder", "equation_Pulse.Typing.comp_while", "equation_Pulse.Typing.comp_while_body", "equation_Pulse.Typing.comp_while_cond", + "equation_Pulse.Typing.fresh_wrt", "equation_Pulse.Typing.named_binder", - "equation_Pulse.Typing.tm_bool", "equation_Pulse.Typing.tm_unit", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "equation_Pulse.Typing.post_hint_for_env", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_Pulse.Typing.tm_bool", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple3", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.Pervasives.either", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.dtuple2", - "fuel_guarded_inversion_Pulse.Syntax.Base.binder", "fuel_guarded_inversion_Pulse.Syntax.Base.comp", "fuel_guarded_inversion_Pulse.Syntax.Base.ppname", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_While__payload", "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", - "interpretation_Tm_abs_389299f04f65ac629e4d3fc3983df5c1", - "interpretation_Tm_abs_41920eaffa3db1fc0c89473f375182b0", - "interpretation_Tm_abs_d8b925b3b5cad67509b7f378cbee611c", + "interpretation_Tm_abs_9cb689b25d040926e19a35940a7437be", + "interpretation_Tm_abs_c8631188b49e797b2c9232f71b480642", + "kinding_Pulse.Syntax.Base.ppname@tok", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Sealed.Inhabited.sealed_singleton", "lemma_Pulse.Syntax.Base.range_singleton", + "lemma_Pulse.Typing.Env.push_env_as_map", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Mkdtuple3__2", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ppname", "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ty", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", "proj_equation_Pulse.Syntax.Base.Mkfv_fv_range", "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", "proj_equation_Pulse.Syntax.Base.Mkppname_name", "proj_equation_Pulse.Syntax.Base.Mkppname_range", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", - "proj_equation_Pulse.Syntax.Base.Mkst_term___Tm_While__payload_body", - "proj_equation_Pulse.Syntax.Base.Mkst_term___Tm_While__payload_condition", - "proj_equation_Pulse.Syntax.Base.Mkst_term___Tm_While__payload_invariant", "proj_equation_Pulse.Syntax.Base.Mkst_term_range", - "proj_equation_Pulse.Syntax.Base.Mkst_term_term", "proj_equation_Pulse.Syntax.Base.Mkterm_range", "proj_equation_Pulse.Syntax.Base.Mkterm_t", - "proj_equation_Pulse.Syntax.Base.Tm_ExistsSL_b", - "proj_equation_Pulse.Syntax.Base.Tm_ExistsSL_body", - "proj_equation_Pulse.Syntax.Base.Tm_ExistsSL_u", - "proj_equation_Pulse.Syntax.Base.Tm_While__0", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Mkdtuple4__3", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", @@ -167,70 +151,59 @@ "projection_inverse_Pulse.Syntax.Base.C_ST__0", "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ppname", "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ty", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_range", "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", "projection_inverse_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_Pulse.Syntax.Base.Mkppname_range", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", "projection_inverse_Pulse.Syntax.Base.Mkterm_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_t", "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_b", "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_body", "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_u", + "projection_inverse_Pulse.Syntax.Base.Tm_While__0", "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", "refinement_interpretation_Tm_refine_26851533b13187a52e8644f48af2401b", - "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_517420d3c6a53f6706a48ac05e3d1f28", - "refinement_interpretation_Tm_refine_7840ecffe192c7f29cee3cdbc58f9955", + "refinement_interpretation_Tm_refine_6067909eb7e26441b043722acc4cd3cf", + "refinement_interpretation_Tm_refine_64b37d51002c8aefb2e6e59cffdc3d7d", + "refinement_interpretation_Tm_refine_6e8e5238aadfc712ef5fa6bc6310c384", "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_794754a2b36f266a1d24bacbacc935c2", "refinement_interpretation_Tm_refine_7f3ad0958305f2921bfac06f466396ae", "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", - "refinement_interpretation_Tm_refine_90ce0ba3b4c748e30ed3ab112dfb330d", - "refinement_interpretation_Tm_refine_c3121dff2be0baf0cc495e723dd1ef04", - "refinement_interpretation_Tm_refine_df4c639aa9a827ee3d5d909cba8bbb01", + "refinement_interpretation_Tm_refine_c0259d9584cff5be1dbb133bed7b14f4", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", + "refinement_interpretation_Tm_refine_ce35950777565f210e37ac97fff16964", "refinement_interpretation_Tm_refine_eed994d15518279ab75d745192d0d368", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "refinement_interpretation_Tm_refine_f3069ea8bbabfc59ddfb39ae0e00ff7e", - "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", - "refinement_interpretation_Tm_refine_f8c625e81829d2a557700955f3f0ee4d", - "string_typing", - "token_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Pervasives.Native.snd", + "typing_FStar.Range.range_0", "typing_FStar.Reflection.Typing.u_zero", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_Pulse.Checker.Pure.push_context", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.mk_abs_with_name_and_range", - "typing_Pulse.Reflection.Util.mk_exists", - "typing_Pulse.RuntimeUtils.set_range", "typing_Pulse.RuntimeUtils.union_ranges", - "typing_Pulse.Syntax.Base.__proj__Mkbinder__item__binder_ppname", - "typing_Pulse.Syntax.Base.__proj__Mkbinder__item__binder_ty", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", "typing_Pulse.Syntax.Base.__proj__Mkppname__item__range", - "typing_Pulse.Syntax.Base.__proj__Mkst_term___Tm_While__payload__item__invariant", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__range", - "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term", "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", - "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t", - "typing_Pulse.Syntax.Base.__proj__Tm_While__item___0", "typing_Pulse.Syntax.Base.eq_comp", "typing_Pulse.Syntax.Base.eq_tm", "typing_Pulse.Syntax.Base.eq_univ", "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Base.stateful_comp", "typing_Pulse.Syntax.Base.term_range", - "typing_Pulse.Syntax.Base.tm_exists_sl", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", - "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Syntax.Base.v_as_nv", "typing_Pulse.Typing.Env.as_map", + "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.Env.lookup", "typing_Pulse.Typing.Env.push_context", "typing_Pulse.Typing.Metatheory.st_comp_typing_inversion", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__g", "typing_Pulse.Typing.as_binder", - "typing_Pulse.Typing.comp_while_cond", "typing_Pulse.Typing.tm_bool", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" + "typing_Pulse.Typing.comp_while_body", + "typing_Pulse.Typing.comp_while_cond", + "typing_Pulse.Typing.named_binder", "typing_Pulse.Typing.tm_bool" ], 0, - "171f75da746be70e28af7805d0bdf96d" + "a11927ea7f0d13ce549b5bbff1966bbc" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.WithLocal.fst.hints b/lib/steel/pulse/Pulse.Checker.WithLocal.fst.hints index 37b537165..040531bc7 100644 --- a/lib/steel/pulse/Pulse.Checker.WithLocal.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.WithLocal.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f7c29d9d6242d8a46a5eb8b0738df24a" + "6043a9285ce9692cc21f9d80f6f5196a" ], [ "Pulse.Checker.WithLocal.with_local_pre_typing", @@ -29,19 +29,18 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a3b76473543597b35e6fed9288ed9a11" + "fa6fbebcd7e6d05d4bafcfadfda5087d" ], [ "Pulse.Checker.WithLocal.check_withlocal", 1, 2, - 2, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Pulse.Syntax.Naming.freevars_st.fuel_instrumented", "@fuel_irrelevance_Pulse.Syntax.Naming.freevars_st.fuel_instrumented", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", "Pulse.Syntax.Base_pretyping_fe09dc1e796799f4bac0760e63f30d40", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", @@ -49,108 +48,79 @@ "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "constructor_distinct_Pulse.Syntax.Base.C_ST", - "data_elim_FStar.Pervasives.Mkdtuple3", - "data_elim_FStar.Pervasives.Mkdtuple5", - "data_elim_FStar.Tactics.Result.Success", + "constructor_distinct_Pulse.Syntax.Base.Tm_WithLocal", "data_elim_Pulse.Syntax.Base.C_ST", "data_elim_Pulse.Syntax.Base.Mkbinder", "data_elim_Pulse.Syntax.Base.Mkppname", - "data_elim_Pulse.Syntax.Base.Mkst_term", - "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", - "data_elim_Pulse.Syntax.Base.Tm_WithLocal", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_Pulse.Syntax.Base.C_ST", "disc_equation_Pulse.Syntax.Base.C_STAtomic", "disc_equation_Pulse.Syntax.Base.C_STGhost", "disc_equation_Pulse.Syntax.Base.C_Tot", "disc_equation_Pulse.Syntax.Base.Tm_WithLocal", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Range.range", "equation_FStar.Reflection.Typing.fstar_top_env", "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.u_zero", "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_Pulse.Checker.Common.checker_result_t", - "equation_Pulse.Checker.Common.comp_post_matches_hint", - "equation_Pulse.Checker.Common.post_hint_for_env", - "equation_Pulse.Checker.Common.post_hint_for_env_p", - "equation_Pulse.Checker.Common.post_hint_opt", - "equation_Pulse.Checker.Pure.push_context", + "equation_Prims.nat", "equation_Pulse.Checker.Pure.push_context", "equation_Pulse.Checker.WithLocal.extend_post_hint_for_local", "equation_Pulse.Syntax.Base.comp_post", "equation_Pulse.Syntax.Base.comp_pre", "equation_Pulse.Syntax.Base.comp_res", "equation_Pulse.Syntax.Base.comp_u", "equation_Pulse.Syntax.Base.index", - "equation_Pulse.Syntax.Base.nvar", "equation_Pulse.Syntax.Base.ppname_default", "equation_Pulse.Syntax.Base.range", "equation_Pulse.Syntax.Base.stateful_comp", - "equation_Pulse.Syntax.Base.tm_fstar", - "equation_Pulse.Syntax.Base.typ", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", "equation_Pulse.Syntax.Naming.close_st_term", "equation_Pulse.Syntax.Naming.open_st_term", "equation_Pulse.Syntax.Pure.null_var", "equation_Pulse.Syntax.Pure.term_of_nvar", - "equation_Pulse.Syntax.Pure.tm_type", - "equation_Pulse.Syntax.Pure.tm_var", "equation_Pulse.Syntax.Pure.u0", - "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Syntax.Pure.u0", "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.env_extends", "equation_Pulse.Typing.Env.extends_with", "equation_Pulse.Typing.Env.lookup", "equation_Pulse.Typing.FV.set_minus", - "equation_Pulse.Typing.Metatheory.fresh_wrt", + "equation_Pulse.Typing.comp_post_matches_hint", "equation_Pulse.Typing.comp_withlocal_body", - "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.mk_ref", - "fuel_guarded_inversion_FStar.Pervasives.dtuple3", - "fuel_guarded_inversion_FStar.Pervasives.dtuple5", + "equation_Pulse.Typing.comp_withlocal_body_pre", + "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.fresh_wrt", + "equation_Pulse.Typing.mk_ref", + "equation_Pulse.Typing.post_hint_for_env", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_Pulse.Typing.post_hint_opt", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Pulse.Syntax.Base.binder", "fuel_guarded_inversion_Pulse.Syntax.Base.ppname", "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_WithLocal__payload", "fuel_guarded_inversion_Pulse.Syntax.Base.term", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.string", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_4e1f065c7ac36355a952ad587874c4f1", - "interpretation_Tm_abs_cd72369524389e3be62903f62f940022", - "kinding_Pulse.Checker.Common.post_hint_t@tok", - "kinding_Pulse.Syntax.Base.ppname@tok", - "kinding_Pulse.Syntax.Base.term@tok", + "int_typing", "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Typing.post_hint_t@tok", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Sealed.Inhabited.sealed_singleton", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_Pulse.Checker.Common.post_hint_for_env_extends", "lemma_Pulse.Syntax.Base.range_singleton", "lemma_Pulse.Typing.Env.push_binding_bs", "lemma_Pulse.Typing.Env.push_env_as_map", "lemma_Pulse.Typing.FV.freevars_close_st_term", + "lemma_Pulse.Typing.post_hint_for_env_extends", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Mkdtuple3__1", - "proj_equation_FStar.Pervasives.Mkdtuple3__2", - "proj_equation_FStar.Pervasives.Mkdtuple5__1", - "proj_equation_FStar.Pervasives.Mkdtuple5__2", - "proj_equation_FStar.Pervasives.Mkdtuple5__3", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Pulse.Checker.Common.Mkpost_hint_t_g", - "proj_equation_Pulse.Checker.Common.Mkpost_hint_t_post", - "proj_equation_Pulse.Checker.Common.Mkpost_hint_t_ret_ty", - "proj_equation_Pulse.Checker.Common.Mkpost_hint_t_u", "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ppname", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", "proj_equation_Pulse.Syntax.Base.Mkppname_name", "proj_equation_Pulse.Syntax.Base.Mkppname_range", @@ -158,11 +128,12 @@ "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", "proj_equation_Pulse.Syntax.Base.Mkst_comp_res", "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", - "proj_equation_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload_binder", - "proj_equation_Pulse.Syntax.Base.Mkst_term_range", - "proj_equation_Pulse.Syntax.Base.Mkst_term_term", - "proj_equation_Pulse.Syntax.Base.Tm_WithLocal__0", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", + "proj_equation_Pulse.Typing.Mkpost_hint_t_post", + "proj_equation_Pulse.Typing.Mkpost_hint_t_ret_ty", + "proj_equation_Pulse.Typing.Mkpost_hint_t_u", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -173,65 +144,56 @@ "projection_inverse_FStar.Tactics.Result.Success_a", "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", - "projection_inverse_Pulse.Checker.Common.Mkpost_hint_t_g", - "projection_inverse_Pulse.Checker.Common.Mkpost_hint_t_post", - "projection_inverse_Pulse.Checker.Common.Mkpost_hint_t_ret_ty", - "projection_inverse_Pulse.Checker.Common.Mkpost_hint_t_u", "projection_inverse_Pulse.Syntax.Base.C_ST__0", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", "projection_inverse_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_Pulse.Syntax.Base.Mkppname_range", "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", "projection_inverse_Pulse.Syntax.Base.Mkst_comp_res", "projection_inverse_Pulse.Syntax.Base.Mkst_comp_u", - "projection_inverse_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_Pulse.Syntax.Base.Tm_WithLocal__0", + "projection_inverse_Pulse.Typing.Mkpost_hint_t_g", + "projection_inverse_Pulse.Typing.Mkpost_hint_t_post", + "projection_inverse_Pulse.Typing.Mkpost_hint_t_ret_ty", + "projection_inverse_Pulse.Typing.Mkpost_hint_t_u", "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", - "refinement_interpretation_Tm_refine_361c2994f292a4fec1160f4f8995338e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_460ca66dc5107a4a4bd5bf4443e1a214", "refinement_interpretation_Tm_refine_484fe0819d1383a2c20d94ae027baa5f", - "refinement_interpretation_Tm_refine_517420d3c6a53f6706a48ac05e3d1f28", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_780481c4922499e33b34fb36c13d7e8d", + "refinement_interpretation_Tm_refine_6e8e5238aadfc712ef5fa6bc6310c384", "refinement_interpretation_Tm_refine_7f3ad0958305f2921bfac06f466396ae", "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", "refinement_interpretation_Tm_refine_a8346b95ba5a8f04395122ae3c6a0150", + "refinement_interpretation_Tm_refine_ba488b4f12660f6fd23fa65ec4b4a4ff", "refinement_interpretation_Tm_refine_dc4ace5c5bb2f1f9736b31fd00d584bf", "refinement_interpretation_Tm_refine_eed994d15518279ab75d745192d0d368", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "refinement_interpretation_Tm_refine_f3069ea8bbabfc59ddfb39ae0e00ff7e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "token_correspondence_Pulse.Syntax.Naming.freevars_st.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.__proj__Mkdtuple5__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple5__item___3", - "typing_FStar.Reflection.Typing.u_zero", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.complement", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_Pulse.Checker.Common.__proj__Mkpost_hint_t__item__g", + "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.complement", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", "typing_Pulse.Checker.Pure.push_context", "typing_Pulse.Checker.WithLocal.extend_post_hint_for_local", "typing_Pulse.Syntax.Base.__proj__Mkbinder__item__binder_ppname", "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", "typing_Pulse.Syntax.Base.__proj__Mkppname__item__range", - "typing_Pulse.Syntax.Base.__proj__Mkst_term___Tm_WithLocal__payload__item__binder", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__range", - "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term", - "typing_Pulse.Syntax.Base.__proj__Tm_WithLocal__item___0", "typing_Pulse.Syntax.Base.eq_univ", "typing_Pulse.Syntax.Base.ppname_default", "typing_Pulse.Syntax.Naming.close_st_term", "typing_Pulse.Syntax.Naming.freevars_st", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", - "typing_Pulse.Typing.Env.fresh", "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Syntax.Pure.u0", "typing_Pulse.Typing.Env.as_map", + "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.Env.fresh", + "typing_Pulse.Typing.Env.fstar_env", "typing_Pulse.Typing.Env.push_binding", - "typing_Pulse.Typing.Env.push_context", "typing_Pulse.Typing.mk_ref" + "typing_Pulse.Typing.Env.push_context", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__g", + "typing_Pulse.Typing.mk_ref" ], 0, - "46034ca54bad9165ac1295a2acede7ea" + "385c4552707e0146411208cc2cba5085" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Checker.fst.hints b/lib/steel/pulse/Pulse.Checker.fst.hints index 02008904a..0d38afaaf 100644 --- a/lib/steel/pulse/Pulse.Checker.fst.hints +++ b/lib/steel/pulse/Pulse.Checker.fst.hints @@ -1,5 +1,5 @@ [ - "\ndMR8$-gb", + "oEa譖*\n\\0", [ [ "Pulse.Checker.build_instantiations", @@ -11,18 +11,13 @@ "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pervasives.either", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.either@tok", - "kinding_Pulse.Syntax.Base.term@tok", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + "projection_inverse_BoxBool_proj_0" ], 0, - "88737cdcdf47728a36fb522f8621aa88" + "b0e60a7574ff9de8309eb01eec9e3e8d" ], [ "Pulse.Checker.maybe_infer_intro_exists", @@ -45,13 +40,10 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_Pulse.Checker.Inference.solution", "equation_Pulse.Checker.uvar_tys", - "equation_Pulse.Syntax.Base.vprop", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_Pulse.Checker.Inference.solution", "function_token_typing_Pulse.Checker.Inference.uvar", "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.either@tok", "kinding_Prims.list@tok", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", @@ -63,12 +55,11 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_2e3881200c03c5d6a5e08c8400580303", "string_typing", "typing_FStar.List.Tot.Base.tryFind", - "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", "typing_Pulse.Checker.Inference.unsolved", "typing_Tm_abs_a95fc995fc65154c93f16aa142ec453d" ], 0, - "7ef384ea27f8d6a42233150522d37204" + "c077c3f2e35ab64df5bd349ed0bc7296" ], [ "Pulse.Checker.handle_framing_failure", @@ -78,26 +69,11 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Pulse.Syntax_pretyping_e80a7984709b7e5db0aad12cc865623d", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Tactics.Result.Failed", - "constructor_distinct_FStar.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.Typing.fstar_top_env", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.Result.Failed_a", - "projection_inverse_FStar.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Tactics.Result.Success_a", - "projection_inverse_FStar.Tactics.Result.Success_ps", - "projection_inverse_FStar.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", "string_typing" ], 0, - "b5fbcab779fcfc5dfeab7f4f87712849" + "2a00961797cc28fd311d9c0f1b43126d" ], [ "Pulse.Checker.unprotect", @@ -122,7 +98,7 @@ "typing_Pulse.Syntax.Base.__proj__Tm_Protect__item___0" ], 0, - "588b5e4e6ac788e861f1c97ecbc78512" + "e683f9061e60eb2789762c009bfc1730" ], [ "Pulse.Checker.elim_then_check", @@ -135,27 +111,22 @@ "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", - "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Tactics.Result.Success", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Pulse.Checker.Common.post_hint_for_env_p", - "equation_Pulse.Checker.Common.post_hint_opt", "equation_Pulse.Typing.Env.env_extends", "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_Pulse.Typing.post_hint_opt", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_Pulse.Checker.Common.post_hint_t@tok", + "int_inversion", "kinding_Pulse.Typing.post_hint_t@tok", "lemma_FStar.Pervasives.invertOption", "lemma_Pulse.Typing.Env.env_extends_trans", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Pulse.Checker.Common.Mkpost_hint_t_g", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", @@ -163,18 +134,14 @@ "projection_inverse_FStar.Tactics.Result.Success_a", "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_192c61217cfb3fd0c52c646d42407ade", "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", - "refinement_interpretation_Tm_refine_517420d3c6a53f6706a48ac05e3d1f28", - "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", "refinement_interpretation_Tm_refine_7ad5682d990eaec6510764d663af54de", - "string_typing", - "typing_Pulse.Checker.Common.__proj__Mkpost_hint_t__item__g", - "typing_Pulse.Typing.Env.fstar_env", - "typing_Pulse.Typing.Env.push_env" + "refinement_interpretation_Tm_refine_ba488b4f12660f6fd23fa65ec4b4a4ff", + "string_typing", "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__g" ], 0, - "f7e3860bc83bfa9d7e25c85fdaf7f222" + "ba74ff7a81642177e8c36518ee3f9ce8" ], [ "Pulse.Checker.check'", @@ -182,17 +149,19 @@ 2, 2, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@MaxIFuel_assumption", "@fuel_correspondence_Pulse.Checker.unprotect.fuel_instrumented", "@query", "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", - "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Pulse.Syntax.Base.Tm_IntroExists", + "constructor_distinct_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "constructor_distinct_Pulse.Syntax.Base.Tm_Unknown", "data_elim_Pulse.Syntax.Base.Mkst_term", "disc_equation_FStar.Pervasives.Native.None", @@ -203,13 +172,14 @@ "disc_equation_Pulse.Syntax.Base.C_Tot", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -222,8 +192,6 @@ "equality_tok_Pulse.Syntax.Base.Tm_VProp@tok", "equation_FStar.Range.range", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Pulse.Checker.Common.comp_post_matches_hint", - "equation_Pulse.Checker.Common.post_hint_opt", "equation_Pulse.Checker.Exists.intro_exists_witness_singleton", "equation_Pulse.Checker.Pure.push_context", "equation_Pulse.Syntax.Base.range", @@ -231,24 +199,28 @@ "equation_Pulse.Syntax.Base.tm_vprop", "equation_Pulse.Syntax.Base.vprop", "equation_Pulse.Syntax.Base.with_range", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.comp_post_matches_hint", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_Pulse.Typing.post_hint_opt", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term_", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_Pulse.Checker.Common.post_hint_t@tok", - "kinding_Pulse.Syntax.Base.term@tok", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Typing.post_hint_t@tok", "lemma_FStar.Pervasives.invertOption", "lemma_Pulse.Syntax.Base.range_singleton", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Pulse.Syntax.Base.Mkst_term___Tm_IntroExists__payload_witnesses", "proj_equation_Pulse.Syntax.Base.Mkst_term_range", "proj_equation_Pulse.Syntax.Base.Mkst_term_term", "proj_equation_Pulse.Syntax.Base.Mkterm_range", - "proj_equation_Pulse.Syntax.Base.Tm_IntroExists__0", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -262,28 +234,26 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_IntroExists__payload_witnesses", "projection_inverse_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_Pulse.Syntax.Base.Tm_IntroExists__0", + "projection_inverse_Pulse.Syntax.Base.Tm_ProofHintWithBinders__0", "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", - "refinement_interpretation_Tm_refine_2dc8ef992844b2702f91b6f9d6e8b11b", - "refinement_interpretation_Tm_refine_517420d3c6a53f6706a48ac05e3d1f28", "refinement_interpretation_Tm_refine_7f3ad0958305f2921bfac06f466396ae", "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_ba488b4f12660f6fd23fa65ec4b4a4ff", "refinement_interpretation_Tm_refine_eed994d15518279ab75d745192d0d368", - "string_typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Pulse.Checker.Pure.push_context", + "string_typing", "typing_Pulse.Checker.Pure.push_context", "typing_Pulse.Checker.unprotect", - "typing_Pulse.Syntax.Base.__proj__Mkst_term___Tm_If__payload__item__post", - "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__range", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term", "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", - "typing_Pulse.Syntax.Base.__proj__Tm_If__item___0", "typing_Pulse.Syntax.Base.tm_vprop", "typing_Pulse.Syntax.Printer.tag_of_st_term", "typing_Pulse.Typing.Env.fstar_env", "typing_Pulse.Typing.Env.push_context" ], 0, - "e54cfb04afa457e9d0e7c151cb7d36b6" + "ad95ea047d3e105cfc6359e389022966" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Class.BoundedIntegers.fst.hints b/lib/steel/pulse/Pulse.Class.BoundedIntegers.fst.hints new file mode 100644 index 000000000..e7fdcdd55 --- /dev/null +++ b/lib/steel/pulse/Pulse.Class.BoundedIntegers.fst.hints @@ -0,0 +1,440 @@ +[ + "}D峺ej", + [ + [ + "Pulse.Class.BoundedIntegers.add", + 1, + 2, + 1, + [ + "@query", "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", + "true_interp" + ], + 0, + "f09aaafa8d1ceeada5e5a60f8b273894" + ], + [ + "Pulse.Class.BoundedIntegers.add", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "equation_Pulse.Class.BoundedIntegers.ok", + "equation_Pulse.Class.BoundedIntegers.op_Plus", + "equation_Pulse.Class.BoundedIntegers.v", + "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", + "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", + "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", + "refinement_interpretation_Tm_refine_b7ef005063e3ab26180eab67f6d7bbae", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", + "token_correspondence_Pulse.Class.BoundedIntegers.v" + ], + 0, + "b490e8c08e17099dd210ed01f787083a" + ], + [ + "Pulse.Class.BoundedIntegers.add3", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "equation_Pulse.Class.BoundedIntegers.ok", + "equation_Pulse.Class.BoundedIntegers.op_Plus", + "equation_Pulse.Class.BoundedIntegers.v", + "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", + "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", + "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", + "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", + "token_correspondence_Pulse.Class.BoundedIntegers.v", "true_interp" + ], + 0, + "7581810cc00122fe552dea574f5a265d" + ], + [ + "Pulse.Class.BoundedIntegers.add3", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_c4a75f60b7157b7ea40684b3c73019d6", + "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", + "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "equation_Pulse.Class.BoundedIntegers.ok", + "equation_Pulse.Class.BoundedIntegers.op_Plus", + "equation_Pulse.Class.BoundedIntegers.v", + "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", + "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", + "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", + "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", + "refinement_interpretation_Tm_refine_20dc8ad32903119db4097dbede2f6f9d", + "refinement_interpretation_Tm_refine_cface579e84edab1d51e059d64561695", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", + "token_correspondence_Pulse.Class.BoundedIntegers.v" + ], + 0, + "6f15520caf4ba45ae56c6c797c6bd416" + ], + [ + "Pulse.Class.BoundedIntegers.add3_alt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "equation_Pulse.Class.BoundedIntegers.ok", + "equation_Pulse.Class.BoundedIntegers.op_Plus", + "equation_Pulse.Class.BoundedIntegers.v", + "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", + "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", + "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", + "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", + "token_correspondence_Pulse.Class.BoundedIntegers.v", "true_interp" + ], + 0, + "38ecd7fd0e897e8584d83e5480711ee7" + ], + [ + "Pulse.Class.BoundedIntegers.add3_alt", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "equation_Pulse.Class.BoundedIntegers.ok", + "equation_Pulse.Class.BoundedIntegers.op_Plus", + "equation_Pulse.Class.BoundedIntegers.v", + "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", + "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", + "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", + "refinement_interpretation_Tm_refine_230a2a6e17a16d1ebe659e0d57ca05c9", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", + "token_correspondence_Pulse.Class.BoundedIntegers.v" + ], + 0, + "bbe388e866eb882ade280929677c5479" + ], + [ + "Pulse.Class.BoundedIntegers.bounded_int_u32", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_0ecb6df2a5685a8d0605ac13061a9684", + "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_b84a24e323b3209fbcac1b5ac470a556", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", + "equation_FStar.UInt32.lte", "equation_Prims.nat", + "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "equation_Pulse.Class.BoundedIntegers.op_Less", + "equation_Pulse.Class.BoundedIntegers.op_Less_Equals", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", + "interpretation_Tm_abs_82e749468782baff38492e64afea52df", + "interpretation_Tm_abs_e6649eba6390f90be22ea1a9dce6d496", + "interpretation_Tm_abs_f4d32f3d705308e5f1a270cda9a29727", + "interpretation_Tm_abs_ff7cb3bc3f98798e4c311a208e473b7e", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less_Equals", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b87295cfb0108f11c92ba4a990efffc7", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd4d23c9bc96e098f33825748d153c04", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Less", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Less_Equals", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_Tm_abs_82e749468782baff38492e64afea52df", + "typing_Tm_abs_ff7cb3bc3f98798e4c311a208e473b7e" + ], + 0, + "b64438cd8a0742714994015bf114f79a" + ], + [ + "Pulse.Class.BoundedIntegers.add_u32", + 1, + 2, + 1, + [ + "@query", "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", + "true_interp" + ], + 0, + "f86d2bb8f8f5637a36edafecfab838d9" + ], + [ + "Pulse.Class.BoundedIntegers.add_u32", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "equation_Pulse.Class.BoundedIntegers.bounded_int_u32", + "equation_Pulse.Class.BoundedIntegers.ok", + "equation_Pulse.Class.BoundedIntegers.op_Plus", + "equation_Pulse.Class.BoundedIntegers.v", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", + "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", + "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", + "refinement_interpretation_Tm_refine_9d79ca37d0e830469d08a27aadb313bf", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", + "token_correspondence_Pulse.Class.BoundedIntegers.v" + ], + 0, + "40338363bf2644ae7518dcf82ce08813" + ], + [ + "Pulse.Class.BoundedIntegers.sub_u32", + 1, + 2, + 1, + [ + "@query", "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", + "primitive_Prims.op_Subtraction", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", + "true_interp" + ], + 0, + "aa3248dc05bd07ece055e0645b8590ac" + ], + [ + "Pulse.Class.BoundedIntegers.sub_u32", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "equation_Pulse.Class.BoundedIntegers.bounded_int_u32", + "equation_Pulse.Class.BoundedIntegers.ok", + "equation_Pulse.Class.BoundedIntegers.op_Subtraction", + "equation_Pulse.Class.BoundedIntegers.v", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_247f3cb36b17b51f48b81868489fffc3", + "interpretation_Tm_abs_8154ab71284c4a913019d0826babcbe6", + "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Subtraction", + "refinement_interpretation_Tm_refine_bf58fad13f308910817062e1bf18d398", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Subtraction", + "token_correspondence_Pulse.Class.BoundedIntegers.v" + ], + 0, + "34188d4ac9fd2906a242ba437f31d66e" + ], + [ + "Pulse.Class.BoundedIntegers.add_nat_1", + 1, + 2, + 1, + [ + "@query", "equation_Pulse.Class.BoundedIntegers.bounded_int_int", + "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", + "true_interp" + ], + 0, + "93d6af1df1857f9fe1209d61dbf6bb97" + ], + [ + "Pulse.Class.BoundedIntegers.bounded_int_nat", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.eqtype", + "equation_Pulse.Class.BoundedIntegers.fits_t", + "equation_Pulse.Class.BoundedIntegers.nat_as_int", + "function_token_typing_Prims.int", + "haseqTm_refine_2c9509c4fdf356ea8b390762a509ebbb", + "interpretation_Tm_abs_49832691c8e834c9b5f114e3af28e84b", + "primitive_Prims.op_Addition", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2c9509c4fdf356ea8b390762a509ebbb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "e31dc3ccbfaa9f8bec6b4c02e01acb10" + ], + [ + "Pulse.Class.BoundedIntegers.add_nat", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_Pulse.Class.BoundedIntegers.bounded_int_nat", + "equation_Pulse.Class.BoundedIntegers.nat_as_int", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_49832691c8e834c9b5f114e3af28e84b", + "primitive_Prims.op_Addition", + "primitive_Prims.op_GreaterThanOrEqual", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", + "token_correspondence_Pulse.Class.BoundedIntegers.nat_as_int" + ], + 0, + "dcfb7227e262e3ac0b8b01334ac583f2" + ], + [ + "Pulse.Class.BoundedIntegers.bounded_int_size_t", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Pulse.Class.BoundedIntegers.fits_t", + "interpretation_Tm_abs_efe372ce3e9de26e7779d8bc6ea105c3", + "l_and-interp", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2c9509c4fdf356ea8b390762a509ebbb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", + "typing_FStar.SizeT.v" + ], + 0, + "d30841d8213c7ef9744d645878710d42" + ], + [ + "Pulse.Class.BoundedIntegers.size_t_plus_one", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_4e9e5a602a12a0a4955a27552da74126", + "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", + "equation_Prims.nat", + "equation_Pulse.Class.BoundedIntegers.bounded_int_size_t", + "equation_Pulse.Class.BoundedIntegers.op_Less", "int_typing", + "interpretation_Tm_abs_24a873797f26156ae9d97fe9aa2a95c1", + "interpretation_Tm_abs_63fb2cefe8a09ad45caa8eb2d2cf7613", + "interpretation_Tm_abs_e6649eba6390f90be22ea1a9dce6d496", + "interpretation_Tm_abs_efe372ce3e9de26e7779d8bc6ea105c3", + "l_and-interp", "lemma_FStar.SizeT.fits_at_least_16", + "lemma_FStar.SizeT.size_uint_to_t_inj", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less", + "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", + "refinement_interpretation_Tm_refine_207024d2522be2ff59992eb07d6dc785", + "refinement_interpretation_Tm_refine_2cdd0b779b7e65376ec1ec73cce4cdb4", + "refinement_interpretation_Tm_refine_4bfb8911fbd05ad55cdf0a80ba01bd05", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", + "refinement_interpretation_Tm_refine_9b6814fd42e45bedf339f7a6d66952ad", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", + "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", + "token_correspondence_Pulse.Class.BoundedIntegers.op_Less", + "typing_FStar.SizeT.uint_to_t", "typing_FStar.SizeT.v", + "typing_Pulse.Class.BoundedIntegers.bounded_int_size_t" + ], + 0, + "f32a7271c5e08347de4fbb2eb5d122c2" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Common.fst.hints b/lib/steel/pulse/Pulse.Common.fst.hints new file mode 100644 index 000000000..4feec8132 --- /dev/null +++ b/lib/steel/pulse/Pulse.Common.fst.hints @@ -0,0 +1,427 @@ +[ + "<ȤTcq0Iv\u001d", + [ + [ + "Pulse.Common.op_let_Question", + 1, + 2, + 1, + [ "@query", "lemma_FStar.Pervasives.invertOption" ], + 0, + "467d6121d35a151a51b2cb680dea86ee" + ], + [ + "Pulse.Common.for_all_dec", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_652f4e4a575e8821fc336b216aa5924b_6", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.op_Equals_Equals_Equals", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_3e1bb647f12ec6b42d061204098b4e44", + "subterm_ordering_Prims.Cons" + ], + 0, + "8ab8c32710558b7a853f4f48e9a38e4f" + ], + [ + "Pulse.Common.map_dec", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_87ee995c600a802bda98b813a7e13db0_7", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.op_Equals_Equals_Equals", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2e74550fdbd5b7dcaa400fdb1bcb3170", + "subterm_ordering_Prims.Cons" + ], + 0, + "6684db7495738c1ff3067a015b777343" + ], + [ + "Pulse.Common.zipWith", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_FStar.Tactics.Result.Success", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "equation_Prims.min", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2c4be05c1b74a68da7602e6178acbf47" + ], + 0, + "141f50e0f46af29221c023628feb0fec" + ], + [ + "Pulse.Common.zip", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_4", + "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", + "binder_x_fe28d8bcde588226b4e538b35321de05_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "disc_equation_Prims.Cons", "equation_Prims.min", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_353124be5055880091f81a1612f82df3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.length" + ], + 0, + "69fcac07e3e4d4aa50fc5ac6e7832414" + ], + [ + "Pulse.Common.map_opt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "f70b54d495da78d946131a65eb23fa36" + ], + [ + "Pulse.Common.map_opt_dec", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_6c50b6a78a5d5fe006e018a5fd13eaaf_8", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.op_Equals_Equals_Equals", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_da1abf8c1e8d764f88ea1963b9cbf32a", + "subterm_ordering_Prims.Cons" + ], + 0, + "62ff1bc109edcd684c04d0291c40dd47" + ], + [ + "Pulse.Common.concat_map_opt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "7995d6ce460902c1dc7691a04c2e7c16" + ], + [ + "Pulse.Common.lemma_map_opt_dec_len", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "3a49aa35b8b24417f2e0fd3ef010a25c" + ], + [ + "Pulse.Common.lemma_map_opt_dec_len", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_opt_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_opt_dec.fuel_instrumented", + "@query", + "Pulse.Common_interpretation_Tm_arrow_6ecd4e3008b24e12a7600c9da7f1751b", + "Pulse.Common_interpretation_Tm_arrow_f00e7f9286c6af707e459bdb21e2067d", + "b2t_def", "binder_x_6c50b6a78a5d5fe006e018a5fd13eaaf_8", + "binder_x_94c9b5a69548692a96b16bf575867ad5_6", + "binder_x_c62f3cea4d6ddcf6e64452fb18d23b8c_7", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_5", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_Prims.Cons", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.op_Equals_Equals_Equals", "equation_Prims.squash", + "equation_Pulse.Common.op_let_Question", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Common.map_opt_dec.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", + "interpretation_Tm_abs_a4ae852c8e9090e7a19d6cf9f209d120", + "interpretation_Tm_abs_f4ac1bb6b4a44350828702f0e924d9aa", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_7dd233ef2aca4ec82dde83d4c1a4b2bb", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_da1abf8c1e8d764f88ea1963b9cbf32a", + "subterm_ordering_Prims.Cons", "typing_Pulse.Common.map_opt_dec" + ], + 0, + "9d1793a5cd03bd520adbae7c4fa9a6a1" + ], + [ + "Pulse.Common.lemma_map_dec_len", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e397420330fc2eb5a4e2f30c73d3a871" + ], + 0, + "a25140863c0bb1669dd015cd2d7111e5" + ], + [ + "Pulse.Common.lemma_map_dec_len", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_dec.fuel_instrumented", "@query", + "Pulse.Common_interpretation_Tm_arrow_93e59dc536f6ecff0f8927a1290136b5", + "Pulse.Common_interpretation_Tm_arrow_ba9d2f9f3554d9a84a2f20af12d3db5d", + "binder_x_6c50b6a78a5d5fe006e018a5fd13eaaf_8", + "binder_x_93cd127f922a4e61aef87eb307d9b05b_7", + "binder_x_94c9b5a69548692a96b16bf575867ad5_6", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_5", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.op_Equals_Equals_Equals", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Common.map_dec.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_6d56c54b76b299baa80a359c9d20cb8c", + "refinement_interpretation_Tm_refine_7dd233ef2aca4ec82dde83d4c1a4b2bb", + "refinement_interpretation_Tm_refine_da1abf8c1e8d764f88ea1963b9cbf32a", + "subterm_ordering_Prims.Cons", "typing_Pulse.Common.map_dec" + ], + 0, + "c8a21eed0e59e58cc691d7d71a35feda" + ], + [ + "Pulse.Common.__lemma_map_dec_index", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_dec.fuel_instrumented", "@query", + "equation_Prims.nat", "int_inversion", + "lemma_Pulse.Common.dec_index", + "lemma_Pulse.Common.lemma_map_dec_len", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_240252e5fc8433e2ded321d56eeb6aed", + "refinement_interpretation_Tm_refine_4a142b6adbf8bb27b2336ee86c007ca6", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e" + ], + 0, + "6c76ff9a883c5c36531d474d25e8b0f4" + ], + [ + "Pulse.Common.__lemma_map_dec_index", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_dec.fuel_instrumented", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Pulse.Common_interpretation_Tm_arrow_93e59dc536f6ecff0f8927a1290136b5", + "Pulse.Common_interpretation_Tm_arrow_987cb45341a5cf19cc0fc1902456eec5", + "Pulse.Common_interpretation_Tm_arrow_ba9d2f9f3554d9a84a2f20af12d3db5d", + "binder_x_6c50b6a78a5d5fe006e018a5fd13eaaf_8", + "binder_x_7b53967ef846f06f497df01afa7e87b8_10", + "binder_x_93cd127f922a4e61aef87eb307d9b05b_7", + "binder_x_94c9b5a69548692a96b16bf575867ad5_6", + "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_9", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_5", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", + "equation_Prims.op_Equals_Equals_Equals", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Common.map_dec.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "lemma_Pulse.Common.dec_index", + "lemma_Pulse.Common.lemma_map_dec_len", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple3__1", + "proj_equation_FStar.Pervasives.Native.Mktuple3__2", + "proj_equation_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_10bd1976b071e66c0e8c9adf261d4ec9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d56c54b76b299baa80a359c9d20cb8c", + "refinement_interpretation_Tm_refine_7dd233ef2aca4ec82dde83d4c1a4b2bb", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_da1abf8c1e8d764f88ea1963b9cbf32a", + "refinement_interpretation_Tm_refine_e1584c6bfcf1c6439e46254a9d9f254c", + "subterm_ordering_Prims.Cons" + ], + 0, + "bc13c5737994503960c93e62adcf00ab" + ], + [ + "Pulse.Common.lemma_map_dec_index", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_dec.fuel_instrumented", "@query", + "equation_Prims.nat", "int_inversion", + "lemma_Pulse.Common.dec_index", + "lemma_Pulse.Common.lemma_map_dec_len", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_1c4a9d4568e26810ff7da3aef03bf086", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" + ], + 0, + "0e33d26e88f5d33fb75dac5713a1ef93" + ], + [ + "Pulse.Common.lemma_map_dec_index_i", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Common.map_dec.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Common.map_dec.fuel_instrumented", "@query", + "equation_Prims.nat", "int_inversion", + "lemma_Pulse.Common.dec_index", + "lemma_Pulse.Common.lemma_map_dec_len", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_1c4a9d4568e26810ff7da3aef03bf086", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" + ], + 0, + "79460f9946ed013f9a61217218e15bbc" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Elaborate.Core.fst.hints b/lib/steel/pulse/Pulse.Elaborate.Core.fst.hints index cb28e0c0f..13f33e8b4 100644 --- a/lib/steel/pulse/Pulse.Elaborate.Core.fst.hints +++ b/lib/steel/pulse/Pulse.Elaborate.Core.fst.hints @@ -1,5 +1,5 @@ [ - "2f0\u0015\u000e\n<Ͷ\u000b", + "\u0015\u000e_1B+y\\\u0002", [ [ "Pulse.Elaborate.Core.elab_frame", @@ -20,7 +20,7 @@ "typing_Pulse.Syntax.Base.uu___is_C_STAtomic" ], 0, - "45522946c53c8e2cf01025086f42ce95" + "1d2c7c806e0541362775eb7c975dc4a1" ], [ "Pulse.Elaborate.Core.elab_sub", @@ -42,7 +42,7 @@ "typing_Pulse.Syntax.Base.uu___is_C_STAtomic" ], 0, - "72e5a0c714b9f268894f031dd9eed16b" + "8e297a73bf7dbfff914580b791572611" ], [ "Pulse.Elaborate.Core.elab_bind", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_fecc77b374a5a63ebf9e46c0cac6c2d5" ], 0, - "fc104820d93c3dfd2662b85488aad209" + "45f71b274189908f85cad869961efb4f" ], [ "Pulse.Elaborate.Core.elab_lift", @@ -103,7 +103,7 @@ "typing_Pulse.Syntax.Base.uu___is_C_STGhost" ], 0, - "d45671c5d9157ce46922a6ff75450861" + "117902b6f4ccb36dde960b8216c846a4" ], [ "Pulse.Elaborate.Core.intro_pure_tm", @@ -128,7 +128,7 @@ "typing_tok_FStar.Reflection.V2.Data.C_Unit@tok" ], 0, - "538ed0279483a37e1be800db888b883f" + "cc211a6f1f93b465c1b0297fa043beac" ], [ "Pulse.Elaborate.Core.elab_st_typing", @@ -139,13 +139,28 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Pulse.Syntax.Base_pretyping_adc52787535d21bdc2731720d86e99a8", + "Pulse.Typing_pretyping_cf9cbd58db489acbc796ffcf5693f9a6", "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_1", - "binder_x_0401a96b6205c6354bafd83b7f4a3e6d_3", "bool_inversion", + "binder_x_0401a96b6205c6354bafd83b7f4a3e6d_3", + "binder_x_1ad99e5433effa849e32ef9adfa111a0_0", + "binder_x_b015b044c5bf00a3dd3df9fa711c87dd_2", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Typing.T_Bind", + "constructor_distinct_Pulse.Typing.T_Equiv", + "constructor_distinct_Pulse.Typing.T_Frame", + "constructor_distinct_Pulse.Typing.T_If", + "constructor_distinct_Pulse.Typing.T_Lift", + "constructor_distinct_Pulse.Typing.T_Match", "constructor_distinct_Pulse.Typing.T_Par", "constructor_distinct_Pulse.Typing.T_Return", + "constructor_distinct_Pulse.Typing.T_TotBind", + "constructor_distinct_Pulse.Typing.T_While", "constructor_distinct_Pulse.Typing.T_WithLocal", "data_elim_Pulse.Typing.ST_VPropEquiv", + "data_elim_Pulse.Typing.T_Bind", "data_elim_Pulse.Typing.T_Equiv", + "data_elim_Pulse.Typing.T_If", "data_elim_Pulse.Typing.T_Par", + "data_elim_Pulse.Typing.T_TotBind", "data_elim_Pulse.Typing.T_While", + "data_elim_Pulse.Typing.T_WithLocal", "data_typing_intro_Pulse.Syntax.Base.STT_Atomic@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_Pulse.Syntax.Base.C_ST", @@ -163,6 +178,7 @@ "disc_equation_Pulse.Typing.T_IntroExistsErased", "disc_equation_Pulse.Typing.T_IntroPure", "disc_equation_Pulse.Typing.T_Lift", + "disc_equation_Pulse.Typing.T_Match", "disc_equation_Pulse.Typing.T_Par", "disc_equation_Pulse.Typing.T_Return", "disc_equation_Pulse.Typing.T_Rewrite", @@ -170,15 +186,17 @@ "disc_equation_Pulse.Typing.T_TotBind", "disc_equation_Pulse.Typing.T_While", "disc_equation_Pulse.Typing.T_WithLocal", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.ppname_default", "equation_Pulse.Syntax.Base.stateful_comp", "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", "fuel_guarded_inversion_Pulse.Syntax.Base.ctag", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", "fuel_guarded_inversion_Pulse.Typing.st_equiv", - "fuel_guarded_inversion_Pulse.Typing.st_typing", + "fuel_guarded_inversion_Pulse.Typing.st_typing", "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", @@ -187,8 +205,32 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Pulse.Typing.T_Par__6", - "projection_inverse_Pulse.Typing.T_Par__7", + "projection_inverse_Pulse.Typing.T_Bind__10", + "projection_inverse_Pulse.Typing.T_Bind__8", + "projection_inverse_Pulse.Typing.T_Bind_b", + "projection_inverse_Pulse.Typing.T_Bind_c1", + "projection_inverse_Pulse.Typing.T_Bind_c2", + "projection_inverse_Pulse.Typing.T_Bind_e1", + "projection_inverse_Pulse.Typing.T_Bind_e2", + "projection_inverse_Pulse.Typing.T_Bind_g", + "projection_inverse_Pulse.Typing.T_Bind_x", + "projection_inverse_Pulse.Typing.T_Equiv__4", + "projection_inverse_Pulse.Typing.T_Equiv__5", + "projection_inverse_Pulse.Typing.T_Equiv_c", + "projection_inverse_Pulse.Typing.T_Equiv_c_", + "projection_inverse_Pulse.Typing.T_Equiv_e", + "projection_inverse_Pulse.Typing.T_Equiv_g", + "projection_inverse_Pulse.Typing.T_Frame__5", + "projection_inverse_Pulse.Typing.T_If__8", + "projection_inverse_Pulse.Typing.T_If__9", + "projection_inverse_Pulse.Typing.T_If_b", + "projection_inverse_Pulse.Typing.T_If_c", + "projection_inverse_Pulse.Typing.T_If_e1", + "projection_inverse_Pulse.Typing.T_If_e2", + "projection_inverse_Pulse.Typing.T_If_g", + "projection_inverse_Pulse.Typing.T_If_hyp", + "projection_inverse_Pulse.Typing.T_Lift__4", + "projection_inverse_Pulse.Typing.T_Match__8", "projection_inverse_Pulse.Typing.T_Par__8", "projection_inverse_Pulse.Typing.T_Par__9", "projection_inverse_Pulse.Typing.T_Par_cL", @@ -196,7 +238,6 @@ "projection_inverse_Pulse.Typing.T_Par_eL", "projection_inverse_Pulse.Typing.T_Par_eR", "projection_inverse_Pulse.Typing.T_Par_g", - "projection_inverse_Pulse.Typing.T_Par_x", "projection_inverse_Pulse.Typing.T_Return__10", "projection_inverse_Pulse.Typing.T_Return__8", "projection_inverse_Pulse.Typing.T_Return__9", @@ -208,9 +249,18 @@ "projection_inverse_Pulse.Typing.T_Return_u", "projection_inverse_Pulse.Typing.T_Return_use_eq", "projection_inverse_Pulse.Typing.T_Return_x", - "projection_inverse_Pulse.Typing.T_WithLocal__6", - "projection_inverse_Pulse.Typing.T_WithLocal__7", - "projection_inverse_Pulse.Typing.T_WithLocal__8", + "projection_inverse_Pulse.Typing.T_TotBind__7", + "projection_inverse_Pulse.Typing.T_TotBind_c2", + "projection_inverse_Pulse.Typing.T_TotBind_e2", + "projection_inverse_Pulse.Typing.T_TotBind_g", + "projection_inverse_Pulse.Typing.T_TotBind_t1", + "projection_inverse_Pulse.Typing.T_TotBind_x", + "projection_inverse_Pulse.Typing.T_While__5", + "projection_inverse_Pulse.Typing.T_While__6", + "projection_inverse_Pulse.Typing.T_While_body", + "projection_inverse_Pulse.Typing.T_While_cond", + "projection_inverse_Pulse.Typing.T_While_g", + "projection_inverse_Pulse.Typing.T_While_inv", "projection_inverse_Pulse.Typing.T_WithLocal__9", "projection_inverse_Pulse.Typing.T_WithLocal_body", "projection_inverse_Pulse.Typing.T_WithLocal_c", @@ -218,6 +268,7 @@ "projection_inverse_Pulse.Typing.T_WithLocal_init", "projection_inverse_Pulse.Typing.T_WithLocal_init_t", "projection_inverse_Pulse.Typing.T_WithLocal_x", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5ecc2896a3c67fb3a0af5aa92f4f89a7", "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", "refinement_interpretation_Tm_refine_b62cb64ffa39b6d9d2eb56acf9f4cf34", @@ -231,16 +282,86 @@ "subterm_ordering_Pulse.Typing.T_Frame", "subterm_ordering_Pulse.Typing.T_If", "subterm_ordering_Pulse.Typing.T_Lift", + "subterm_ordering_Pulse.Typing.T_Match", "subterm_ordering_Pulse.Typing.T_Par", "subterm_ordering_Pulse.Typing.T_TotBind", "subterm_ordering_Pulse.Typing.T_While", "subterm_ordering_Pulse.Typing.T_WithLocal", "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", "typing_Pulse.Syntax.Base.uu___is_C_ST", - "typing_Pulse.Typing.Env.as_map" + "typing_Pulse.Typing.Env.as_map", + "typing_Pulse.Typing.uu___is_T_Par", + "typing_Pulse.Typing.uu___is_T_WithLocal" + ], + 0, + "2a552ac911a783f94c7e539b8a61d51a" + ], + [ + "Pulse.Elaborate.Core.elab_st_typing", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Typing.all_fresh.fuel_instrumented", + "@fuel_correspondence_Pulse.Typing.push_bindings.fuel_instrumented", + "@query", "b2t_def", "binder_x_b7871386a3bf5bd4ec2755265c65efcb_7", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Reflection.Const.squash_qn", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.nat", + "equation_Prims.squash", "equation_Pulse.Syntax.Base.as_fv", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.range", "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.lookup", "equation_Pulse.Typing.freshv", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "proj_equation_Pulse.Syntax.Base.Mkfv_fv_range", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_range", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_31f0431eec32a7971b33471ec380e558", + "refinement_interpretation_Tm_refine_5f4e815ddfeb3d0c9882ff3a1fb18eac", + "refinement_interpretation_Tm_refine_7ad5682d990eaec6510764d663af54de", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "subterm_ordering_Pulse.Typing.TBR", "true_interp", + "typing_FStar.Map.contains", + "typing_FStar.Reflection.Const.squash_qn", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Syntax.Base.__proj__Mkfv__item__fv_range", + "typing_Pulse.Syntax.Base.as_fv", "typing_Pulse.Typing.Env.as_map" + ], + 0, + "d83a479107909e2db1869c08d4a1f0a7" + ], + [ + "Pulse.Elaborate.Core.elab_st_typing", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_40f47b036cc24e11c7ed578f0b141555_4", + "binder_x_45cf6f078e394c0560c8f4452ab0f61c_6", + "binder_x_e611bb908ad64190385ceb89b8851754_3", + "disc_equation_Pulse.Typing.TBRS_0", + "disc_equation_Pulse.Typing.TBRS_1", + "equation_Pulse.Syntax.Base.typ", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "fuel_guarded_inversion_Pulse.Typing.brs_typing", + "projection_inverse_BoxBool_proj_0", + "subterm_ordering_Pulse.Typing.TBRS_1" ], 0, - "4a5de3a0f5604bfeb580e25997e6ee35" + "6585bf36b06317498867c7f3672e7dda" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Elaborate.Pure.fst.hints b/lib/steel/pulse/Pulse.Elaborate.Pure.fst.hints index 23a0cc71d..df0ae5f35 100644 --- a/lib/steel/pulse/Pulse.Elaborate.Pure.fst.hints +++ b/lib/steel/pulse/Pulse.Elaborate.Pure.fst.hints @@ -1,5 +1,5 @@ [ - "\r\u0005\u0001\u0019Ѿ!\u0013[kP", + "o\u001d51J61\u0002̫A\u000f", [ [ "Pulse.Elaborate.Pure.op_let_Bang", @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "9f3e9c27ad2e1163d46a6c1e0798141a" + "b60a348666f05c278d04c1045d25b483" ], [ "Pulse.Elaborate.Pure.elab_qual", @@ -20,7 +20,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "87e6f6893d89e7d1709d7366ae6e1c7e" + "101c16e1cf725459a7c5bb97fcd44cc8" ], [ "Pulse.Elaborate.Pure.elab_term", @@ -62,7 +62,49 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "6148d7b7ac10f099dc95314a4a38aaab" + "c1c72ab6364246112ed1b402450599e6" + ], + [ + "Pulse.Elaborate.Pure.elab_pat", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Pulse.Syntax.Base_pretyping_be189e4f396d5337499ee0c3708ca7f2", + "binder_x_be189e4f396d5337499ee0c3708ca7f2_0", "bool_typing", + "data_elim_Pulse.Syntax.Base.Pat_Dot_Term", + "disc_equation_Pulse.Syntax.Base.Pat_Cons", + "disc_equation_Pulse.Syntax.Base.Pat_Constant", + "disc_equation_Pulse.Syntax.Base.Pat_Dot_Term", + "disc_equation_Pulse.Syntax.Base.Pat_Var", + "equation_FStar.Sealed.Inhabited.is_sealed", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Pulse.Syntax.Base.pattern", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Pervasives.invertOption", + "proj_equation_Pulse.Syntax.Base.Pat_Dot_Term__0", + "projection_inverse_BoxBool_proj_0", "string_typing", + "subterm_ordering_Pulse.Syntax.Base.Pat_Cons", "true_interp" + ], + 0, + "47f26a175450a19e3dce37987c67d30f" + ], + [ + "Pulse.Elaborate.Pure.elab_pat", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_ae7c08334e415556da5d81a8e08db0b1_0", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "078589a6cdd1019b68af25d4df11d4ad" ], [ "Pulse.Elaborate.Pure.elab_comp", @@ -79,7 +121,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "62c66f20ab7b3cc44e7bea7ec2d27669" + "32b32ce9d47e70c66b81057bef43fb0b" ], [ "Pulse.Elaborate.Pure.elab_stt_equiv", @@ -94,7 +136,7 @@ "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" ], 0, - "395dab8d3c1f199994ec14583d3ebcae" + "bc183fac11264299347f1042dca61d1b" ], [ "Pulse.Elaborate.Pure.elab_stt_equiv", @@ -126,7 +168,7 @@ "typing_Pulse.Syntax.Base.uu___is_C_ST" ], 0, - "e827fd465cd43d2ed1ebecefa83c4b87" + "8617b4d554c70fd34a975047603f055f" ], [ "Pulse.Elaborate.Pure.elab_statomic_equiv", @@ -141,7 +183,7 @@ "refinement_interpretation_Tm_refine_13d5b859272356b5c25fbc5503eba342" ], 0, - "efbe5cc98839ef2fb9b9223768c5aabf" + "ce72362e4e651f0e724ec81dfea79e7c" ], [ "Pulse.Elaborate.Pure.elab_statomic_equiv", @@ -173,7 +215,7 @@ "refinement_interpretation_Tm_refine_13d5b859272356b5c25fbc5503eba342" ], 0, - "c9cdcf5751b63bd40d844c3d36e322c4" + "b8900fd54e5ab6ad56e7100976753970" ], [ "Pulse.Elaborate.Pure.elab_stghost_equiv", @@ -188,7 +230,7 @@ "refinement_interpretation_Tm_refine_dc14c56dc5eae6acd747c5a527061f28" ], 0, - "2155b9f8fa0df9572fb1ad38359258ff" + "8fadc99426727846d88d6bc93efd270b" ], [ "Pulse.Elaborate.Pure.elab_stghost_equiv", @@ -220,7 +262,7 @@ "refinement_interpretation_Tm_refine_dc14c56dc5eae6acd747c5a527061f28" ], 0, - "6a321e87578e99b94c892e437437d60b" + "ac029b5352a011a7e11b34979140c2a1" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Elaborate.fst.hints b/lib/steel/pulse/Pulse.Elaborate.fst.hints index d1eda2592..1a05245bc 100644 --- a/lib/steel/pulse/Pulse.Elaborate.fst.hints +++ b/lib/steel/pulse/Pulse.Elaborate.fst.hints @@ -97,10 +97,8 @@ "equation_FStar.Reflection.V2.Data.ppname_t", "equation_FStar.Reflection.V2.Data.universes", "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", - "equation_Prims.nat", + "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.nat", "equation_Pulse.Reflection.Util.binder_of_t_q_s", "equation_Pulse.Reflection.Util.emp_inames_tm", "equation_Pulse.Reflection.Util.mk_abs_with_name_and_range", @@ -132,7 +130,6 @@ "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_FStar.Reflection.Types.universe", "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "function_token_typing_Prims.string", "function_token_typing_Pulse.Syntax.Naming.rt_subst_elt", "function_token_typing_Pulse.Syntax.Naming.shift_subst_elt", "int_inversion", "int_typing", @@ -141,7 +138,6 @@ "kinding_Pulse.Syntax.Naming.subst_elt@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", "lemma_Pulse.Syntax.Base.range_singleton", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -194,7 +190,6 @@ "projection_inverse_Pulse.Syntax.Naming.DT__1", "refinement_interpretation_Tm_refine_23dfcaa69174c552645c49ff9c2a2ea7", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_44fa926d2508e34ad2fc460ac05a36d0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", @@ -219,7 +214,6 @@ "typing_FStar.Reflection.Typing.unit_fv", "typing_FStar.Reflection.V2.Builtins.pack_fv", "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Sealed.Inhabited.seal", "typing_FStar.Sealed.seal", "typing_Pulse.Elaborate.Pure.elab_term", "typing_Pulse.Reflection.Util.binder_of_t_q_s", "typing_Pulse.Reflection.Util.emp_inames_lid", @@ -252,7 +246,7 @@ "typing_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok" ], 0, - "825d07e94906e8b9c810c2a4ae890d18" + "03bda717a103cbf58156328bd39a8b65" ], [ "Pulse.Elaborate.elab_comp_open_commute'", @@ -417,10 +411,11 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__pre", "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__res", "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__u", + "typing_Pulse.Syntax.Naming.open_term_", "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "8c1d587476158a806ee714a929807884" + "c862dd23d15c7ed4bac17e04ae868a42" ], [ "Pulse.Elaborate.elab_close_commute'", @@ -669,7 +664,7 @@ "typing_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok" ], 0, - "bdd8b3551f617f0954b54d4289804882" + "72344f01942f64b22ba94c8dd9333820" ], [ "Pulse.Elaborate.elab_comp_close_commute'", @@ -762,7 +757,6 @@ "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_FStar.Reflection.Types.universe", "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "function_token_typing_FStar.Reflection.Typing.shift_subst_n", "function_token_typing_Prims.string", "function_token_typing_Pulse.Syntax.Naming.shift_subst_elt", "int_inversion", "int_typing", @@ -841,7 +835,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "a89b0ecbdf80a5379b8ab8e1f608c839" + "b0fbe2946f22a8e7802a39226df2f1a4" ], [ "Pulse.Elaborate.elab_open_commute", @@ -906,7 +900,7 @@ "typing_Pulse.Syntax.Pure.null_var" ], 0, - "8da4a0905cf22a60e6e45c287477d5d0" + "e42de0f81f652e1b27ad0a07a727f26d" ], [ "Pulse.Elaborate.elab_comp_close_commute", @@ -915,7 +909,7 @@ 10, [ "@query", "equation_Pulse.Syntax.Naming.close_comp" ], 0, - "e21ba60e46410ab568501c4eb0d42b50" + "2868143a212257022a42753f3951b2dd" ], [ "Pulse.Elaborate.elab_comp_open_commute", @@ -924,7 +918,7 @@ 10, [ "@query", "equation_Pulse.Syntax.Naming.open_comp_with" ], 0, - "7a9c1f0a808e22a29d5caf882db92f2f" + "faa3ae2d05a31a3eb5c888b5a0eeeddd" ], [ "Pulse.Elaborate.elab_ln", @@ -1115,7 +1109,7 @@ "typing_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok" ], 0, - "93c334033602d0937b09aeb9670d5a9d" + "54358b65ebb1dd2297835ef602076f0c" ], [ "Pulse.Elaborate.elab_ln_comp", @@ -1246,7 +1240,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "74bbf195fdd9394cc36eb29ed2126053" + "52dd360084c5a832e27ddcf2ca9200a4" ], [ "Pulse.Elaborate.elab_freevars_eq", @@ -1261,7 +1255,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fc1d1cca02fc723ea3c5ead58d2460ca" + "339e8d8f55ba8f876a5559283dc0dbd5" ], [ "Pulse.Elaborate.elab_freevars_eq", @@ -1434,6 +1428,7 @@ "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.Inhabited.seal", "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", "typing_Pulse.Elaborate.Pure.elab_term", + "typing_Pulse.Reflection.Util.binder_of_t_q_s", "typing_Pulse.Reflection.Util.emp_inames_lid", "typing_Pulse.Reflection.Util.emp_inames_tm", "typing_Pulse.Reflection.Util.emp_lid", @@ -1458,7 +1453,7 @@ "typing_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok" ], 0, - "a414e176bb4f40c90a9e0be8dab2fc02" + "0c147feb8371b83d2f0511a2625fc18a" ], [ "Pulse.Elaborate.elab_freevars_comp_eq", @@ -1471,7 +1466,6 @@ "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "@query", "FStar.Reflection.Types_pretyping_2e55a80de3ea7e6dff8c6be83b8dd816", @@ -1571,7 +1565,6 @@ "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", @@ -1579,10 +1572,7 @@ "true_interp", "typing_FStar.Reflection.Typing.binder_of_t_q", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.unit_fv", - "typing_FStar.Reflection.V2.Builtins.inspect_binder", "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Pulse.Elaborate.Pure.elab_comp", @@ -1601,7 +1591,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "7456e44f36293cc26f9d591c4ee0c812" + "9300c20d3f1aae68219c126249dc8ce8" ], [ "Pulse.Elaborate.elab_freevars", @@ -1616,7 +1606,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "00e18b4b821e19867e5c3f15e99e5d00" + "43b1439e27cbcaa89d7f28b2e6557a61" ], [ "Pulse.Elaborate.elab_freevars", @@ -1633,7 +1623,7 @@ "typing_Pulse.Syntax.Naming.freevars" ], 0, - "c81e113eea1861ed438fa08fb5f68aaa" + "43bec0e7d3b0a5b5f465b000dd7b34f0" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Elaborate.fsti.hints b/lib/steel/pulse/Pulse.Elaborate.fsti.hints index 2a9abce0b..3b4fa3945 100644 --- a/lib/steel/pulse/Pulse.Elaborate.fsti.hints +++ b/lib/steel/pulse/Pulse.Elaborate.fsti.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2e9b0d72001f92c47721b8119e6be744" + "88d9bf9ffac5488356054dbc5fed1bf9" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Main.fst.hints b/lib/steel/pulse/Pulse.Main.fst.hints index e3bec5b02..c9c379de2 100644 --- a/lib/steel/pulse/Pulse.Main.fst.hints +++ b/lib/steel/pulse/Pulse.Main.fst.hints @@ -11,19 +11,14 @@ "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Pervasives_interpretation_Tm_arrow_0b6559e6ff3addf84b0c2880affbb335", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Pulse.Main_interpretation_Tm_arrow_3b83849940dc7facf2c4db09199a2db9", - "Pulse.Typing_interpretation_Tm_arrow_057b258425247a37b4f6ea83e1d6f6fe", "Pulse.Typing_interpretation_Tm_arrow_7025f41b53a92b33286c43a926ef926b", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Tactics.Result.Success", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Pulse.Syntax.Base.C_ST", @@ -46,19 +41,13 @@ "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.extend_env_l", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.dtuple3", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.env", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Pulse.Typing.Env.binding", "int_inversion", - "interpretation_Tm_abs_feb43d7e306f9a48bff5606c2cef8474", - "kinding_Pulse.Syntax.Base.term@tok", "lemma_Pulse.Typing.Env.mk_env_bs", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Mkdtuple3__1", - "proj_equation_FStar.Pervasives.Mkdtuple3__2", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -74,19 +63,16 @@ "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", "refinement_interpretation_Tm_refine_30687c6bbf76a4ea67eae131536eafd7", + "refinement_interpretation_Tm_refine_8f56033db8fc241ac36f2bef28601f85", "refinement_interpretation_Tm_refine_b9943bf670d3eeece9d9f2e3e534ed66", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "string_typing", - "typing_FStar.Pervasives.__proj__Mkdtuple3__item___2", - "typing_Pulse.Syntax.Base.eq_tm", + "string_typing", "typing_Pulse.Syntax.Base.eq_tm", "typing_Pulse.Syntax.Base.tm_vprop", "typing_Pulse.Typing.Env.bindings", "typing_Pulse.Typing.Env.mk_env", - "typing_Tm_abs_1cbf43bdb4dc9f43697f717428ede9d7", - "typing_Tm_abs_9de830881eb0b7299cb605b2cfe97562", - "typing_Tm_abs_feb43d7e306f9a48bff5606c2cef8474" + "typing_Tm_abs_9de830881eb0b7299cb605b2cfe97562" ], 0, - "c85d15de33dcda79b1acdc84af86fd64" + "51f38b69b6806ddc11d3609e8a87b77e" ], [ "Pulse.Main.main", @@ -95,7 +81,7 @@ 1, [ "@query", "equation_FStar.Reflection.Typing.tot_typing" ], 0, - "2fedaec2dc19cd0f73fc2da0c943ee9a" + "9791c84d310aba755c73687786f18d97" ], [ "Pulse.Main.check_pulse", @@ -112,7 +98,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "20b884e56b44a2897d7c6e3bedc5a154" + "c2242123c388178d7a164763e0213ef0" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.Common.fst.hints b/lib/steel/pulse/Pulse.Prover.Common.fst.hints index 5123de6a8..a09274262 100644 --- a/lib/steel/pulse/Pulse.Prover.Common.fst.hints +++ b/lib/steel/pulse/Pulse.Prover.Common.fst.hints @@ -1,32 +1,1150 @@ [ - "sF\u000e9G", + "7A\u0004%zL#\u0010W`", [ [ - "Pulse.Prover.Common.prover_state", + "Pulse.Prover.Common.k_elab_trans", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_Pulse.Typing.post_hint_opt", + "kinding_Pulse.Typing.post_hint_t@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_Pulse.Typing.Env.env_extends_trans", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", + "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_ba488b4f12660f6fd23fa65ec4b4a4ff", + "refinement_interpretation_Tm_refine_efc21f65d3568fc5a48e98df17843dfa", + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__g" + ], + 0, + "7f56ea018a7c4cb52055748c44ab6973" + ], + [ + "Pulse.Prover.Common.comp_st_with_post", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "data_elim_Pulse.Syntax.Base.C_STAtomic", "disc_equation_Pulse.Syntax.Base.C_ST", "disc_equation_Pulse.Syntax.Base.C_STAtomic", "disc_equation_Pulse.Syntax.Base.C_STGhost", - "disc_equation_Pulse.Syntax.Base.C_Tot", "equation_Prims.eqtype", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.st_comp_of_comp", + "equation_Pulse.Syntax.Base.stateful_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__1", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" + ], + 0, + "5add6fdeb5989187c328e2ac5ddfb6a5" + ], + [ + "Pulse.Prover.Common.st_equiv_post", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_st", "equation_Pulse.Syntax.Base.stateful_comp", - "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.fresh_wrt", "fuel_guarded_inversion_Pulse.Syntax.Base.comp", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_fbeb4eb12902ab763889d17cad7e9920", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "f91a849f12325c15576f95b5385812ad" + ], + [ + "Pulse.Prover.Common.st_equiv_post", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Pulse.Syntax.Base_pretyping_b015b044c5bf00a3dd3df9fa711c87dd", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "data_elim_FStar.Pervasives.Mkdtuple4", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", + "equation_Prims.nat", + "equation_Pulse.Prover.Common.comp_st_with_post", + "equation_Pulse.Syntax.Base.comp_post", + "equation_Pulse.Syntax.Base.comp_pre", + "equation_Pulse.Syntax.Base.comp_res", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.comp_u", + "equation_Pulse.Syntax.Base.ppname_default", + "equation_Pulse.Syntax.Base.st_comp_of_comp", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Naming.open_term", + "equation_Pulse.Syntax.Pure.tm_type", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.fresh_wrt", + "equation_Pulse.Typing.st_equiv_pre", + "equation_Pulse.Typing.tot_typing", "equation_Pulse.Typing.typing", + "equation_Pulse.Typing.universe_of", + "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "fuel_guarded_inversion_Pulse.Typing.my_erased", + "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", + "interpretation_Tm_abs_9627aa63c90056f8b614da4dfb4d20bf", + "interpretation_Tm_abs_c8631188b49e797b2c9232f71b480642", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_BarBar", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_res", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Mkdtuple4__3", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__1", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_res", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_u", + "refinement_interpretation_Tm_refine_2e7859babf6dc4b57292f015e044869d", + "refinement_interpretation_Tm_refine_36441f5163bf4613efd69bece0701f67", + "refinement_interpretation_Tm_refine_6262a74a3e7906640b3d8d4146589509", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", + "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.mem", "typing_Pulse.Syntax.Base.stateful_comp", + "typing_Pulse.Syntax.Base.uu___is_C_Tot", + "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Metatheory.comp_typing_inversion", + "typing_Pulse.Typing.Metatheory.st_comp_typing_inversion", + "typing_Pulse.Typing.Metatheory.st_typing_correctness" + ], + 0, + "087b101fee1dce108465e78fcc2a9d43" + ], + [ + "Pulse.Prover.Common.simplify_post", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.stateful_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" + ], + 0, + "cf0410cca10108ecd2b02c27e25dce5d" + ], + [ + "Pulse.Prover.Common.simplify_post", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "@fuel_correspondence_Pulse.Syntax.Naming.subst_term.fuel_instrumented", + "@fuel_irrelevance_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "@fuel_irrelevance_Pulse.Syntax.Naming.subst_term.fuel_instrumented", + "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Syntax.Base.Tm_Emp", + "constructor_distinct_Pulse.Syntax.Base.Tm_Star", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "data_typing_intro_Pulse.Syntax.Naming.DT@tok", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equality_tok_Pulse.Syntax.Base.Tm_Emp@tok", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.index", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.tm_emp", + "equation_Pulse.Syntax.Base.tm_star", + "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.v_as_nv", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Base.with_range", + "equation_Pulse.Syntax.Naming.open_term", + "equation_Pulse.Syntax.Naming.open_term_", + "equation_Pulse.Syntax.Naming.open_term_nv", + "equation_Pulse.Syntax.Naming.subst", + "equation_Pulse.Syntax.Pure.term_of_nvar", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.fresh_wrt", + "equation_with_fuel_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "equation_with_fuel_Pulse.Syntax.Naming.subst_term.fuel_instrumented", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", "int_inversion", + "int_typing", "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.mem_union", + "lemma_Pulse.Syntax.Base.range_singleton", + "primitive_Prims.op_BarBar", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_Pulse.Syntax.Base.Tm_Star_l", + "projection_inverse_Pulse.Syntax.Base.Tm_Star_r", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_ae82812843756c5d6a3ba807e638b88e", + "refinement_interpretation_Tm_refine_fbeb4eb12902ab763889d17cad7e9920", + "token_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.mem", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", + "typing_Pulse.Syntax.Base.tm_emp", + "typing_Pulse.Syntax.Base.tm_star", + "typing_Pulse.Syntax.Base.uu___is_C_Tot", + "typing_Pulse.Syntax.Base.v_as_nv", + "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Syntax.Naming.open_term_nv", + "typing_Pulse.Syntax.Pure.term_of_nvar", + "typing_Pulse.Typing.Env.as_map" + ], + 0, + "1e15cc38685bd9919f439f2913e15f1f" + ], + [ + "Pulse.Prover.Common.simplify_lemma", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "data_elim_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_Pulse.Prover.Common.comp_st_with_post", + "equation_Pulse.Syntax.Base.comp_post", + "equation_Pulse.Syntax.Base.comp_pre", + "equation_Pulse.Syntax.Base.comp_res", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.comp_u", + "equation_Pulse.Syntax.Base.st_comp_of_comp", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Typing.comp_post_matches_hint", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", "primitive_Prims.op_BarBar", - "proj_equation_Pulse.Prover.Common.Mkpreamble_c", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_res", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__1", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_res", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_u", + "refinement_interpretation_Tm_refine_2e82c3c6739f8d96977de8e1ca87d07c", + "refinement_interpretation_Tm_refine_36441f5163bf4613efd69bece0701f67", + "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "typing_Pulse.Prover.Common.comp_st_with_post", + "typing_Pulse.Syntax.Base.comp_post" + ], + 0, + "e0ddbee9ca14c83115630427087970c7" + ], + [ + "Pulse.Prover.Common.k_elab_equiv_continutation", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "data_elim_FStar.Pervasives.Mkdtuple3", "data_elim_Prims.Mkdtuple2", + "data_elim_Pulse.Syntax.Base.Mkst_comp", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Checker.Common.checker_result_t", + "equation_Pulse.Checker.Framing.frame_of", + "equation_Pulse.Prover.Common.comp_st_with_post", + "equation_Pulse.Syntax.Base.comp_post", + "equation_Pulse.Syntax.Base.comp_pre", + "equation_Pulse.Syntax.Base.comp_res", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.comp_u", + "equation_Pulse.Syntax.Base.st_comp_of_comp", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.comp_post_matches_hint", + "equation_Pulse.Typing.fresh_wrt", + "equation_Pulse.Typing.universe_of", + "fuel_guarded_inversion_FStar.Pervasives.dtuple3", + "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "fuel_guarded_inversion_Prims.dtuple2", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", + "interpretation_Tm_abs_9627aa63c90056f8b614da4dfb4d20bf", + "interpretation_Tm_abs_ba86379e308bc452ec2aaf0d9384ea16", + "interpretation_Tm_abs_c8631188b49e797b2c9232f71b480642", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Negation", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_res", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Mkdtuple3__1", + "projection_inverse_FStar.Pervasives.Mkdtuple3__2", + "projection_inverse_Prims.Mkdtuple2__1", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__1", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_res", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_u", + "refinement_interpretation_Tm_refine_1c5e7105979a7231f04ad65b46c30b69", + "refinement_interpretation_Tm_refine_2e7859babf6dc4b57292f015e044869d", + "refinement_interpretation_Tm_refine_36441f5163bf4613efd69bece0701f67", + "refinement_interpretation_Tm_refine_481b8b00009a168b10cebf32cb0deff1", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.comp_st_with_post", + "typing_Pulse.Syntax.Base.uu___is_C_STGhost", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Metatheory.st_comp_typing_inversion" + ], + 0, + "8bb73e5984a51480fa0ec4bb15d6d79a" + ], + [ + "Pulse.Prover.Common.k_elab_equiv_prefix", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_Pulse.Syntax.Base.Mkst_comp", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Checker.Framing.frame_of", + "equation_Pulse.Syntax.Base.comp_pre", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.st_comp_of_comp", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.fresh_wrt", + "equation_Pulse.Typing.universe_of", + "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", + "interpretation_Tm_abs_9627aa63c90056f8b614da4dfb4d20bf", + "interpretation_Tm_abs_c8631188b49e797b2c9232f71b480642", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Negation", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Mkdtuple3__1", + "refinement_interpretation_Tm_refine_1c5e7105979a7231f04ad65b46c30b69", + "refinement_interpretation_Tm_refine_2e7859babf6dc4b57292f015e044869d", + "refinement_interpretation_Tm_refine_47906a90a5ba769ece9e701738040083", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Syntax.Base.uu___is_C_STGhost", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Metatheory.st_comp_typing_inversion" + ], + 0, + "a5718ac6d2c6fbe584af9c0dd0995238" + ], + [ + "Pulse.Prover.Common.list_as_vprop'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_dde2ec1e863a0bcde2ea8594cff3d454_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Pulse.Syntax.Base.vprop", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "0793363725a7ab18fe111404b1bc4146" + ], + [ + "Pulse.Prover.Common.canon_right_aux", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Prover.Common.list_as_vprop_.fuel_instrumented", + "@query", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Pulse.Syntax.Base.vprop", + "equation_with_fuel_Pulse.Prover.Common.list_as_vprop_.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Nil_a", + "typing_Pulse.Checker.VPropEquiv.list_as_vprop" + ], + 0, + "fd721b50340446c23247e828d1e97108" + ], + [ + "Pulse.Prover.Common.continuation_elaborator_with_bind", + 1, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_f2631f1e9df7e7fe731df0b4c6310657", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "536f5896c5fa0ce9374cf29c16a7b795" + ], + [ + "Pulse.Prover.Common.continuation_elaborator_with_bind", + 2, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "@fuel_correspondence_Pulse.Syntax.Naming.subst_term.fuel_instrumented", + "@fuel_irrelevance_Pulse.Syntax.Naming.subst_term.fuel_instrumented", + "@query", + "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.Tm_Emp", + "constructor_distinct_Pulse.Syntax.Base.Tm_Inames", + "constructor_distinct_Pulse.Syntax.Base.Tm_Star", + "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_Prims.Mkdtuple2", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "data_typing_intro_Pulse.Syntax.Naming.DT@tok", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equality_tok_Pulse.Syntax.Base.Tm_Inames@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Checker.Framing.frame_of", + "equation_Pulse.Syntax.Base.comp_post", + "equation_Pulse.Syntax.Base.comp_pre", + "equation_Pulse.Syntax.Base.comp_res", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.comp_u", + "equation_Pulse.Syntax.Base.index", + "equation_Pulse.Syntax.Base.ppname_default", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.st_comp_of_comp", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.tm_star", + "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.v_as_nv", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Base.with_range", + "equation_Pulse.Syntax.Naming.open_st_term", + "equation_Pulse.Syntax.Naming.open_term", + "equation_Pulse.Syntax.Naming.open_term_", + "equation_Pulse.Syntax.Naming.open_term_nv", + "equation_Pulse.Syntax.Naming.subst", + "equation_Pulse.Syntax.Pure.term_of_nvar", + "equation_Pulse.Syntax.Pure.tm_type", + "equation_Pulse.Typing.Combinators.st_comp_with_pre", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.comp_post_matches_hint", + "equation_Pulse.Typing.fresh_wrt", + "equation_Pulse.Typing.tot_typing", "equation_Pulse.Typing.typing", + "equation_Pulse.Typing.universe_of", + "equation_with_fuel_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "equation_with_fuel_Pulse.Syntax.Naming.subst_term.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.dtuple2", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", + "fuel_guarded_inversion_Pulse.Typing.my_erased", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", + "interpretation_Tm_abs_9627aa63c90056f8b614da4dfb4d20bf", + "interpretation_Tm_abs_c8631188b49e797b2c9232f71b480642", + "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.mem_union", + "lemma_Pulse.Syntax.Base.range_singleton", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_res", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Mkdtuple3__1", + "projection_inverse_FStar.Pervasives.Mkdtuple4__3", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Mkdtuple2__1", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_res", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_u", + "projection_inverse_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_Pulse.Syntax.Base.Tm_Star_l", + "projection_inverse_Pulse.Syntax.Base.Tm_Star_r", + "refinement_interpretation_Tm_refine_2e7859babf6dc4b57292f015e044869d", + "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f7ba47cba322b1ef114079f02b4ebe3", "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", - "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__c" + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_9491aaa29a977da7de92f5e9b2712f87", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", + "refinement_interpretation_Tm_refine_c985d9b653dbe863d90ae1101a9c9392", + "refinement_interpretation_Tm_refine_eb6f0a03b652ab48a1a8ccec26cd0c88", + "refinement_interpretation_Tm_refine_f2631f1e9df7e7fe731df0b4c6310657", + "token_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.mem", "typing_Pulse.Checker.Framing.apply_frame", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__post", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", + "typing_Pulse.Syntax.Base.comp_post", + "typing_Pulse.Syntax.Base.comp_pre", + "typing_Pulse.Syntax.Base.stateful_comp", + "typing_Pulse.Syntax.Base.tm_star", + "typing_Pulse.Syntax.Base.v_as_nv", + "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Syntax.Naming.open_term", + "typing_Pulse.Syntax.Naming.open_term_nv", + "typing_Pulse.Syntax.Pure.term_of_nvar", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Metatheory.comp_typing_inversion", + "typing_Pulse.Typing.Metatheory.st_comp_typing_inversion", + "typing_Pulse.Typing.Metatheory.st_typing_correctness" + ], + 0, + "8de98a115fdd393f3c6d6e9ae8703524" + ], + [ + "Pulse.Prover.Common.elim_one", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Pulse.Syntax.Base_pretyping_fe09dc1e796799f4bac0760e63f30d40", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "data_elim_Pulse.Syntax.Base.Mkppname", + "disc_equation_FStar.Pervasives.Native.None", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Range.range", + "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.nvar", + "equation_Pulse.Syntax.Base.ppname_default", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.tm_star", + "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.v_as_nv", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Env.lookup", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.ppname", + "function_token_typing_Prims.int", + "function_token_typing_Prims.string", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_Pulse.Syntax.Base.ppname@tok", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Syntax.Base.range_singleton", + "lemma_Pulse.Typing.Env.push_binding_as_map", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", + "proj_equation_Pulse.Syntax.Base.Mkppname_name", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", + "projection_inverse_Pulse.Syntax.Base.Mkppname_name", + "projection_inverse_Pulse.Syntax.Base.Mkterm_range", + "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", + "refinement_interpretation_Tm_refine_26aa72c2bdd0719b051857cb081974bb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_484fe0819d1383a2c20d94ae027baa5f", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_d3de001c6427be2e27fcc34006b60e28", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "typing_FStar.Map.contains", + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", + "typing_Pulse.Syntax.Base.comp_res", + "typing_Pulse.Syntax.Base.ppname_default", + "typing_Pulse.Syntax.Base.stateful_comp", + "typing_Pulse.Syntax.Base.tm_star", + "typing_Pulse.Syntax.Base.v_as_nv", "typing_Pulse.Typing.Env.as_map", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "f6fa90e6fceae95bf29fbcaea8ae0cfe" + ], + [ + "Pulse.Prover.Common.elim_all", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Pervasives_interpretation_Tm_arrow_0b6559e6ff3addf84b0c2880affbb335", + "FStar.Pervasives_interpretation_Tm_arrow_af8eda99ba3685403be22a88669dcb35", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Pulse.Prover.Common_interpretation_Tm_arrow_26f4c22230d9f6eb4398f15eb6b19107", + "Pulse.Prover.Common_interpretation_Tm_arrow_9124c696f71ff74911a7e2710379a493", + "Pulse.Prover.Common_interpretation_Tm_arrow_b56b2318ef4cfbf8b19082b98e3b0c47", + "Pulse.Syntax.Base_pretyping_fe09dc1e796799f4bac0760e63f30d40", + "bool_typing", "data_elim_FStar.Tactics.Result.Success", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.tm_star", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "interpretation_Tm_abs_2569042949e68e65b05f1fcb51c2593b", + "interpretation_Tm_abs_35addbe3a9c6ea5c3291e366c0bf151b", + "kinding_FStar.Pervasives.dtuple4@tok", + "kinding_Pulse.Syntax.Base.ppname@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_Pulse.Syntax.Base.range_singleton", + "lemma_Pulse.Typing.Env.env_extends_refl", + "lemma_Pulse.Typing.Env.env_extends_trans", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "refinement_interpretation_Tm_refine_1474292636f37e2d80cf2022596f45af", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "typing_Pulse.RuntimeUtils.union_ranges", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", + "typing_Pulse.Syntax.Base.ppname_default", + "typing_Tm_abs_2569042949e68e65b05f1fcb51c2593b", + "typing_Tm_abs_35addbe3a9c6ea5c3291e366c0bf151b", + "typing_Tm_abs_385ccdcb80169781e0c76efb7f3eeb56" + ], + 0, + "f28720e7895112bb3a896af3a0a17c48" + ], + [ + "Pulse.Prover.Common.add_elims_aux", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "lemma_Pulse.Typing.Env.env_extends_refl" + ], + 0, + "c5ec11d25ade7a88995e833726958be3" + ], + [ + "Pulse.Prover.Common.add_elims", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "lemma_Pulse.Typing.Env.env_extends_trans", + "refinement_interpretation_Tm_refine_1474292636f37e2d80cf2022596f45af" + ], + 0, + "b021e778e6451a29060afd8bcbc086e2" + ], + [ + "Pulse.Prover.Common.prover_state", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "c6f5db432cb4b243faaee110f0b12104" + ], + [ + "Pulse.Prover.Common.__proj__Mkprover_state__item__goals_inv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__pg", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "1daae2acb35c5d7674eba86ebc189725" + ], + [ + "Pulse.Prover.Common.__proj__Mkprover_state__item__goals_inv", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "data_elim_Pulse.Prover.Common.Mkprover_state", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "fuel_guarded_inversion_Pulse.Prover.Common.prover_state", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Map.concat", "typing_FStar.Map.domain", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__g0", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__pg", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "2acb57e958d76ad1b24a8cac552d3608" + ], + [ + "Pulse.Prover.Common.__proj__Mkprover_state__item__solved_inv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "d8c297f3cfd44b233d5342e547e9b02c" + ], + [ + "Pulse.Prover.Common.__proj__Mkprover_state__item__solved_inv", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "61373f734f329a16d4bb544722a083d9" + ], + [ + "Pulse.Prover.Common.extend_post_hint_opt_g", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_Pulse.Typing.post_hint_opt", + "kinding_Pulse.Typing.post_hint_t@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_Pulse.Typing.Env.env_extends_trans", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_7ad5682d990eaec6510764d663af54de", + "refinement_interpretation_Tm_refine_ba488b4f12660f6fd23fa65ec4b4a4ff", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__g" + ], + 0, + "567184864ff95d0443022c5c9eed5061" + ], + [ + "Pulse.Prover.Common.st_typing_subst", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "9617b9af215909e8fccb193d8c4be40d" + ], + [ + "Pulse.Prover.Common.st_typing_subst", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Tactics.Result.Success", + "equation_FStar.List.Tot.Base.op_At", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Prover.Substs.nt_subst_env", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.binding", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_bindings", + "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", + "function_token_typing_Pulse.Typing.Env.binding", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Prover.Substs.ss_nt_subst", + "lemma_Pulse.Typing.Env.equal_elim", + "lemma_Pulse.Typing.Env.mk_env_bs", + "lemma_Pulse.Typing.Env.mk_env_dom", + "lemma_Pulse.Typing.Env.push_env_bindings", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_172ecd41f58afcb96d3826e084dce400", + "refinement_interpretation_Tm_refine_30687c6bbf76a4ea67eae131536eafd7", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_5d038f4dc57ccd0fa38b48276342c675", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_kinding_Tm_refine_172ecd41f58afcb96d3826e084dce400", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Substs.nt_subst_env", + "typing_Pulse.Typing.Env.bindings", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.fstar_env", "typing_Pulse.Typing.Env.mk_env" + ], + 0, + "5ef229b8eff2d08260ce4609d377fbba" + ], + [ + "Pulse.Prover.Common.st_typing_weakening", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dd3396f06b5a01f3df9ed905e57d2aab", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "e8b491364c8a354d49ef4bc465ce0372" + ], + [ + "Pulse.Prover.Common.st_typing_weakening_end", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_dd3396f06b5a01f3df9ed905e57d2aab", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "a198c531ea4e906c996ef8f8d36db44f" + ], + [ + "Pulse.Prover.Common.veq_weakening", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dd3396f06b5a01f3df9ed905e57d2aab", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "3032b7464233048f88b6960b920d2459" + ], + [ + "Pulse.Prover.Common.ss_extends", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.contains", + "equation_Pulse.Prover.Substs.dom", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.subset_mem", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Prover.Substs.as_map", "typing_Pulse.Prover.Substs.dom" ], 0, - "a9ebd62092047ec3e2143da7d4322d03" + "f49b1a51faf390e752d3ad77efd7d53d" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.Common.fsti.hints b/lib/steel/pulse/Pulse.Prover.Common.fsti.hints index 5a1d741ae..5effbc071 100644 --- a/lib/steel/pulse/Pulse.Prover.Common.fsti.hints +++ b/lib/steel/pulse/Pulse.Prover.Common.fsti.hints @@ -1,32 +1,370 @@ [ - "\u0000\u001e6y>R\u0000G", + "ReHY#", [ + [ + "Pulse.Prover.Common.continuation_elaborator_with_bind", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_f2631f1e9df7e7fe731df0b4c6310657", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "a3e2c62b500adb5f15fdd6b983218f85" + ], [ "Pulse.Prover.Common.prover_state", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Pulse.Syntax.Base.C_ST", - "disc_equation_Pulse.Syntax.Base.C_STAtomic", - "disc_equation_Pulse.Syntax.Base.C_STGhost", - "disc_equation_Pulse.Syntax.Base.C_Tot", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_st", - "equation_Pulse.Syntax.Base.stateful_comp", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "5dd748135757879fc7f3cebbb389ef47" + ], + [ + "Pulse.Prover.Common.__proj__Mkprover_state__item__goals_inv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__pg", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "0230561e1793baa0652c201a30e62348" + ], + [ + "Pulse.Prover.Common.__proj__Mkprover_state__item__goals_inv", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "data_elim_Pulse.Prover.Common.Mkprover_state", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "fuel_guarded_inversion_Pulse.Prover.Common.prover_state", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Map.concat", "typing_FStar.Map.domain", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__g0", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__pg", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "2acb57e958d76ad1b24a8cac552d3608" + ], + [ + "Pulse.Prover.Common.__proj__Mkprover_state__item__solved_inv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "d8c297f3cfd44b233d5342e547e9b02c" + ], + [ + "Pulse.Prover.Common.__proj__Mkprover_state__item__solved_inv", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_BarBar", - "proj_equation_Pulse.Prover.Common.Mkpreamble_c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "61373f734f329a16d4bb544722a083d9" + ], + [ + "Pulse.Prover.Common.extend_post_hint_opt_g", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.post_hint_for_env_p", + "equation_Pulse.Typing.post_hint_opt", + "kinding_Pulse.Typing.post_hint_t@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_Pulse.Typing.Env.env_extends_trans", + "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_7ad5682d990eaec6510764d663af54de", + "refinement_interpretation_Tm_refine_ba488b4f12660f6fd23fa65ec4b4a4ff", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__g" + ], + 0, + "567184864ff95d0443022c5c9eed5061" + ], + [ + "Pulse.Prover.Common.st_typing_subst", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "9617b9af215909e8fccb193d8c4be40d" + ], + [ + "Pulse.Prover.Common.st_typing_subst", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Tactics.Result.Success", + "equation_FStar.List.Tot.Base.op_At", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Prover.Substs.nt_subst_env", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.binding", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_bindings", + "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", + "function_token_typing_Pulse.Typing.Env.binding", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Prover.Substs.ss_nt_subst", + "lemma_Pulse.Typing.Env.equal_elim", + "lemma_Pulse.Typing.Env.mk_env_bs", + "lemma_Pulse.Typing.Env.mk_env_dom", + "lemma_Pulse.Typing.Env.push_env_bindings", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_172ecd41f58afcb96d3826e084dce400", + "refinement_interpretation_Tm_refine_30687c6bbf76a4ea67eae131536eafd7", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_5d038f4dc57ccd0fa38b48276342c675", "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", - "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__c" + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_kinding_Tm_refine_172ecd41f58afcb96d3826e084dce400", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Substs.nt_subst_env", + "typing_Pulse.Typing.Env.bindings", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.fstar_env", "typing_Pulse.Typing.Env.mk_env" + ], + 0, + "5ef229b8eff2d08260ce4609d377fbba" + ], + [ + "Pulse.Prover.Common.st_typing_weakening", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dd3396f06b5a01f3df9ed905e57d2aab", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "e8b491364c8a354d49ef4bc465ce0372" + ], + [ + "Pulse.Prover.Common.st_typing_weakening_end", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_dd3396f06b5a01f3df9ed905e57d2aab", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "a198c531ea4e906c996ef8f8d36db44f" + ], + [ + "Pulse.Prover.Common.veq_weakening", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dd3396f06b5a01f3df9ed905e57d2aab", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "3032b7464233048f88b6960b920d2459" + ], + [ + "Pulse.Prover.Common.ss_extends", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.contains", + "equation_Pulse.Prover.Substs.dom", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.subset_mem", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Prover.Substs.as_map", "typing_Pulse.Prover.Substs.dom" ], 0, - "a9ebd62092047ec3e2143da7d4322d03" + "f49b1a51faf390e752d3ad77efd7d53d" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.ElimExists.fst.hints b/lib/steel/pulse/Pulse.Prover.ElimExists.fst.hints index 23c339569..d88975d32 100644 --- a/lib/steel/pulse/Pulse.Prover.ElimExists.fst.hints +++ b/lib/steel/pulse/Pulse.Prover.ElimExists.fst.hints @@ -1 +1,174 @@ -[ " \nGcͲ.R\u0013", [] ] \ No newline at end of file +[ + "C\u007f\u0012W\nh㉳\b", + [ + [ + "Pulse.Prover.ElimExists.mk", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Pulse.Syntax.Base_pretyping_fe09dc1e796799f4bac0760e63f30d40", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "data_elim_Pulse.Syntax.Base.Mkppname", + "data_elim_Pulse.Syntax.Base.Mkterm", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Range.range", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.sealed", + "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.as_binder", + "equation_Pulse.Syntax.Base.comp_pre", + "equation_Pulse.Syntax.Base.comp_u", + "equation_Pulse.Syntax.Base.ppname_default", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.tm_exists_sl", + "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.v_as_nv", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.comp_elim_exists", + "fuel_guarded_inversion_Pulse.Syntax.Base.ppname", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "function_token_typing_Prims.string", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "lemma_Pulse.Syntax.Base.range_singleton", + "primitive_Prims.op_BarBar", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ty", + "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", + "proj_equation_Pulse.Syntax.Base.Mkppname_name", + "proj_equation_Pulse.Syntax.Base.Mkppname_range", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ty", + "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_u", + "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", + "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "string_typing", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Sealed.seal", "typing_Pulse.RuntimeUtils.union_ranges", + "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", + "typing_Pulse.Syntax.Base.__proj__Mkppname__item__range", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", + "typing_Pulse.Syntax.Base.ppname_default", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.fstar_env" + ], + 0, + "aeda4fea86193935cf6966306279a461" + ], + [ + "Pulse.Prover.ElimExists.elim_exists", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_Pulse.Typing.Env.mk_env_dom", + "primitive_Prims.op_AmpAmp", + "refinement_interpretation_Tm_refine_30687c6bbf76a4ea67eae131536eafd7", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.Env.mk_env" + ], + 0, + "9ee9064b5c36848073fd2597218759da" + ], + [ + "Pulse.Prover.ElimExists.elim_exists_pst", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "data_elim_Pulse.Prover.Common.Mkprover_state", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_FStar.Set.subset", + "equation_Prims.nat", "equation_Prims.squash", + "equation_Pulse.Prover.Common.pst_extends", + "equation_Pulse.Prover.Common.ss_extends", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Prover.Common.prover_state", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.disjoint_not_in_both", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_subset", + "lemma_Pulse.Typing.Env.env_extends_refl", + "lemma_Pulse.Typing.Env.env_extends_trans", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_solved", + "proj_equation_Pulse.Prover.Common.Mkprover_state_ss", + "proj_equation_Pulse.Prover.Common.Mkprover_state_unsolved", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_pg", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_ss", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_unsolved", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_uvs", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_34ce9adf426312b96cc2291b06f4b387", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Map.concat", "typing_FStar.Map.domain", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__g0", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__solved", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__ss", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Prover.Common.op_Array_Access", + "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.push_env" + ], + 0, + "090b0e4f97444a4aeaa12a19d520a07d" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.ElimExists.fsti.hints b/lib/steel/pulse/Pulse.Prover.ElimExists.fsti.hints index ad743ab99..28f2a2f6e 100644 --- a/lib/steel/pulse/Pulse.Prover.ElimExists.fsti.hints +++ b/lib/steel/pulse/Pulse.Prover.ElimExists.fsti.hints @@ -1 +1 @@ -[ "g\b\u0015[AwbS]", [] ] \ No newline at end of file +[ "P\u0018.~r\u001a", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.ElimPure.fst.hints b/lib/steel/pulse/Pulse.Prover.ElimPure.fst.hints index 11e0d0272..48033f6c1 100644 --- a/lib/steel/pulse/Pulse.Prover.ElimPure.fst.hints +++ b/lib/steel/pulse/Pulse.Prover.ElimPure.fst.hints @@ -1 +1,243 @@ -[ "ˑ4:S\u0014B\u000b", [] ] \ No newline at end of file +[ + ">!ƒL>\r\u001f_5", + [ + [ + "Pulse.Prover.ElimPure.tm_fstar", + 1, + 2, + 1, + [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], + 0, + "28cd94265175228732b056992cda4b92" + ], + [ + "Pulse.Prover.ElimPure.elim_pure_head_typing", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.Types.typ", "equation_Prims.nat", + "equation_Pulse.Prover.ElimPure.elim_pure_head_ty", + "equation_Pulse.Reflection.Util.mk_arrow", + "equation_Pulse.Reflection.Util.mk_stt_ghost_comp", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.universe", "int_typing", + "lemma_FStar.Reflection.Typing.inspect_pack", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Reflection.Const.prop_qn", + "typing_FStar.Reflection.Typing.bound_var", + "typing_FStar.Reflection.V2.Builtins.pack_comp", + "typing_FStar.Reflection.V2.Builtins.pack_fv", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_Pulse.Reflection.Util.binder_of_t_q", + "typing_Pulse.Reflection.Util.emp_inames_tm", + "typing_Pulse.Reflection.Util.emp_lid", + "typing_Pulse.Reflection.Util.mk_abs", + "typing_Pulse.Reflection.Util.mk_pure", + "typing_Pulse.Reflection.Util.mk_squash", + "typing_Pulse.Reflection.Util.mk_stt_ghost_comp", + "typing_Pulse.Reflection.Util.mk_total", + "typing_Pulse.Syntax.Pure.u0", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" + ], + 0, + "6234a811a7abc38dbd3a229558bc9014" + ], + [ + "Pulse.Prover.ElimPure.elim_pure_comp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_UInst@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.universes", + "equation_Pulse.Reflection.Util.mk_squash", + "equation_Pulse.Syntax.Base.host_term", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.universe", + "equation_Pulse.Syntax.Pure.u0", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Types.universe", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "lemma_FStar.Reflection.Typing.inspect_pack", + "refinement_interpretation_Tm_refine_23dfcaa69174c552645c49ff9c2a2ea7", + "typing_FStar.Reflection.Const.squash_qn", + "typing_FStar.Reflection.V2.Builtins.pack_fv", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_Pulse.Syntax.Pure.u0", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" + ], + 0, + "4e16d430c3ea1ee1386a9a8b6c3e14c1" + ], + [ + "Pulse.Prover.ElimPure.mk", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", + "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", + "data_elim_Pulse.Syntax.Base.Mkterm", + "data_elim_Pulse.Syntax.Base.Tm_Pure", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equation_FStar.Range.range", "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.Typing.tm_prop", + "equation_Pulse.Prover.ElimPure.elim_pure_comp", + "equation_Pulse.Prover.ElimPure.tm_fstar", + "equation_Pulse.Syntax.Base.comp_pre", + "equation_Pulse.Syntax.Base.host_term", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.tm_fstar", + "equation_Pulse.Syntax.Base.tm_pure", + "equation_Pulse.Syntax.Base.vprop", + "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "lemma_FStar.Reflection.Typing.inspect_pack", + "lemma_Pulse.Syntax.Base.range_singleton", + "primitive_Prims.op_BarBar", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", + "projection_inverse_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", + "projection_inverse_Pulse.Syntax.Base.Tm_Pure_p", + "refinement_interpretation_Tm_refine_23dfcaa69174c552645c49ff9c2a2ea7", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", + "typing_FStar.Range.range_0", + "typing_FStar.Reflection.Const.prop_qn", + "typing_FStar.Reflection.V2.Builtins.pack_fv", + "typing_Pulse.RuntimeUtils.set_range", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" + ], + 0, + "72574a52d40f02a2e52ce63d6ebe7d2a" + ], + [ + "Pulse.Prover.ElimPure.elim_pure", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_Pulse.Typing.Env.mk_env_dom", + "primitive_Prims.op_AmpAmp", + "refinement_interpretation_Tm_refine_30687c6bbf76a4ea67eae131536eafd7", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.Env.mk_env" + ], + 0, + "d9f043ca2829bb7a8fdd8c8e4f793838" + ], + [ + "Pulse.Prover.ElimPure.elim_pure_pst", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "data_elim_Pulse.Prover.Common.Mkprover_state", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_FStar.Set.subset", + "equation_Prims.nat", "equation_Prims.squash", + "equation_Pulse.Prover.Common.pst_extends", + "equation_Pulse.Prover.Common.ss_extends", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Prover.Common.prover_state", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_subset", + "lemma_Pulse.Typing.Env.env_extends_refl", + "lemma_Pulse.Typing.Env.env_extends_trans", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_solved", + "proj_equation_Pulse.Prover.Common.Mkprover_state_ss", + "proj_equation_Pulse.Prover.Common.Mkprover_state_unsolved", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_pg", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_ss", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_unsolved", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_uvs", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_34ce9adf426312b96cc2291b06f4b387", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Map.concat", "typing_FStar.Map.domain", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__g0", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__solved", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__ss", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Prover.Common.op_Array_Access", + "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.push_env" + ], + 0, + "ac29a92f92599b182d8a0152864389e4" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.ElimPure.fsti.hints b/lib/steel/pulse/Pulse.Prover.ElimPure.fsti.hints index b1f79c5e2..596096635 100644 --- a/lib/steel/pulse/Pulse.Prover.ElimPure.fsti.hints +++ b/lib/steel/pulse/Pulse.Prover.ElimPure.fsti.hints @@ -1 +1 @@ -[ "ΥI+g\u0010L,-j", [] ] \ No newline at end of file +[ "2}\u0018S0^4\u0012\u0012", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.IntroExists.fst.hints b/lib/steel/pulse/Pulse.Prover.IntroExists.fst.hints index 3f4d38d25..b91724ea0 100644 --- a/lib/steel/pulse/Pulse.Prover.IntroExists.fst.hints +++ b/lib/steel/pulse/Pulse.Prover.IntroExists.fst.hints @@ -1 +1,271 @@ -[ "o\bSkI%(ʨ", [] ] \ No newline at end of file +[ + "s=\u000e\u0019\u000f2Uҁ~\u0012(", + [ + [ + "Pulse.Prover.IntroExists.coerce_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" + ], + 0, + "3919b65eeca2f16caf29266027f5cf67" + ], + [ + "Pulse.Prover.IntroExists.k_intro_exists", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Pulse.Syntax.Base_pretyping_fe09dc1e796799f4bac0760e63f30d40", + "Pulse.Typing_interpretation_Tm_arrow_7025f41b53a92b33286c43a926ef926b", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "data_elim_Pulse.Syntax.Base.Mkbinder", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.List.Tot.Base.op_At", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Typing.fstar_env", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_Pulse.Prover.Common.continuation_elaborator", + "equation_Pulse.Syntax.Base.comp_post", + "equation_Pulse.Syntax.Base.comp_pre", + "equation_Pulse.Syntax.Base.nvar", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.tm_exists_sl", + "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.v_as_nv", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Naming.open_term_", + "equation_Pulse.Typing.Env.binding", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_bindings", + "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.comp_intro_exists", + "equation_Pulse.Typing.elab_env", + "equation_Pulse.Typing.extend_env_l", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Syntax.Base.binder", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "fuel_guarded_inversion_Pulse.Typing.st_typing", + "function_token_typing_FStar.Reflection.Types.env", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "function_token_typing_Pulse.Typing.Env.binding", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.ppname@tok", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.List.Tot.Properties.append_l_nil", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.env_extends_push", + "lemma_Pulse.Typing.Env.equal_elim", + "lemma_Pulse.Typing.Env.mk_env_bs", + "lemma_Pulse.Typing.Env.mk_env_dom", + "lemma_Pulse.Typing.Env.push_binding_bs", + "lemma_Pulse.Typing.Env.push_env_bindings", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Tactics.Result.Failed_a", + "projection_inverse_FStar.Tactics.Result.Failed_exn", + "projection_inverse_FStar.Tactics.Result.Failed_ps", + "projection_inverse_Prims.Nil_a", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", + "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_484fe0819d1383a2c20d94ae027baa5f", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_b9943bf670d3eeece9d9f2e3e534ed66", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Syntax.Base.comp_res", + "typing_Pulse.Syntax.Base.stateful_comp", + "typing_Pulse.Syntax.Base.v_as_nv", "typing_Pulse.Typing.Env.as_map", + "typing_Pulse.Typing.Env.bindings", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.Env.push_binding", + "typing_Pulse.Typing.elab_env", + "typing_Tm_abs_9de830881eb0b7299cb605b2cfe97562" + ], + 0, + "6be8fc274633ba29a16e91c04ed5c71e" + ], + [ + "Pulse.Prover.IntroExists.intro_exists", + 1, + 1, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@query", + "Pulse.Syntax.Base_pretyping_fe09dc1e796799f4bac0760e63f30d40", + "bool_inversion", "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "constructor_distinct_Pulse.Syntax.Base.Tm_Emp", + "data_elim_FStar.Tactics.Result.Success", + "data_elim_Pulse.Prover.Common.Mkprover_state", + "data_elim_Pulse.Syntax.Base.Mkbinder", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "data_typing_intro_Pulse.Prover.Common.Mkpreamble@tok", + "equality_tok_Pulse.Syntax.Base.Tm_Emp@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_Pulse.Prover.Common.continuation_elaborator", + "equation_Pulse.Prover.Common.is_terminal", + "equation_Pulse.Prover.Common.op_Array_Access", + "equation_Pulse.Prover.Common.op_Star", + "equation_Pulse.Prover.Common.pst_extends", + "equation_Pulse.Syntax.Base.nvar", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.tm_emp", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Base.with_range", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_with_fuel_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Prover.Common.prover_state", + "fuel_guarded_inversion_Pulse.Syntax.Base.binder", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_Pulse.Syntax.Base.ppname@tok", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_subset", + "lemma_Pulse.Prover.Substs.ss_nt_subst", + "lemma_Pulse.Syntax.Base.range_singleton", + "lemma_Pulse.Typing.Env.env_extends_refl", + "lemma_Pulse.Typing.Env.env_extends_trans", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_Pulse.Prover.Common.Mkpreamble_ctxt", + "proj_equation_Pulse.Prover.Common.Mkpreamble_frame", + "proj_equation_Pulse.Prover.Common.Mkpreamble_g0", + "proj_equation_Pulse.Prover.Common.Mkpreamble_goals", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_remaining_ctxt", + "proj_equation_Pulse.Prover.Common.Mkprover_state_solved", + "proj_equation_Pulse.Prover.Common.Mkprover_state_ss", + "proj_equation_Pulse.Prover.Common.Mkprover_state_unsolved", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Tactics.Result.Failed_a", + "projection_inverse_FStar.Tactics.Result.Failed_exn", + "projection_inverse_FStar.Tactics.Result.Failed_ps", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "projection_inverse_Pulse.Prover.Common.Mkpreamble_ctxt", + "projection_inverse_Pulse.Prover.Common.Mkpreamble_frame", + "projection_inverse_Pulse.Prover.Common.Mkpreamble_g0", + "projection_inverse_Pulse.Prover.Common.Mkpreamble_goals", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_pg", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_remaining_ctxt", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_ss", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_unsolved", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_Pulse.Syntax.Base.Mkterm_t", + "refinement_interpretation_Tm_refine_2477938212fcc53563c49a7492a8c23e", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4586a853eaf0aaf3e250d623128f7077", + "refinement_interpretation_Tm_refine_80b0f7a527ed1cd44bdbe413386af96c", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_b8eafb40bfd3eff96b5c592aaf9bae95", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_interpretation_Tm_refine_ebac236eae7020bbb9b446bec2ca2712", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "refinement_kinding_Tm_refine_2477938212fcc53563c49a7492a8c23e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Map.concat", "typing_FStar.Map.domain", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Prims.magic", + "typing_Pulse.Checker.VPropEquiv.list_as_vprop", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__frame", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__g0", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__goals", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__pg", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__remaining_ctxt", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__solved", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__ss", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__unsolved", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Prover.Common.op_Array_Access", + "typing_Pulse.Prover.Common.op_Star", + "typing_Pulse.Prover.Common.vprop_typing", + "typing_Pulse.Syntax.Base.__proj__Mkbinder__item__binder_ppname", + "typing_Pulse.Syntax.Base.__proj__Mkbinder__item__binder_ty", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", + "typing_Pulse.Syntax.Base.tm_emp", + "typing_Pulse.Syntax.Base.tm_star", + "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Syntax.Naming.open_term_nv", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "unit_typing" + ], + 0, + "00c4f833c350f67129a62216df9c5ac4" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.IntroExists.fsti.hints b/lib/steel/pulse/Pulse.Prover.IntroExists.fsti.hints index 40ae3489e..37b82d992 100644 --- a/lib/steel/pulse/Pulse.Prover.IntroExists.fsti.hints +++ b/lib/steel/pulse/Pulse.Prover.IntroExists.fsti.hints @@ -1 +1 @@ -[ "\u0003fp\u0016e\u0017@\u000b;\u0007", [] ] \ No newline at end of file +[ "4g\u0006n\"F,I", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.Match.fst.hints b/lib/steel/pulse/Pulse.Prover.Match.fst.hints new file mode 100644 index 000000000..7a3cbb089 --- /dev/null +++ b/lib/steel/pulse/Pulse.Prover.Match.fst.hints @@ -0,0 +1,379 @@ +[ + "?\u0000@J\u0005^", + [ + [ + "Pulse.Prover.Match.type_of_fv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.V2.Data.Sg_Inductive", + "disc_equation_FStar.Reflection.V2.Data.Sg_Let", + "disc_equation_FStar.Reflection.V2.Data.Sg_Val", + "disc_equation_FStar.Reflection.V2.Data.Unk", + "equation_FStar.Reflection.Typing.fstar_env", + "equation_FStar.Reflection.Typing.fstar_top_env", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.sigelt_view", + "function_token_typing_FStar.Reflection.Types.sigelt", + "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_b9943bf670d3eeece9d9f2e3e534ed66", + "typing_FStar.Reflection.V2.Builtins.inspect_fv", + "typing_FStar.Reflection.V2.Builtins.inspect_sigelt", + "typing_FStar.Reflection.V2.Builtins.lookup_typ", + "typing_Pulse.Typing.Env.fstar_env" + ], + 0, + "d15623143d0e750faba733b113bf2c3e" + ], + [ + "Pulse.Prover.Match.is_smt_fallback", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", + "function_token_typing_Prims.string", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "009cdfa6b96ebcdb65dff1d1d775c638" + ], + [ + "Pulse.Prover.Match.eligible_for_smt_equality", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_FStar.Tactics.Result.Success", "equation_Prims.eqtype", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Pervasives.invertOption", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "subterm_ordering_Prims.Cons" + ], + 0, + "d486bdde7c854369a33d7c72c86f1720" + ], + [ + "Pulse.Prover.Match.contains_uvar", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Pulse.Syntax.Base.Tm_Emp", + "disc_equation_Pulse.Syntax.Base.Tm_EmpInames", + "disc_equation_Pulse.Syntax.Base.Tm_ExistsSL", + "disc_equation_Pulse.Syntax.Base.Tm_FStar", + "disc_equation_Pulse.Syntax.Base.Tm_ForallSL", + "disc_equation_Pulse.Syntax.Base.Tm_Inames", + "disc_equation_Pulse.Syntax.Base.Tm_Pure", + "disc_equation_Pulse.Syntax.Base.Tm_Star", + "disc_equation_Pulse.Syntax.Base.Tm_Unknown", + "disc_equation_Pulse.Syntax.Base.Tm_VProp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term_", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_BoxBool_proj_0", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" + ], + 0, + "fa1cebc09be35f520e2ed7ebc24888e5" + ], + [ + "Pulse.Prover.Match.is_reveal_uvar", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", + "function_token_typing_Prims.string", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "5d0d973f896f14354e01a17b7a3e6626" + ], + [ + "Pulse.Prover.Match.is_reveal", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", + "function_token_typing_Prims.string", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "8c0694a594d5dcfb2e54bec8d907ded3" + ], + [ + "Pulse.Prover.Match.unify", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "26ab1e96967a7843a4ff5ed1f39956b0" + ], + [ + "Pulse.Prover.Match.unify", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", + "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "@query", + "FStar.Reflection.Types_pretyping_e2e1d2bff12a2362a0939a53554a60c7", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Pulse.Prover.Match_interpretation_Tm_arrow_fc171f3783281d7119bae14e449bb16c", + "Pulse.Syntax.Base_pretyping_0b425ab385a56835d52cd71c18622a32", + "assumption_FStar.Pervasives.Native.option__uu___haseq", + "assumption_Pulse.Syntax.Base.qualifier__uu___haseq", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Reflection.V2.Data.Tv_Var", + "data_elim_FStar.Tactics.Result.Success", + "data_elim_Pulse.Syntax.Base.Tm_FStar", + "disc_equation_FStar.Pervasives.Native.None", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equality_tok_Pulse.Syntax.Base.Implicit@tok", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.Typing.namedv_uniq", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_FStar.Set.subset", + "equation_FStar.Tactics.Types.issues", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Common.op_Array_Access", + "equation_Pulse.Prover.Common.ss_extends", + "equation_Pulse.Prover.Match.is_uvar", + "equation_Pulse.Prover.Match.refl_uvar", + "equation_Pulse.Prover.Substs.contains", + "equation_Pulse.Prover.Substs.dom", + "equation_Pulse.Prover.Substs.sel", + "equation_Pulse.Syntax.Base.host_term", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Pure.is_pure_app", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.elab_env", + "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", + "equation_with_fuel_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.namedv_view", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_FStar.Tactics.Types.issues", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_FStar.Pervasives.Native.option@tok", + "kinding_Prims.dtuple2@tok", + "kinding_Pulse.Syntax.Base.qualifier@tok", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.disjoint_not_in_both", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", + "lemma_Pulse.Prover.Substs.push_as_map", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "refinement_interpretation_Tm_refine_23dfcaa69174c552645c49ff9c2a2ea7", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b57ff77ab369c4726d7787717ccd613f", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", + "refinement_kinding_Tm_refine_30add953e08f1797eb81755dc09876ed", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", + "typing_FStar.Reflection.V2.Builtins.inspect_ln", + "typing_FStar.Reflection.V2.Builtins.inspect_namedv", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_FStar.Tactics.Types.equiv_token", + "typing_Pulse.Elaborate.Pure.elab_term", + "typing_Pulse.Prover.Common.op_Array_Access", + "typing_Pulse.Prover.Substs.as_map", + "typing_Pulse.Prover.Substs.dom", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t", + "typing_Pulse.Syntax.Base.eq_tm", + "typing_Pulse.Syntax.Naming.freevars", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.fstar_env", "typing_Pulse.Typing.elab_env", + "typing_Pulse.Typing.mk_hide", + "typing_Tm_abs_1d917dddcd478daf1e77de0ed8b15286", + "typing_tok_Pulse.Syntax.Base.Implicit@tok" + ], + 0, + "b9698ef51f7c39364b5da3df145ae804" + ], + [ + "Pulse.Prover.Match.try_match_pq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "502493415eec73ab98722f483bb9e3f0" + ], + [ + "Pulse.Prover.Match.try_match_pq", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Pulse.Prover.Match_interpretation_Tm_arrow_15e5de0cf5991cc30de31d27af6161b4", + "data_elim_FStar.Tactics.Result.Success", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_Prims.dtuple2@tok", "lemma_FStar.Pervasives.invertOption", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_88643782c463aed2f51544132efeacda", + "typing_Tm_abs_967bbd3f80a86c1f987a4200d7e2f5ba" + ], + 0, + "83fb3fa4160da2a6518f26f84e207d09" + ], + [ + "Pulse.Prover.Match.coerce_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" + ], + 0, + "6de6ffed3d70076cb84ed017ac9bd503" + ], + [ + "Pulse.Prover.Match.match_step", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Pulse.Prover.Match_interpretation_Tm_arrow_1e526726e5536d129dfbc63451e72ee3", + "bool_inversion", "data_elim_FStar.Tactics.Result.Success", + "data_elim_Pulse.Prover.Common.Mkprover_state", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Common.pst_extends", + "equation_Pulse.Prover.Substs.dom", "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Prover.Common.prover_state", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_Prims.dtuple2@tok", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.subset_mem", + "lemma_Pulse.Typing.Env.env_extends_refl", + "lemma_Pulse.Typing.Env.push_env_as_map", + "primitive_Prims.op_AmpAmp", + "proj_equation_Pulse.Prover.Common.Mkpreamble_g0", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_remaining_ctxt", + "proj_equation_Pulse.Prover.Common.Mkprover_state_solved", + "proj_equation_Pulse.Prover.Common.Mkprover_state_ss", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_pg", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_ss", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_uvs", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4586a853eaf0aaf3e250d623128f7077", + "refinement_interpretation_Tm_refine_4bf410f4c8f25a44501853a77c032408", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_interpretation_Tm_refine_df4afb6e8d9a6d2dbedb303f8ae9ad1a", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "refinement_kinding_Tm_refine_df4afb6e8d9a6d2dbedb303f8ae9ad1a", + "typing_FStar.Map.concat", "typing_FStar.Map.domain", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__g0", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__ss", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Prover.Common.op_Array_Access", + "typing_Pulse.Prover.Substs.dom", + "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.push_env", + "typing_Tm_abs_8f95b9ef10166ded8e3694ccbfbbee17" + ], + 0, + "1b5f4498efbdcabad900f6c097c99cb9" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.Match.fsti.hints b/lib/steel/pulse/Pulse.Prover.Match.fsti.hints new file mode 100644 index 000000000..a91b009f4 --- /dev/null +++ b/lib/steel/pulse/Pulse.Prover.Match.fsti.hints @@ -0,0 +1 @@ +[ "+vf\u0013\u0004fxc\u0011", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.Substs.fst.hints b/lib/steel/pulse/Pulse.Prover.Substs.fst.hints index f5bbba931..dce9ffa74 100644 --- a/lib/steel/pulse/Pulse.Prover.Substs.fst.hints +++ b/lib/steel/pulse/Pulse.Prover.Substs.fst.hints @@ -1,8 +1,36 @@ [ - "ٮɧ#\u0012\u001cυ\u0005j", + "G(*l\b1n@\u0003", [ [ - "Pulse.Prover.Substs.as_map", + "Pulse.Prover.Substs.coerce_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" + ], + 0, + "157caf291598d88c939203ac0a78ba07" + ], + [ + "Pulse.Prover.Substs.no_repeats", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_6f56483ce39bf0bae3a8e4885483473c_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "b096652f42ddd6316a91dbf221186d98" + ], + [ + "Pulse.Prover.Substs.ss_map", 1, 2, 1, @@ -14,11 +42,11 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dc09595e4d9890c6b173aef97c7d80b2" + "e6795f10f841caf1a092357c59ffb6d6" ], [ - "Pulse.Prover.Substs.as_map", - 2, + "Pulse.Prover.Substs.remove_map", + 1, 2, 1, [ @@ -29,10 +57,57 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2bd8460305f3133248ed122c3177bfe0" + "e3de2bec811477d787fcdfbc58dd418b" ], [ - "Pulse.Prover.Substs.relates_to", + "Pulse.Prover.Substs.is_dom", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@query", "binder_x_29cc5f3e1a79215b26718796d566f6c2_0", + "binder_x_3034404192cb00ec23c00e80ff269ddd_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.V2.Data.var", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", "l_and-interp", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", + "typing_FStar.Map.upd", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.complement", "typing_FStar.Set.singleton", + "typing_Pulse.Prover.Substs.remove_map", + "typing_Pulse.Syntax.Base.tm_unknown" + ], + 0, + "ba4e9ff0d9cf7ed627c4f81d179d2ade" + ], + [ + "Pulse.Prover.Substs.is_dom_mem", 1, 2, 1, @@ -44,13 +119,70 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d94a8d7ad633b4a7ba6579f3812cc837" + "f17007f7179f78c394ffe0f40651f169" ], [ - "Pulse.Prover.Substs.relates_to", + "Pulse.Prover.Substs.is_dom_mem", 2, 2, 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@query", "b2t_def", "binder_x_29cc5f3e1a79215b26718796d566f6c2_0", + "binder_x_3034404192cb00ec23c00e80ff269ddd_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", "l_and-interp", "l_or-interp", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.upd", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.complement", + "typing_FStar.Set.empty", "typing_FStar.Set.singleton", + "typing_FStar.Set.union", "typing_Pulse.Syntax.Base.tm_unknown" + ], + 0, + "7da2383d2073d281de584c227979936f" + ], + [ + "Pulse.Prover.Substs.as_map", + 1, + 2, + 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", @@ -59,7 +191,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fddd033e57985a40c037b33234354de2" + "cd35f55c6011e9d9035d1236f3aac328" ], [ "Pulse.Prover.Substs.dom", @@ -74,10 +206,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6c4278c0612c51dafac36fbdfdf10658" + "c00c9879a98c5080fbf6965e1638a3b7" ], [ - "Pulse.Prover.Substs.lookup", + "Pulse.Prover.Substs.contains", 1, 2, 1, @@ -89,11 +221,11 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "610cd0d1221525c21a52ccf5cfb4c49d" + "63d9372e3bd72ec56a22681aff33c274" ], [ - "Pulse.Prover.Substs.lookup", - 2, + "Pulse.Prover.Substs.sel", + 1, 2, 1, [ @@ -104,29 +236,46 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "143295e2f3c8b8ac86838bb94c927f57" + "1ff6b8f0ab859b6535e222c6465ff064" ], [ - "Pulse.Prover.Substs.equal", + "Pulse.Prover.Substs.empty", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Nil@tok", "equation_FStar.Map.const_on", "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.lemma_equal_elim", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConst", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "primitive_Prims.op_AmpAmp", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Reflection.V2.Data.var", - "typing_Pulse.Prover.Substs.dom" + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "true_interp", "typing_FStar.Map.const", "typing_FStar.Map.domain", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Syntax.Base.tm_unknown" ], 0, - "aeeef72b46b6a5eb9447e1fd036ee27c" + "95226542fd5b7b8a39db172d95e56e3a" ], [ - "Pulse.Prover.Substs.empty_dom", + "Pulse.Prover.Substs.is_dom_push", 1, 2, 1, @@ -138,10 +287,174 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "55adcc344f18a3086922b4bbe002e22d" + "6853eed724a934073cdd4a0d7ddc77e4" + ], + [ + "Pulse.Prover.Substs.is_dom_push", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@query", "b2t_def", "bool_inversion", + "constructor_distinct_Prims.Cons", + "data_typing_intro_Prims.Cons@tok", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", "l_and-interp", "l_not-interp", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd1", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_union", "lemma_Pulse.Prover.Substs.is_dom_mem", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_1a8c2398238a88ffd0bf6c5c12a68a91", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_interpretation_Tm_refine_ad9093cfb104aeec6cfb11019087537f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.upd", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", + "typing_Pulse.Syntax.Base.tm_unknown" + ], + 0, + "02348247ec167925f7b69a8093b5cbd6" + ], + [ + "Pulse.Prover.Substs.push", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", + "data_elim_Pulse.Prover.Substs.Mkss_t", + "data_typing_intro_Prims.Cons@tok", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.as_map", + "equation_Pulse.Prover.Substs.contains", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", "l_and-interp", "l_not-interp", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_Pulse.Prover.Substs.is_dom_mem", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "proj_equation_Pulse.Prover.Substs.Mkss_t_m", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_1a8c2398238a88ffd0bf6c5c12a68a91", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_interpretation_Tm_refine_98d8fa05ba01939c9bc671f85dca5dbd", + "refinement_interpretation_Tm_refine_e1f5d7542df60d25c1cc7704f2707a6f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__m", + "typing_Pulse.Prover.Substs.as_map" + ], + 0, + "3343adfeebd18e9b0e0e2327180bf977" + ], + [ + "Pulse.Prover.Substs.tail", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@query", "data_elim_Prims.Cons", + "data_elim_Pulse.Prover.Substs.Mkss_t", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", "l_and-interp", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "proj_equation_Pulse.Prover.Substs.Mkss_t_m", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_1a8c2398238a88ffd0bf6c5c12a68a91", + "refinement_interpretation_Tm_refine_4d075835ea0a98f9c62e04c41c4bb367", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_interpretation_Tm_refine_e1f5d7542df60d25c1cc7704f2707a6f", + "refinement_interpretation_Tm_refine_fb9b4e441f6381d6305909bb25cce399", + "typing_FStar.Map.upd", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.complement", "typing_FStar.Set.singleton", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__m", + "typing_Pulse.Syntax.Base.tm_unknown" + ], + 0, + "0bfa9bf7b86654e21937bea0a2d327a5" ], [ - "Pulse.Prover.Substs.singleton", + "Pulse.Prover.Substs.push_ss", 1, 2, 1, @@ -153,10 +466,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "680bddfae2d84325ee1ccb3c327ca05e" + "99ccb8dc5e9abeb02a663dc9aa2ade5c" ], [ - "Pulse.Prover.Substs.singleton", + "Pulse.Prover.Substs.push_ss", 2, 2, 1, @@ -168,149 +481,552 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a2dff01b8f817ec37f7405ba9bfb3c58" + "aef78b10a86430afcfe1782082de2b76" + ], + [ + "Pulse.Prover.Substs.push_ss", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@query", "b2t_def", "binder_x_7b56104e02b25078b9aedbda096a2225_1", + "binder_x_f4b00518131d7cc5c1119eb28f4fd1c0_0", "bool_inversion", + "constructor_distinct_Prims.Cons", + "data_elim_Pulse.Prover.Substs.Mkss_t", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.as_map", + "equation_Pulse.Prover.Substs.contains", + "equation_Pulse.Prover.Substs.dom", + "equation_Pulse.Prover.Substs.push", + "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.tail", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", "l_and-interp", "l_not-interp", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Set.disjoint_not_in_both", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Prover.Substs.is_dom_mem", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "proj_equation_Pulse.Prover.Substs.Mkss_t_m", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_m", + "refinement_interpretation_Tm_refine_0e8dfcfb29968fa6a6322772c9768de7", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e1f5d7542df60d25c1cc7704f2707a6f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Map.upd", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__m", + "typing_Pulse.Prover.Substs.as_map", + "typing_Pulse.Prover.Substs.dom", + "typing_Pulse.Prover.Substs.remove_map", + "typing_Pulse.Syntax.Base.tm_unknown", "well-founded-ordering-on-nat" + ], + 0, + "6306ee95f749dfe04df82ec91cc44092" ], [ - "Pulse.Prover.Substs.singleton_dom", + "Pulse.Prover.Substs.push_as_map", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", + "equation_Prims.nat", "equation_Prims.squash", + "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6d1aec2d4fea99d47046a26fa819db8d" + "b9382eaf03984c57ff752f5b07e7772a" ], [ - "Pulse.Prover.Substs.singleton_dom", + "Pulse.Prover.Substs.push_as_map", 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.push_ss.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.push_ss.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Pulse.Prover.Substs.Mkss_t", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", + "equation_Pulse.Prover.Substs.as_map", + "equation_Pulse.Prover.Substs.contains", + "equation_Pulse.Prover.Substs.dom", + "equation_Pulse.Prover.Substs.push", + "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Prover.Substs.tail", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.push_ss.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", "l_and-interp", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd1", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.disjoint_not_in_both", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "proj_equation_Pulse.Prover.Substs.Mkss_t_m", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_m", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_1a8c2398238a88ffd0bf6c5c12a68a91", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_interpretation_Tm_refine_8521c154c07765aef4a3bb7aa5af82dd", + "refinement_interpretation_Tm_refine_e1f5d7542df60d25c1cc7704f2707a6f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "typing_FStar.List.Tot.Base.length", + "typing_FStar.Map.concat", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.upd", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.complement", + "typing_FStar.Set.empty", "typing_FStar.Set.intersect", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton", + "typing_FStar.Set.union", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__m", + "typing_Pulse.Prover.Substs.as_map", + "typing_Pulse.Prover.Substs.dom", + "typing_Pulse.Prover.Substs.push_ss", + "typing_Pulse.Prover.Substs.remove_map", + "typing_Pulse.Syntax.Base.tm_unknown", "well-founded-ordering-on-nat" ], 0, - "94239bc181e0d600bd8d231203592b69" + "e482c68ab19085f50377ea4c4aad43f3" ], [ - "Pulse.Prover.Substs.push", + "Pulse.Prover.Substs.remove_l", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_29cc5f3e1a79215b26718796d566f6c2_0", + "binder_x_ab6f5000ae41311663b4a49e6a6ba6ab_1", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", + "equation_Prims.eq2", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "l_and-interp", "l_not-interp", "l_or-interp", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_739799bb2d608480c1ad5dc144867abb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "subterm_ordering_Prims.Cons" ], 0, - "c44d1fb73ff9ce064d29a75707ce0a3c" + "6f062332bd0733cbcce5155ff045ce0e" ], [ - "Pulse.Prover.Substs.push", + "Pulse.Prover.Substs.is_dom_remove", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@query", "bool_inversion", "equation_FStar.Reflection.V2.Data.var", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd1", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_singleton", + "lemma_Pulse.Prover.Substs.is_dom_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_1a8c2398238a88ffd0bf6c5c12a68a91", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_interpretation_Tm_refine_c5bcf95f1ce55bb888d966633ed92c24", + "refinement_interpretation_Tm_refine_e9f0f8d04c3ac842acb94e971295cb21", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Map.contains", "typing_FStar.Map.upd", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.complement", + "typing_FStar.Set.singleton", "typing_Pulse.Syntax.Base.tm_unknown" + ], + 0, + "6557f899d1158244b9b8a5dba3d533d5" + ], + [ + "Pulse.Prover.Substs.is_dom_remove", 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.remove_l.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.remove_l.fuel_instrumented", + "@query", "b2t_def", "binder_x_117e8de76c32156ec889884dcf5265c8_2", + "binder_x_222eda792b561ef3e1f8fcb3781b994d_1", + "binder_x_29cc5f3e1a79215b26718796d566f6c2_0", "bool_inversion", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.remove_l.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", "l_and-interp", "l_not-interp", + "l_or-interp", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", + "lemma_Pulse.Prover.Substs.is_dom_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6900719743abad92316783e7d2253907", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_interpretation_Tm_refine_c62f625962d118e899b334e08aa3a44c", + "refinement_interpretation_Tm_refine_d5a92c7e2633eb00daa967cb054c6c22", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Map.upd", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.complement", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", + "typing_Pulse.Prover.Substs.remove_map", + "typing_Pulse.Syntax.Base.tm_unknown", "unit_inversion", + "unit_typing" ], 0, - "b777b972d08c515ddba61b183b65d0b4" + "7022cd68e5ce67b31212e0fd7ef0d609" ], [ - "Pulse.Prover.Substs.push_substs_as_map", + "Pulse.Prover.Substs.ss_term", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "binder_x_f4b00518131d7cc5c1119eb28f4fd1c0_1", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.tail", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_l", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "well-founded-ordering-on-nat" ], 0, - "5a4a28a62ab7f254720613c2b373f8f6" + "8b08fea2a2a59fb347ca7f2d7773ce4c" ], [ - "Pulse.Prover.Substs.subst_extends", + "Pulse.Prover.Substs.ss_st_term", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "binder_x_f4b00518131d7cc5c1119eb28f4fd1c0_1", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.tail", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_l", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "well-founded-ordering-on-nat" ], 0, - "cc6268467cc9d13580cef8c00e08fdf9" + "f4453a2808c4d078d0f296af60853e1f" ], [ - "Pulse.Prover.Substs.push_subst_term", + "Pulse.Prover.Substs.ss_st_comp", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "binder_x_f4b00518131d7cc5c1119eb28f4fd1c0_1", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.tail", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_l", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "well-founded-ordering-on-nat" ], 0, - "3ae29d5071aad5d1b809fe10f74635d3" + "fcc55fe0b6ed9f1fad00ae2c6ac21c2e" ], [ - "Pulse.Prover.Substs.push_subst_st_term", + "Pulse.Prover.Substs.ss_comp", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "binder_x_f4b00518131d7cc5c1119eb28f4fd1c0_1", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.tail", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_l", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "well-founded-ordering-on-nat" ], 0, - "0dec32e708fff0876abe0cc4be354014" + "cdd5ef15db2df8977d746c65dc2c2c17" ], [ - "Pulse.Prover.Substs.push_subst_comp", + "Pulse.Prover.Substs.ss_binder", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "binder_x_f4b00518131d7cc5c1119eb28f4fd1c0_1", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.tail", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_l", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "well-founded-ordering-on-nat" ], 0, - "3a0c143bf41efa44952fc9d4cb304e34" + "be6242b3d7daef206ddd28c7f3e50dc6" ], [ - "Pulse.Prover.Substs.subst_closed_term", + "Pulse.Prover.Substs.ss_env", 1, 2, 1, @@ -322,11 +1038,11 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eed1c5289cc049ce65e2f84d329e954e" + "03b1e65ee39b70f89a41f7c4879692ce" ], [ - "Pulse.Prover.Substs.subst_closed_st_term", - 1, + "Pulse.Prover.Substs.ss_env", + 2, 2, 1, [ @@ -337,11 +1053,11 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8a44e669d1527f17b1c7244ee28ed324" + "a88673ca2369c531dbb73f4c23412426" ], [ - "Pulse.Prover.Substs.subst_closed_comp", - 1, + "Pulse.Prover.Substs.ss_env", + 3, 2, 1, [ @@ -352,41 +1068,215 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3360209794cf37c3a2132574a995fded" + "7c0f657802bb9a09f629f29759a4fa46" ], [ - "Pulse.Prover.Substs.diff", + "Pulse.Prover.Substs.ss_st_comp_commutes", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.ss_st_comp.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.ss_term.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.ss_st_comp.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.ss_term.fuel_instrumented", + "@query", + "FStar.Ghost_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Pulse.Syntax.Naming_interpretation_Tm_arrow_c0d5e1c4dd22f0fc7f6b9bbecbfa2056", + "b2t_def", "binder_x_782a0dad287a00f5de8c110e3ddaeab3_0", + "binder_x_f4b00518131d7cc5c1119eb28f4fd1c0_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Pulse.Syntax.Naming.NT", + "data_elim_Pulse.Prover.Substs.Mkss_t", + "data_elim_Pulse.Syntax.Base.Mkst_comp", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Prover.Substs.tail", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Naming.shift_subst", + "equation_Pulse.Syntax.Naming.shift_subst_elt", + "equation_Pulse.Syntax.Naming.shift_subst_n", + "equation_Pulse.Syntax.Naming.subst_st_comp", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.ss_st_comp.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.ss_term.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "function_token_typing_Pulse.Syntax.Naming.shift_subst_elt", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", + "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", "l_and-interp", + "primitive_Prims.op_Addition", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_res", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_res", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_u", + "projection_inverse_Pulse.Syntax.Naming.NT__0", + "projection_inverse_Pulse.Syntax.Naming.NT__1", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_1a8c2398238a88ffd0bf6c5c12a68a91", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_Pulse.Syntax.Naming.shift_subst_elt", + "token_correspondence_Pulse.Syntax.Naming.shift_subst_n", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__post", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__pre", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__res", + "well-founded-ordering-on-nat" ], 0, - "e736cf63fb839b47e30f1936aa268cc5" + "3bdda584b1766a2b1e372b64bcbc0704" ], [ - "Pulse.Prover.Substs.diff", + "Pulse.Prover.Substs.ss_comp_commutes", + 1, + 2, + 1, + [ + "@query", "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "equation_Pulse.Syntax.Base.stateful_comp", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" + ], + 0, + "ede1af930472dbca5c03d7350a22c271" + ], + [ + "Pulse.Prover.Substs.ss_comp_commutes", 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "@query", "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "equation_Pulse.Syntax.Base.stateful_comp", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" + ], + 0, + "bc2f925df570f4df9f933170af674a7d" + ], + [ + "Pulse.Prover.Substs.ss_comp_commutes", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.ss_comp.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.ss_st_comp.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.ss_term.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.ss_comp.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.ss_st_comp.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.ss_term.fuel_instrumented", + "@query", + "Pulse.Syntax.Base_pretyping_782a0dad287a00f5de8c110e3ddaeab3", + "binder_x_b015b044c5bf00a3dd3df9fa711c87dd_0", + "binder_x_f4b00518131d7cc5c1119eb28f4fd1c0_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "constructor_distinct_Pulse.Syntax.Base.C_Tot", + "constructor_distinct_Tm_unit", "data_elim_Pulse.Syntax.Base.C_ST", + "data_elim_Pulse.Syntax.Base.C_STAtomic", + "data_elim_Pulse.Syntax.Base.C_STGhost", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.tail", + "equation_Pulse.Syntax.Base.comp_inames", + "equation_Pulse.Syntax.Base.comp_res", + "equation_Pulse.Syntax.Base.st_comp_of_comp", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Naming.subst", + "equation_Pulse.Syntax.Naming.subst_comp", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.ss_comp.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.ss_st_comp.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.ss_term.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "projection_inverse_Pulse.Prover.Substs.Mkss_t_l", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__1", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "projection_inverse_Pulse.Syntax.Base.C_Tot__0", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "typing_Pulse.Prover.Substs.ss_term", + "typing_Pulse.Syntax.Base.comp_res", + "typing_Pulse.Syntax.Base.uu___is_C_ST", + "typing_Pulse.Syntax.Base.uu___is_C_STAtomic", + "typing_Pulse.Syntax.Base.uu___is_C_Tot", + "typing_Pulse.Syntax.Naming.subst_st_comp", + "typing_Pulse.Syntax.Naming.subst_term", + "well-founded-ordering-on-nat" ], 0, - "f04d083361f2fa651687e0f5b0ceaaab" + "9215c7c3cce97d5bde7b66a863b41ed7" ], [ - "Pulse.Prover.Substs.diff", - 3, + "Pulse.Prover.Substs.nt_subst_env", + 1, 2, 1, [ @@ -397,24 +1287,709 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e9ca14c511b39ed5c86ff34821069680" + "ba5542647436ba3c6c1a8f99620e48fb" ], [ - "Pulse.Prover.Substs.diff_push", + "Pulse.Prover.Substs.nt_substs_st_comp_commutes", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Syntax.Naming.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", + "FStar.Ghost_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", + "Pulse.Prover.Substs_interpretation_Tm_arrow_44c92d7083e71e4940f9a7025bcacc34", + "Pulse.Prover.Substs_interpretation_Tm_arrow_75e84b37473765c128ff689d744c8fe4", + "Pulse.Syntax.Base_pretyping_782a0dad287a00f5de8c110e3ddaeab3", + "Pulse.Syntax.Naming_interpretation_Tm_arrow_c0d5e1c4dd22f0fc7f6b9bbecbfa2056", + "binder_x_64bddace2d9f7b6ebca89cf6106fa8b3_1", + "binder_x_782a0dad287a00f5de8c110e3ddaeab3_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Pulse.Syntax.Naming.NT", + "data_elim_Prims.Cons", "data_elim_Pulse.Syntax.Base.Mkst_comp", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "eq2-interp", "equation_Prims.nat", + "equation_Pulse.Prover.Substs.nt_subst_st_comp", + "equation_Pulse.Prover.Substs.nt_subst_term", + "equation_Pulse.Prover.Substs.nt_substs", + "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Naming.shift_subst", + "equation_Pulse.Syntax.Naming.shift_subst_elt", + "equation_Pulse.Syntax.Naming.shift_subst_n", + "equation_Pulse.Syntax.Naming.subst_st_comp", + "equation_with_fuel_FStar.List.Tot.Base.fold_left.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Pulse.Syntax.Naming.shift_subst_elt", + "int_typing", + "interpretation_Tm_abs_a3d5dd83fbcf4af6e02dd400fbf0f147", + "interpretation_Tm_abs_a710033180f8da1aa5a51a6e77454ded", + "kinding_Pulse.Syntax.Base.st_comp@tok", + "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", "l_or-interp", + "proj_equation_Prims.Cons_hd", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_res", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_res", + "projection_inverse_Pulse.Syntax.Base.Mkst_comp_u", + "projection_inverse_Pulse.Syntax.Naming.NT__0", + "projection_inverse_Pulse.Syntax.Naming.NT__1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_98cef3ee6a2061303e53ccf185ee1a01", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_Pulse.Syntax.Naming.shift_subst_elt", + "token_correspondence_Pulse.Syntax.Naming.shift_subst_n", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__post", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__pre", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__res", + "typing_Tm_abs_a3d5dd83fbcf4af6e02dd400fbf0f147", + "typing_Tm_abs_a710033180f8da1aa5a51a6e77454ded" + ], + 0, + "cc41e7c65e00af706761169b9802f3bc" + ], + [ + "Pulse.Prover.Substs.nt_subst_comp_commutes", + 1, + 2, + 1, + [ + "@query", "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "equation_Pulse.Syntax.Base.stateful_comp", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" + ], + 0, + "eaee1e140f5c623526590fc571330514" + ], + [ + "Pulse.Prover.Substs.nt_subst_comp_commutes", + 2, + 2, + 1, + [ + "@query", "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "equation_Pulse.Syntax.Base.stateful_comp", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" + ], + 0, + "83ccc23b8e5979104a1ae6e49776f2f0" + ], + [ + "Pulse.Prover.Substs.nt_subst_comp_commutes", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", + "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Pulse.Prover.Substs_interpretation_Tm_arrow_44c92d7083e71e4940f9a7025bcacc34", + "Pulse.Prover.Substs_interpretation_Tm_arrow_4aff1389c612fb274ef6cf645fe0fa4a", + "Pulse.Prover.Substs_interpretation_Tm_arrow_75e84b37473765c128ff689d744c8fe4", + "Pulse.Syntax.Base_pretyping_782a0dad287a00f5de8c110e3ddaeab3", + "Pulse.Syntax.Base_pretyping_b015b044c5bf00a3dd3df9fa711c87dd", + "binder_x_64bddace2d9f7b6ebca89cf6106fa8b3_1", + "binder_x_b015b044c5bf00a3dd3df9fa711c87dd_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "constructor_distinct_Pulse.Syntax.Base.C_Tot", + "constructor_distinct_Pulse.Syntax.Naming.NT", + "data_elim_Prims.Cons", "data_elim_Pulse.Syntax.Base.C_ST", + "data_elim_Pulse.Syntax.Base.C_STAtomic", + "data_elim_Pulse.Syntax.Base.C_STGhost", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "disc_equation_Pulse.Syntax.Naming.NT", "eq2-interp", + "equation_Pulse.Prover.Substs.nt_subst_comp", + "equation_Pulse.Prover.Substs.nt_subst_st_comp", + "equation_Pulse.Prover.Substs.nt_subst_term", + "equation_Pulse.Prover.Substs.nt_substs", + "equation_Pulse.Syntax.Base.comp_inames", + "equation_Pulse.Syntax.Base.comp_res", + "equation_Pulse.Syntax.Base.st_comp_of_comp", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Naming.subst", + "equation_Pulse.Syntax.Naming.subst_comp", + "equation_with_fuel_FStar.List.Tot.Base.fold_left.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "interpretation_Tm_abs_9221b4287e6d2d711da0e1b1af792f1b", + "interpretation_Tm_abs_a3d5dd83fbcf4af6e02dd400fbf0f147", + "interpretation_Tm_abs_a710033180f8da1aa5a51a6e77454ded", + "kinding_Pulse.Syntax.Base.comp@tok", + "kinding_Pulse.Syntax.Base.st_comp@tok", + "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", "l_or-interp", + "lemma_Pulse.Prover.Substs.nt_substs_st_comp_commutes", + "primitive_Prims.op_BarBar", "proj_equation_Prims.Cons_hd", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_res", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__1", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "projection_inverse_Pulse.Syntax.Base.C_Tot__0", + "projection_inverse_Pulse.Syntax.Naming.NT__0", + "projection_inverse_Pulse.Syntax.Naming.NT__1", + "refinement_interpretation_Tm_refine_98cef3ee6a2061303e53ccf185ee1a01", + "string_typing", "subterm_ordering_Prims.Cons", + "typing_Pulse.Prover.Substs.nt_subst_comp", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__post", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__pre", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__res", + "typing_Pulse.Syntax.Base.comp_res", + "typing_Pulse.Syntax.Naming.uu___is_NT", + "typing_Tm_abs_9221b4287e6d2d711da0e1b1af792f1b", + "typing_Tm_abs_a3d5dd83fbcf4af6e02dd400fbf0f147", + "typing_Tm_abs_a710033180f8da1aa5a51a6e77454ded" + ], + 0, + "600c387d122a0cc72c34dbeaf2f712fa" + ], + [ + "Pulse.Prover.Substs.well_typed_nt_substs", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "binder_x_64bddace2d9f7b6ebca89cf6106fa8b3_2", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.nt_substs", + "equation_Pulse.Typing.Env.binding", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", "l_or-interp", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_98cef3ee6a2061303e53ccf185ee1a01", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" + ], + 0, + "3f0028dddb3fdcedb48dabdde5529be2" + ], + [ + "Pulse.Prover.Substs.is_permutation", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.remove_l.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.remove_l.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_64bddace2d9f7b6ebca89cf6106fa8b3_0", + "binder_x_f4b00518131d7cc5c1119eb28f4fd1c0_1", "bool_inversion", + "constructor_distinct_Prims.Cons", + "data_elim_Pulse.Prover.Substs.Mkss_t", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.nt_substs", + "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.var", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", "l_or-interp", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_singleton", + "lemma_Pulse.Prover.Substs.is_dom_mem", + "lemma_Pulse.Prover.Substs.is_dom_remove", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "proj_equation_Pulse.Prover.Substs.Mkss_t_m", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_1a8c2398238a88ffd0bf6c5c12a68a91", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_interpretation_Tm_refine_75fa5e5396db5e4ef709e18b93c17d66", + "refinement_interpretation_Tm_refine_98cef3ee6a2061303e53ccf185ee1a01", + "refinement_interpretation_Tm_refine_e1f5d7542df60d25c1cc7704f2707a6f", + "refinement_interpretation_Tm_refine_e9f0f8d04c3ac842acb94e971295cb21", + "string_typing", "subterm_ordering_Prims.Cons", + "typing_FStar.Map.contains", "typing_FStar.Map.upd", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.complement", + "typing_FStar.Set.singleton", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__m", + "typing_Pulse.Prover.Substs.remove_map", + "typing_Pulse.Syntax.Base.tm_unknown" + ], + 0, + "fba7f494193c6496ef78620865416bf1" + ], + [ + "Pulse.Prover.Substs.ss_to_nt_substs", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.is_permutation.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.remove_l.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.is_permutation.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.remove_l.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", + "constructor_distinct_Pulse.Syntax.Naming.NT", + "data_elim_FStar.Tactics.Result.Success", "data_elim_Prims.Cons", + "data_elim_Pulse.Prover.Substs.Mkss_t", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "data_typing_intro_Pulse.Syntax.Naming.NT@tok", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "disc_equation_Pulse.Syntax.Naming.NT", "eq2-interp", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.nt_substs", + "equation_Pulse.Prover.Substs.remove_map", + "equation_Pulse.Prover.Substs.ss_dom", + "equation_Pulse.Prover.Substs.ss_map", + "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.binding", + "equation_Pulse.Typing.tot_typing", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.is_dom.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.is_permutation.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.no_repeats.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Substs.ss_t", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", "l_and-interp", + "l_or-interp", "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd1", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", + "lemma_Pulse.Prover.Substs.is_dom_mem", + "lemma_Pulse.Prover.Substs.is_dom_remove", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "proj_equation_Pulse.Prover.Substs.Mkss_t_l", + "proj_equation_Pulse.Prover.Substs.Mkss_t_m", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "projection_inverse_Pulse.Syntax.Naming.NT__0", + "projection_inverse_Pulse.Syntax.Naming.NT__1", + "refinement_interpretation_Tm_refine_0fe8979aecfdc367377f2f7bffef3582", + "refinement_interpretation_Tm_refine_1a8c2398238a88ffd0bf6c5c12a68a91", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6fde482ad27410431b582b6c26423a41", + "refinement_interpretation_Tm_refine_743a26899815015983075ea3d48d9ce0", + "refinement_interpretation_Tm_refine_75fa5e5396db5e4ef709e18b93c17d66", + "refinement_interpretation_Tm_refine_98cef3ee6a2061303e53ccf185ee1a01", + "refinement_interpretation_Tm_refine_cab865d7bf4d16d83feddc42e67d8039", + "refinement_interpretation_Tm_refine_e9f0f8d04c3ac842acb94e971295cb21", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_cab865d7bf4d16d83feddc42e67d8039", + "string_typing", "typing_FStar.Map.contains", "typing_FStar.Map.upd", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.complement", + "typing_FStar.Set.singleton", + "typing_Pulse.Prover.Substs.__proj__Mkss_t__item__l", + "typing_Pulse.Prover.Substs.remove_map", + "typing_Pulse.Syntax.Base.tm_unknown" + ], + 0, + "c0421aaa99b49615069e1bc21b165f45" + ], + [ + "Pulse.Prover.Substs.st_typing_nt_substs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a893420d66964b8e290c7368f29b02ca", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "568734d6a60772c4d00f8de5b71cf14c" + ], + [ + "Pulse.Prover.Substs.st_typing_nt_substs", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a893420d66964b8e290c7368f29b02ca", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "ad903b3b9ee938838929ab31411acfdf" + ], + [ + "Pulse.Prover.Substs.st_typing_nt_substs", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@fuel_correspondence_Pulse.Syntax.Naming.subst_st_term.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Pulse.Prover.Substs_interpretation_Tm_arrow_4aff1389c612fb274ef6cf645fe0fa4a", + "Pulse.Prover.Substs_interpretation_Tm_arrow_50030717a59cc69d06870061b1f7deb4", + "Pulse.Prover.Substs_interpretation_Tm_arrow_5b7c01c61427720305b90a2a0d9f76ec", + "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", + "Pulse.Syntax.Base_pretyping_b015b044c5bf00a3dd3df9fa711c87dd", + "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_3", + "binder_x_1ad99e5433effa849e32ef9adfa111a0_0", + "binder_x_1ad99e5433effa849e32ef9adfa111a0_1", + "binder_x_4491f3e96d1227aab97069fc644036e1_4", + "binder_x_62788b34f757e047b3ca0031dc3c412d_6", + "binder_x_e0ca80c9d2bca29cf41de2ca31df25fd_2", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "disc_equation_Pulse.Syntax.Naming.NT", "eq2-interp", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Prover.Substs.nt_subst_comp", + "equation_Pulse.Prover.Substs.nt_subst_env", + "equation_Pulse.Prover.Substs.nt_subst_st_term", + "equation_Pulse.Prover.Substs.nt_substs", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.ppname_default", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Naming.subst", + "equation_Pulse.Syntax.Naming.subst_comp", + "equation_Pulse.Typing.Env.binding", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_bindings", + "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Metatheory.nt", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "equation_Pulse.Typing.Metatheory.singleton_env", + "equation_Pulse.Typing.Metatheory.subst_env", + "equation_with_fuel_FStar.List.Tot.Base.fold_left.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Pulse.Typing.Env.binding", + "function_token_typing_Pulse.Typing.Env.env", "int_inversion", + "interpretation_Tm_abs_911a4867a8c9f455684310793197d293", + "interpretation_Tm_abs_9221b4287e6d2d711da0e1b1af792f1b", + "interpretation_Tm_abs_bd6a78e0ce65a0d22871e601c0a470a3", + "kinding_Pulse.Syntax.Base.comp@tok", + "kinding_Pulse.Syntax.Base.st_term@tok", + "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", "l_and-interp", + "l_or-interp", "lemma_FStar.List.Tot.Properties.append_l_nil", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Set.disjoint_not_in_both", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_Pulse.Typing.Env.equal_elim", + "lemma_Pulse.Typing.Env.mk_env_dom", + "lemma_Pulse.Typing.Env.push_binding_as_map", + "lemma_Pulse.Typing.Env.push_env_as_map", + "lemma_Pulse.Typing.Env.push_env_bindings", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "projection_inverse_Pulse.Syntax.Naming.NT__1", + "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", + "refinement_interpretation_Tm_refine_129395affdd8d026c2be2455be50b7e3", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_30687c6bbf76a4ea67eae131536eafd7", + "refinement_interpretation_Tm_refine_484fe0819d1383a2c20d94ae027baa5f", + "refinement_interpretation_Tm_refine_48ed0fc82d95501c4309f80415b210a3", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d6ad08bafbd73ce23fa2cb022f3a7f", + "refinement_interpretation_Tm_refine_5d038f4dc57ccd0fa38b48276342c675", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_98cef3ee6a2061303e53ccf185ee1a01", + "string_typing", "typing_FStar.List.Tot.Base.length", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Substs.nt_subst_env", + "typing_Pulse.Syntax.Base.ppname_default", + "typing_Pulse.Syntax.Base.uu___is_C_Tot", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.bindings", + "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.Env.mk_env", + "typing_Pulse.Typing.Env.push_binding", + "typing_Pulse.Typing.Env.push_env", + "typing_Pulse.Typing.Metatheory.subst_env", + "typing_Tm_abs_911a4867a8c9f455684310793197d293", + "typing_Tm_abs_9221b4287e6d2d711da0e1b1af792f1b", + "typing_Tm_abs_bd6a78e0ce65a0d22871e601c0a470a3", + "well-founded-ordering-on-nat" + ], + 0, + "b43cb013d8196046d51b7fa2b0dbe137" + ], + [ + "Pulse.Prover.Substs.st_typing_nt_substs_derived", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "e929b4e80b946b8002fa5a4d7c160079" + ], + [ + "Pulse.Prover.Substs.st_typing_nt_substs_derived", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "ff6a16500550f159bbe212392bd2f2c2" + ], + [ + "Pulse.Prover.Substs.st_typing_nt_substs_derived", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "equation_FStar.List.Tot.Base.op_At", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.binding", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_bindings", + "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "function_token_typing_Prims.int", + "function_token_typing_Pulse.Typing.Env.binding", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_Pulse.Typing.Env.equal_elim", + "lemma_Pulse.Typing.Env.mk_env_bs", + "lemma_Pulse.Typing.Env.mk_env_dom", + "lemma_Pulse.Typing.Env.push_env_as_map", + "lemma_Pulse.Typing.Env.push_env_bindings", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_30687c6bbf76a4ea67eae131536eafd7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8cb67092ecb6e2eedaccd4de7b1b0585" + "refinement_interpretation_Tm_refine_484fe0819d1383a2c20d94ae027baa5f", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.bindings", + "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.Env.mk_env" ], 0, - "a0c86f2b7bb83689f04dd80eba1f14a2" + "4f977516d781efdfc7454dc028c8a4c5" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.Substs.fsti.hints b/lib/steel/pulse/Pulse.Prover.Substs.fsti.hints index 38dd3eec0..d896fbb4d 100644 --- a/lib/steel/pulse/Pulse.Prover.Substs.fsti.hints +++ b/lib/steel/pulse/Pulse.Prover.Substs.fsti.hints @@ -1,5 +1,5 @@ [ - "TKU9t:\u0006N4", + "c=\u000e{FrM-W", [ [ "Pulse.Prover.Substs.as_map", @@ -14,37 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e3f3ce75365149cda8d6234ea492ca20" - ], - [ - "Pulse.Prover.Substs.relates_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "7f79bf7ea61c313bef65ea8093838470" - ], - [ - "Pulse.Prover.Substs.relates_to", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "27f2241d9dbd0426803a5e8e5a5801a6" + "595d5a2f4ddffd7f6d5f5165d9a4fdb2" ], [ "Pulse.Prover.Substs.dom", @@ -59,74 +29,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2f0f9586bf6f4eea4403114704812f1b" - ], - [ - "Pulse.Prover.Substs.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "f0438de16367dbf35d00c6981fdb341b" - ], - [ - "Pulse.Prover.Substs.lookup", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "492d823e136591248c82b68c26e7a52b" - ], - [ - "Pulse.Prover.Substs.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.lemma_equal_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Reflection.V2.Data.var", - "typing_Pulse.Prover.Substs.dom" - ], - 0, - "362ba97093e07bf29a6af6ad1c0477db" - ], - [ - "Pulse.Prover.Substs.empty_dom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "e187b5b0433af6bba3fea6df57ac06e5" + "36136118d9ce2895131be92febdaae13" ], [ - "Pulse.Prover.Substs.singleton", + "Pulse.Prover.Substs.contains", 1, 2, 1, @@ -138,10 +44,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f0d3a7f113dc02e507ce9d7cd5fb7b7d" + "63d9372e3bd72ec56a22681aff33c274" ], [ - "Pulse.Prover.Substs.singleton_dom", + "Pulse.Prover.Substs.sel", 1, 2, 1, @@ -153,10 +59,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e26d5adf7cebfc68258eeb1976127567" + "1ff6b8f0ab859b6535e222c6465ff064" ], [ - "Pulse.Prover.Substs.push", + "Pulse.Prover.Substs.push_ss", 1, 2, 1, @@ -168,10 +74,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "16288512e2ebf6d10e4f09af523d470b" + "8be0fa3d7ba1943765b4d4c4ce413ef0" ], [ - "Pulse.Prover.Substs.push_substs_as_map", + "Pulse.Prover.Substs.push_as_map", 1, 2, 1, @@ -184,10 +90,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d9e6851f76da613df6c11148d51c4405" + "38c8f3bf071d438c8d1674a1bb80d3a4" ], [ - "Pulse.Prover.Substs.subst_extends", + "Pulse.Prover.Substs.ss_env", 1, 2, 1, @@ -199,58 +105,25 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ed094ebdabdd89a5011f282271048966" - ], - [ - "Pulse.Prover.Substs.push_subst_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "e159b752797fbac49f82b9b1c5237136" - ], - [ - "Pulse.Prover.Substs.push_subst_st_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "13982229de9426eb27fcca985da8255b" + "ea877e63c0b72e4c0da56f726ce21fe1" ], [ - "Pulse.Prover.Substs.push_subst_comp", + "Pulse.Prover.Substs.ss_comp_commutes", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@query", "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "equation_Pulse.Syntax.Base.stateful_comp", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "13b00488583aec613f1e710c78728424" + "7c558bb577d71f5ba2f6a1a5ce8d3e72" ], [ - "Pulse.Prover.Substs.subst_closed_term", + "Pulse.Prover.Substs.nt_subst_env", 1, 2, 1, @@ -262,69 +135,111 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "618fe16f1fa05dfb69e9df4207bc4a2b" + "cd781273c5a04569d1cefb8fd2295f13" ], [ - "Pulse.Prover.Substs.subst_closed_st_term", + "Pulse.Prover.Substs.nt_subst_comp_commutes", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@query", "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "equation_Pulse.Syntax.Base.stateful_comp", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "ffede2cda45874d83bc91f18989a6019" + "d467eeab2a9b4f549ca2316171de55fb" ], [ - "Pulse.Prover.Substs.subst_closed_comp", + "Pulse.Prover.Substs.well_typed_nt_substs", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "binder_x_64bddace2d9f7b6ebca89cf6106fa8b3_2", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "equation_Prims.nat", "equation_Pulse.Prover.Substs.nt_substs", + "equation_Pulse.Typing.Env.binding", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "kinding_Pulse.Syntax.Naming.subst_elt@tok", "l_or-interp", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_98cef3ee6a2061303e53ccf185ee1a01", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "ce4b636850918a4d1d5ce8304ecf8f6b" + "3f0028dddb3fdcedb48dabdde5529be2" ], [ - "Pulse.Prover.Substs.diff", + "Pulse.Prover.Substs.st_typing_nt_substs", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a893420d66964b8e290c7368f29b02ca", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "aceff7f4d6b8c96147b1ff7cad1dde5e" + "51edf708859e61165d423b6b836e21e7" ], [ - "Pulse.Prover.Substs.diff_push", + "Pulse.Prover.Substs.st_typing_nt_substs_derived", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8cb67092ecb6e2eedaccd4de7b1b0585" + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.dom" ], 0, - "9df2c2bf2764b84f38ec3edb4d5ba32f" + "d4489f019ed1ccd198d6bb53bb263cbb" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.fst.hints b/lib/steel/pulse/Pulse.Prover.fst.hints index add6e40a6..45e29a828 100644 --- a/lib/steel/pulse/Pulse.Prover.fst.hints +++ b/lib/steel/pulse/Pulse.Prover.fst.hints @@ -1,38 +1,346 @@ [ - "RhďY\u0017ن^", + "B0+Ms@rZ\u001d2", [ [ - "Pulse.Prover.coerce_eq", + "Pulse.Prover.unsolved_equiv_pst", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__pg", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "806a36d274713fd001739c1ef7c2099b" + ], + [ + "Pulse.Prover.unsolved_equiv_pst", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__pg", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Typing.Env.dom" + ], + 0, + "54ef0133892697cefc6b2d97f9b97c92" + ], + [ + "Pulse.Prover.collect_exists", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", + "binder_x_dde2ec1e863a0bcde2ea8594cff3d454_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.op_Equals_Equals_Equals", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" + "equation_Pulse.Syntax.Base.vprop", + "fuel_guarded_inversion_Prims.list", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.List.Tot.Properties.append_l_nil", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "fe12972467685f2d98daa5bab028688f" + "3563bb17b649172f409d407f9e1cc17d" ], [ - "Pulse.Prover.prove_precondition", - 1, + "Pulse.Prover.collect_pures", 1, + 2, 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_Pulse.Syntax.Base.C_ST", - "disc_equation_Pulse.Syntax.Base.C_STAtomic", - "disc_equation_Pulse.Syntax.Base.C_STGhost", - "disc_equation_Pulse.Syntax.Base.C_Tot", - "equation_Pulse.Syntax.Base.comp_st", - "equation_Pulse.Syntax.Base.stateful_comp", - "fuel_guarded_inversion_Pulse.Syntax.Base.comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" + "binder_x_dde2ec1e863a0bcde2ea8594cff3d454_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.op_Equals_Equals_Equals", + "equation_Pulse.Syntax.Base.vprop", + "fuel_guarded_inversion_Prims.list", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.List.Tot.Properties.append_l_nil", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "5ed2d25918d71f992fd581fd970e99d9" + ], + [ + "Pulse.Prover.match_q", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Tm_unit", + "data_elim_FStar.Tactics.Result.Success", + "data_elim_Pulse.Prover.Common.Mkprover_state", + "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_Pulse.Prover.remaining_ctxt_equiv_pst", + "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Common.prover_state", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", + "proj_equation_Pulse.Prover.Common.Mkpreamble_g0", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_remaining_ctxt", + "proj_equation_Pulse.Prover.Common.Mkprover_state_ss", + "proj_equation_Pulse.Prover.Common.Mkprover_state_unsolved", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_pg", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_ss", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_unsolved", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_uvs", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d1f40778f2bf94acaf037b4cab78e961", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "refinement_kinding_Tm_refine_009a66b156890bf076f65b2cc2dd54a4", + "typing_FStar.List.Tot.Base.length", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__remaining_ctxt" + ], + 0, + "1cd7ca164e181dd75f6d1d80950ece51" + ], + [ + "Pulse.Prover.prover", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.collect_exists.fuel_instrumented", + "@fuel_correspondence_Pulse.Prover.collect_pures.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "bool_inversion", "constructor_distinct_Prims.Cons", + "data_elim_FStar.Tactics.Result.Success", "data_elim_Prims.Cons", + "data_elim_Pulse.Prover.Common.Mkprover_state", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "disc_equation_Pulse.Syntax.Base.Tm_ExistsSL", + "equation_FStar.List.Tot.Base.op_At", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_FStar.Set.subset", + "equation_Prims.nat", "equation_Pulse.Prover.Common.is_terminal", + "equation_Pulse.Prover.Common.pst_extends", + "equation_Pulse.Prover.Common.ss_extends", + "equation_Pulse.Prover.Substs.contains", + "equation_Pulse.Prover.Substs.dom", + "equation_Pulse.Prover.unsolved_equiv_pst", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.tm_exists_sl", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.collect_exists.fuel_instrumented", + "equation_with_fuel_Pulse.Prover.collect_pures.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.dtuple3", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Pulse.Prover.Common.prover_state", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.List.Tot.Properties.append_l_nil", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.subset_mem", + "lemma_Pulse.Syntax.Base.range_singleton", + "lemma_Pulse.Typing.Env.env_extends_refl", + "lemma_Pulse.Typing.Env.env_extends_trans", + "primitive_Prims.op_AmpAmp", "proj_equation_Prims.Cons_hd", + "proj_equation_Pulse.Prover.Common.Mkpreamble_ctxt", + "proj_equation_Pulse.Prover.Common.Mkpreamble_frame", + "proj_equation_Pulse.Prover.Common.Mkpreamble_g0", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_ss", + "proj_equation_Pulse.Prover.Common.Mkprover_state_unsolved", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Mkdtuple3__1", + "projection_inverse_FStar.Pervasives.Mkdtuple3__2", + "projection_inverse_FStar.Pervasives.Mkdtuple3_c", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_pg", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_ss", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_unsolved", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_uvs", + "refinement_interpretation_Tm_refine_054684cadbed84c2b97dd28fc908f7fb", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_997bd7d3396b4ff55821a903d7555e61", + "refinement_interpretation_Tm_refine_abf627ef196cb711185afc3a00e7c111", + "refinement_interpretation_Tm_refine_b504444f9194aea9f63af0d517b5900e", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_de1d02ad66483edc481b70db20a6b9af", + "refinement_interpretation_Tm_refine_ffab16ed31ea26d52e4ed3d8c2809cfe", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "refinement_kinding_Tm_refine_997bd7d3396b4ff55821a903d7555e61", + "string_typing", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.empty", "typing_FStar.Set.intersect", + "typing_FStar.Set.mem", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__ctxt", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__frame", + "typing_Pulse.Prover.Common.__proj__Mkpreamble__item__g0", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__pg", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__ss", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Prover.Substs.as_map", + "typing_Pulse.Prover.Substs.dom", + "typing_Pulse.Prover.collect_exists", + "typing_Pulse.Prover.collect_pures", + "typing_Pulse.RuntimeUtils.union_ranges", + "typing_Pulse.Syntax.Base.__proj__Mkbinder__item__binder_ty", + "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", + "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.Env.push_env" + ], + 0, + "71dc4a81d858e3fc3ae0765e2ed544c0" + ], + [ + "Pulse.Prover.prove", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "@fuel_irrelevance_Pulse.Prover.Substs.well_typed_nt_substs.fuel_instrumented", + "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "constructor_distinct_Pulse.Syntax.Base.Tm_Emp", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_Pulse.Prover.Common.Mkpreamble@tok", + "disc_equation_FStar.Pervasives.Native.None", + "equality_tok_Pulse.Syntax.Base.Tm_Emp@tok", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_FStar.Set.subset", + "equation_Prims.nat", "equation_Pulse.Prover.Common.is_terminal", + "equation_Pulse.Prover.Common.op_Array_Access", + "equation_Pulse.Prover.Common.op_Star", + "equation_Pulse.Prover.Common.pst_extends", + "equation_Pulse.Syntax.Base.tm_emp", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Base.with_range", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_with_fuel_Pulse.Syntax.Naming.freevars.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Prover.Common.prover_state", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Prover.Substs.ss_nt_subst", + "lemma_Pulse.Typing.Env.env_extends_refl", + "primitive_Prims.op_AmpAmp", + "proj_equation_Pulse.Prover.Common.Mkpreamble_ctxt", + "proj_equation_Pulse.Prover.Common.Mkpreamble_frame", + "proj_equation_Pulse.Prover.Common.Mkpreamble_g0", + "proj_equation_Pulse.Prover.Common.Mkpreamble_goals", + "proj_equation_Pulse.Prover.Common.Mkprover_state_pg", + "proj_equation_Pulse.Prover.Common.Mkprover_state_ss", + "proj_equation_Pulse.Prover.Common.Mkprover_state_uvs", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.Result.Failed_a", + "projection_inverse_FStar.Tactics.Result.Failed_exn", + "projection_inverse_FStar.Tactics.Result.Failed_ps", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "projection_inverse_Pulse.Prover.Common.Mkpreamble_ctxt", + "projection_inverse_Pulse.Prover.Common.Mkpreamble_frame", + "projection_inverse_Pulse.Prover.Common.Mkpreamble_g0", + "projection_inverse_Pulse.Prover.Common.Mkpreamble_goals", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_pg", + "projection_inverse_Pulse.Prover.Common.Mkprover_state_uvs", + "projection_inverse_Pulse.Syntax.Base.Mkterm_t", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_d75d8936e6500ecc775a054d1682296c", + "refinement_interpretation_Tm_refine_e616b0e8667723102d794f55637bdf94", + "refinement_interpretation_Tm_refine_ee61f9592eda46e48a43b4b811432b4f", + "refinement_interpretation_Tm_refine_ffb53b91ee7afecaaf420155b35aadbf", + "refinement_kinding_Tm_refine_ee61f9592eda46e48a43b4b811432b4f", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Prims.magic", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__pg", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__solved", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__ss", + "typing_Pulse.Prover.Common.__proj__Mkprover_state__item__uvs", + "typing_Pulse.Prover.Common.op_Star", + "typing_Pulse.Prover.Common.vprop_typing", + "typing_Pulse.Syntax.Base.tm_emp", + "typing_Pulse.Syntax.Naming.freevars", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.fstar_env", "unit_typing" ], 0, - "9861cc94117add619a1d68177a910806" + "b9cdbbb3caa937904ddc17fc2f4a0e1e" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Prover.fsti.hints b/lib/steel/pulse/Pulse.Prover.fsti.hints index c30779ed0..cb3125581 100644 --- a/lib/steel/pulse/Pulse.Prover.fsti.hints +++ b/lib/steel/pulse/Pulse.Prover.fsti.hints @@ -1,25 +1 @@ -[ - "\u0017mnİ07*", - [ - [ - "Pulse.Prover.prove_precondition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Pulse.Syntax.Base.C_ST", - "disc_equation_Pulse.Syntax.Base.C_STAtomic", - "disc_equation_Pulse.Syntax.Base.C_STGhost", - "disc_equation_Pulse.Syntax.Base.C_Tot", - "equation_Pulse.Syntax.Base.comp_st", - "equation_Pulse.Syntax.Base.stateful_comp", - "fuel_guarded_inversion_Pulse.Syntax.Base.comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" - ], - 0, - "461fb3079d8ba77ba1d9f0c797945437" - ] - ] -] \ No newline at end of file +[ "l\u0017RzS]G$\u001a", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Readback.fst.hints b/lib/steel/pulse/Pulse.Readback.fst.hints index d38b3f89d..1be47d974 100644 --- a/lib/steel/pulse/Pulse.Readback.fst.hints +++ b/lib/steel/pulse/Pulse.Readback.fst.hints @@ -1,5 +1,5 @@ [ - "/@\u0003d+}\u00158", + "\u0016u\u0016\"͞,<", [ [ "Pulse.Readback.op_let_Question", @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "20ab3aeed5d6df5a30736d05e4b311a8" + "43f3f5f7535236d001d722d5f37ac1f1" ], [ "Pulse.Readback.try_readback_st_comp", @@ -47,7 +47,7 @@ "typing_FStar.Reflection.Types.name" ], 0, - "bd0f03504545e2392d915c3fc170ed30" + "f8eaf2aabb588a4480c32302b28bb21b" ], [ "Pulse.Readback.readback_ty", @@ -55,16 +55,91 @@ 2, 1, [ - "@MaxIFuel_assumption", - "binder_x_8632d594431d6c78cb2dd50457d25394_0", - "equation_Pulse.Readback.collect_app_refined", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_6145c14da50f091ce7134d4d680572e6", - "typing_FStar.Reflection.V2.Derived.collect_app_ln", - "typing_Pulse.Readback.collect_app_refined" + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "@query", "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Let", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_UInst", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", + "constructor_distinct_Pulse.Syntax.Base.Tm_Emp", + "constructor_distinct_Pulse.Syntax.Base.Tm_EmpInames", + "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", + "constructor_distinct_Pulse.Syntax.Base.Tm_Inames", + "constructor_distinct_Pulse.Syntax.Base.Tm_Unknown", + "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equality_tok_Pulse.Syntax.Base.Tm_Emp@tok", + "equality_tok_Pulse.Syntax.Base.Tm_EmpInames@tok", + "equality_tok_Pulse.Syntax.Base.Tm_Inames@tok", + "equality_tok_Pulse.Syntax.Base.Tm_Unknown@tok", + "equality_tok_Pulse.Syntax.Base.Tm_VProp@tok", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.Typing.tun", "equation_Prims.eqtype", + "equation_Pulse.Reflection.Util.emp_inames_tm", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.range_singleton_trigger", + "equation_Pulse.Syntax.Base.with_range", + "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", + "lemma_FStar.Reflection.Typing.pack_inspect", + "lemma_FStar.Reflection.Typing.pack_inspect_fv", + "lemma_Pulse.Syntax.Base.range_singleton", + "primitive_Prims.op_Equality", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_8f5e548ef706786f2660c70892a994cf", + "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", + "typing_FStar.Reflection.Types.name", + "typing_FStar.Reflection.Typing.tun", + "typing_FStar.Reflection.V2.Builtins.inspect_ln", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_Pulse.Reflection.Util.emp_inames_tm", + "typing_Pulse.RuntimeUtils.range_of_term", + "typing_Pulse.RuntimeUtils.set_range", + "typing_Pulse.Syntax.Base.with_range", + "typing_tok_Pulse.Syntax.Base.Tm_Emp@tok", + "typing_tok_Pulse.Syntax.Base.Tm_EmpInames@tok", + "typing_tok_Pulse.Syntax.Base.Tm_Inames@tok", + "typing_tok_Pulse.Syntax.Base.Tm_Unknown@tok", + "typing_tok_Pulse.Syntax.Base.Tm_VProp@tok" ], 0, - "71c0a50514e56a4a56624e1eb8891553" + "fac1a6531cb20004b9fbb9102e9586f7" ], [ "Pulse.Readback.readback_comp", @@ -79,7 +154,7 @@ "refinement_interpretation_Tm_refine_4017a0e357291bf7f7b0fd33e180ad38" ], 0, - "de73fa1355d606fdd6a4d7fad67ff51a" + "23e52274fdca231e04e719984717120a" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Readback.fsti.hints b/lib/steel/pulse/Pulse.Readback.fsti.hints index cbcf38e47..6a55d8816 100644 --- a/lib/steel/pulse/Pulse.Readback.fsti.hints +++ b/lib/steel/pulse/Pulse.Readback.fsti.hints @@ -1 +1 @@ -[ "#\"+ Io�", [] ] \ No newline at end of file +[ "'\rL\"7U儀\"Lpo]", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Reflection.Util.fst.hints b/lib/steel/pulse/Pulse.Reflection.Util.fst.hints index a5e6a6405..ccd5ea768 100644 --- a/lib/steel/pulse/Pulse.Reflection.Util.fst.hints +++ b/lib/steel/pulse/Pulse.Reflection.Util.fst.hints @@ -1,5 +1,5 @@ [ - "\u0016\u000ex>;CʐR\u0004", + "\u0015\u001ait`", [ [ "Pulse.Reflection.Util.mk_stt_ghost_comp_post_equiv", @@ -42,7 +42,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "8686e10f9a0d25234ce6a77f394b39c9" + "042459fba6c0954f5c8d32c367a1ec3e" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.RuntimeUtils.fsti.hints b/lib/steel/pulse/Pulse.RuntimeUtils.fsti.hints index bb98cc1a9..23201c462 100644 --- a/lib/steel/pulse/Pulse.RuntimeUtils.fsti.hints +++ b/lib/steel/pulse/Pulse.RuntimeUtils.fsti.hints @@ -1 +1 @@ -[ "Ȣ\r8q\u001a\u001c\"xu`R", [] ] \ No newline at end of file +[ "gMa\u0010\u000eҋ\u0011x\u000b", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Admit.fst.hints b/lib/steel/pulse/Pulse.Soundness.Admit.fst.hints index c0f01565f..a097cd86d 100644 --- a/lib/steel/pulse/Pulse.Soundness.Admit.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Admit.fst.hints @@ -69,7 +69,7 @@ "typing_Pulse.Syntax.Base.tm_emp_inames" ], 0, - "f9da9bdd6c135f38e7232f92d8804398" + "831478a9835246158682a3924e7390d3" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Bind.fst.hints b/lib/steel/pulse/Pulse.Soundness.Bind.fst.hints index dd6386a1d..bdeb6f5f8 100644 --- a/lib/steel/pulse/Pulse.Soundness.Bind.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Bind.fst.hints @@ -74,7 +74,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Implicit@tok" ], 0, - "c33759f3e4280f40fa0681c1be046ca3" + "e2f7cfdd59cc26f6b89d20213705e71e" ], [ "Pulse.Soundness.Bind.inst_bind_g", @@ -148,7 +148,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "8377286e8971c7f4a4bcd6102d6f955e" + "79ec0f528cbc480df0521a6d5fbab532" ], [ "Pulse.Soundness.Bind.elab_bind_typing", @@ -174,7 +174,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "cc0423811158773642708f9d3ec52a85" + "0fe54c172246821ea05e1e37807ce8b1" ], [ "Pulse.Soundness.Bind.elab_bind_typing", @@ -200,7 +200,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "d74d28f9a591e5da532fd95fca6aa1b4" + "44b57840a5fcf65b9cb0e6d533e3de6a" ], [ "Pulse.Soundness.Bind.elab_bind_typing", @@ -353,7 +353,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "649d13f3ea849c9a4dc2530079098885" + "709a4cd2ac6f2f0ddfa747b2f7fc14b0" ], [ "Pulse.Soundness.Bind.elab_bind_ghost_l_typing", @@ -379,7 +379,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "0a82e0ed3c4b80f5350ea2d83b2d7ab2" + "7d84bb653165e83ab8c6402784732a1a" ], [ "Pulse.Soundness.Bind.elab_bind_ghost_l_typing", @@ -405,7 +405,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "021e3f0dd96c5b8a0379d50d12419539" + "f56b7066ff17a17def1983f4261df945" ], [ "Pulse.Soundness.Bind.elab_bind_ghost_r_typing", @@ -431,7 +431,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "446805a628bb194d2be22c2197480f87" + "25c46f15e743e8587f732a7679b457a1" ], [ "Pulse.Soundness.Bind.elab_bind_ghost_r_typing", @@ -457,7 +457,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "1846ee6d39ae5f670b4b91d5bd64fc10" + "2300e0ec4cf8377ef9705f95e87a3002" ], [ "Pulse.Soundness.Bind.tot_bind_typing", @@ -553,7 +553,7 @@ "typing_Tm_abs_9de830881eb0b7299cb605b2cfe97562" ], 0, - "426c659494b297a501aab13f1a42985a" + "103519dff51a0376041ccd7cbc571ccc" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Bind.fsti.hints b/lib/steel/pulse/Pulse.Soundness.Bind.fsti.hints index 1ce39825e..d80847c11 100644 --- a/lib/steel/pulse/Pulse.Soundness.Bind.fsti.hints +++ b/lib/steel/pulse/Pulse.Soundness.Bind.fsti.hints @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "b0b0c5b315da6c070b3475c2cc58c9b3" + "d7e67e22721402d0d8fcaaacf1ff1892" ], [ "Pulse.Soundness.Bind.elab_bind_ghost_l_typing", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "e03d6f2cdc8e0b0aed4509d51dfa350a" + "b04806e00e01cbb25b4cf4a55ecdb81d" ], [ "Pulse.Soundness.Bind.elab_bind_ghost_r_typing", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "cf481c0eca65b3523732f7aa116923fc" + "09274f6d97629909aa207781a7a72e3f" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Common.fst.hints b/lib/steel/pulse/Pulse.Soundness.Common.fst.hints index f1bde9dd0..e854810dd 100644 --- a/lib/steel/pulse/Pulse.Soundness.Common.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Common.fst.hints @@ -46,7 +46,7 @@ "typing_Tm_abs_9de830881eb0b7299cb605b2cfe97562" ], 0, - "fd7e6c3260b6f845afc811bd928d2954" + "73b7979500e22bcbc76323bc789e5127" ], [ "Pulse.Soundness.Common.elab_term_opt", @@ -58,7 +58,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "b22386123b17c585e9bf34652eb962ab" + "06e49ce5fe7db3e33da09e3497421512" ], [ "Pulse.Soundness.Common.mk_t_abs_tot", @@ -85,7 +85,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "937368cb047078bc16c075a6f0e3a52e" + "c80881078501ef2617596e25c49c4568" ], [ "Pulse.Soundness.Common.mk_t_abs_tot", @@ -257,7 +257,7 @@ "typing_tok_FStar.Tactics.Types.E_Total@tok", "unit_typing" ], 0, - "1c9cf71d6a4b0cf8da4cfea6560abf55" + "bce8b2c7e89df9ae3e2328821edf40b9" ], [ "Pulse.Soundness.Common.mk_t_abs", @@ -284,7 +284,7 @@ "typing_Pulse.Typing.Env.as_map" ], 0, - "d5688b256cfbad9bf4c71b8f81b045a7" + "6d2d5d016c8ac0e2e44810b79f325104" ], [ "Pulse.Soundness.Common.mk_t_abs", @@ -427,7 +427,7 @@ "typing_tok_FStar.Tactics.Types.E_Total@tok" ], 0, - "cd2eff3ae0da6d73e015bb79eb1caa76" + "ccde38140c2f126b9d90ae1e5d91838e" ], [ "Pulse.Soundness.Common.elab_comp_post", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "f112cb2fdb5449e7119dba4b2ee1a9b9" + "c7c5e808d7910cd9ab661f9dad2a2377" ], [ "Pulse.Soundness.Common.inversion_of_stt_typing", @@ -467,7 +467,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "ceb085f6a15c25fd9bd714083569b921" + "e5f6d334178a01d2b34f79608786b0d2" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Comp.fst.hints b/lib/steel/pulse/Pulse.Soundness.Comp.fst.hints index 507ac687f..fc9348b40 100644 --- a/lib/steel/pulse/Pulse.Soundness.Comp.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Comp.fst.hints @@ -29,6 +29,7 @@ "data_elim_FStar.Reflection.Typing.T_FVar", "data_elim_FStar.Reflection.Typing.T_If", "data_elim_FStar.Reflection.Typing.T_Let", + "data_elim_FStar.Reflection.Typing.T_Match", "data_elim_FStar.Reflection.Typing.T_PropIrrelevance", "data_elim_FStar.Reflection.Typing.T_Refine", "data_elim_FStar.Reflection.Typing.T_Sub", @@ -143,7 +144,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "fb7bceb777c76b1f05e62d10d18ecbc4" + "624cb7e21398709374450808ce065323" ], [ "Pulse.Soundness.Comp.comp_typing_soundness", @@ -230,7 +231,7 @@ "typing_Pulse.Typing.Env.fstar_env" ], 0, - "dc387b93dfe298ba06588d325098eeee" + "a3e542a04867bbbbc9cdfe32e637c79a" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Exists.fst.hints b/lib/steel/pulse/Pulse.Soundness.Exists.fst.hints index 75e505fa3..5bdb55fd8 100644 --- a/lib/steel/pulse/Pulse.Soundness.Exists.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Exists.fst.hints @@ -191,7 +191,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "e756ab7373f8dfb5f8c6dc934b09f4da" + "9b414024e655c1b08284ea711f8f1eec" ], [ "Pulse.Soundness.Exists.intro_exists_soundness", @@ -331,7 +331,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "185b6d15120aa0211b6af60cc2df3dac" + "cc9a2e98099f7743fe1ebd91e378b075" ], [ "Pulse.Soundness.Exists.elim_exists_soundness", @@ -579,7 +579,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "1436f99227670751c8ba90768a222b84" + "b3bd4f9c938988599c10f6635cb8f27a" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Frame.fst.hints b/lib/steel/pulse/Pulse.Soundness.Frame.fst.hints index 3ee19526e..d0f6bc75e 100644 --- a/lib/steel/pulse/Pulse.Soundness.Frame.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Frame.fst.hints @@ -156,7 +156,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "02ba5ba60fa5e3a02e36b1fe39402a1f" + "2d13809a103f27fee86919bd3a49bc0e" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Lift.fst.hints b/lib/steel/pulse/Pulse.Soundness.Lift.fst.hints index 8d838f820..e242723bc 100644 --- a/lib/steel/pulse/Pulse.Soundness.Lift.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Lift.fst.hints @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "c1db75ab807776e5b4f1bb46c3e37163" + "1df083daf9eb8b67020b0573edb69446" ], [ "Pulse.Soundness.Lift.elab_lift_stt_ghost_typing", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "14e0e4f98262ca9b4460f3aec79f67dc" + "00193fa361ccdeba0b0e0ae7c21d74f8" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Lift.fsti.hints b/lib/steel/pulse/Pulse.Soundness.Lift.fsti.hints index 5e88e64d3..cf5e1b745 100644 --- a/lib/steel/pulse/Pulse.Soundness.Lift.fsti.hints +++ b/lib/steel/pulse/Pulse.Soundness.Lift.fsti.hints @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "904983375c6a0bfbab9ae881c86d3499" + "5dc08551a6e37f3c3cb5a7a7918567a7" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Match.fst.hints b/lib/steel/pulse/Pulse.Soundness.Match.fst.hints new file mode 100644 index 000000000..11b52b73d --- /dev/null +++ b/lib/steel/pulse/Pulse.Soundness.Match.fst.hints @@ -0,0 +1,56 @@ +[ + "2H\u000fu\u0007\u001e}L", + [ + [ + "Pulse.Soundness.Match.complete_soundness", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "fuel_guarded_inversion_Pulse.Typing.pats_complete", + "projection_inverse_Pulse.Typing.PC_Elab_g", + "projection_inverse_Pulse.Typing.PC_Elab_pats", + "projection_inverse_Pulse.Typing.PC_Elab_sc", + "projection_inverse_Pulse.Typing.PC_Elab_sc_ty" + ], + 0, + "ec6adcc626c8813d00de8f75ba022897" + ], + [ + "Pulse.Soundness.Match.match_soundness", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "@query", "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", + "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", + "data_elim_Pulse.Typing.T_Match", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", + "equation_FStar.Reflection.Typing.tm_type", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.tm_fstar", + "equation_Pulse.Syntax.Base.universe", + "equation_Pulse.Syntax.Pure.tm_type", + "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", + "proj_equation_Pulse.Syntax.Base.Mkterm_range", + "proj_equation_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_Pulse.Syntax.Base.Mkterm_range", + "projection_inverse_Pulse.Syntax.Base.Mkterm_t", + "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_a9e98df61bd2c150c1a741dba4ce0884", + "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", + "typing_FStar.Range.range_0", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_Pulse.RuntimeUtils.set_range", + "typing_Pulse.Syntax.Pure.tm_type" + ], + 0, + "fc864a07103376bbe75b8fdb902a2fd9" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Match.fsti.hints b/lib/steel/pulse/Pulse.Soundness.Match.fsti.hints new file mode 100644 index 000000000..204a9a98f --- /dev/null +++ b/lib/steel/pulse/Pulse.Soundness.Match.fsti.hints @@ -0,0 +1 @@ +[ "9p%ō{ߘ", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Par.fst.hints b/lib/steel/pulse/Pulse.Soundness.Par.fst.hints index 0f33387ee..cd9c917d6 100644 --- a/lib/steel/pulse/Pulse.Soundness.Par.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Par.fst.hints @@ -244,7 +244,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "0df3ba8c856de993e7fb72ac5bc90012" + "d594de096bdeb3401f24b508f5853127" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Return.fst.hints b/lib/steel/pulse/Pulse.Soundness.Return.fst.hints index 83b1a3f2c..ed9daec7b 100644 --- a/lib/steel/pulse/Pulse.Soundness.Return.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Return.fst.hints @@ -18,7 +18,7 @@ "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Ghost_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", @@ -318,7 +318,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "d3f63e9ce2f6ea1dc37f243b45606c8d" + "40ac54e19b4f07d9941c1107629b244b" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.Rewrite.fst.hints b/lib/steel/pulse/Pulse.Soundness.Rewrite.fst.hints index 30fd88002..0374d1bd4 100644 --- a/lib/steel/pulse/Pulse.Soundness.Rewrite.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.Rewrite.fst.hints @@ -83,7 +83,7 @@ "typing_Pulse.Syntax.Base.tm_vprop", "typing_Pulse.Typing.tm_unit" ], 0, - "4b184ffb493fe443505ba9a0f8f8d466" + "b8577f596bec0904ea84775d9ab8b07c" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.STEquiv.fst.hints b/lib/steel/pulse/Pulse.Soundness.STEquiv.fst.hints index d08ec1d9b..e8c9bc534 100644 --- a/lib/steel/pulse/Pulse.Soundness.STEquiv.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.STEquiv.fst.hints @@ -50,7 +50,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "7fbb35027b822b43a845af8050a899c6" + "d3d814bea17c649e2e831d115438ce01" ], [ "Pulse.Soundness.STEquiv.st_equiv_soundness", @@ -264,7 +264,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "380916305a716cc4a0405d2583690f1a" + "93e70b3d2a526ba653ee487742f7ac0e" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.VPropEquiv.fst.hints b/lib/steel/pulse/Pulse.Soundness.VPropEquiv.fst.hints index 7559f190b..d7709d4fc 100644 --- a/lib/steel/pulse/Pulse.Soundness.VPropEquiv.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.VPropEquiv.fst.hints @@ -10,7 +10,7 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "eb3ccc4a506bd46ebb6045f909e3a0d3" + "229c3d668f715c82921400893634914a" ], [ "Pulse.Soundness.VPropEquiv.inst_vprop_equiv_ext_aux", @@ -45,7 +45,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "559133066f34b831ab15795f12e7be21" + "3a4d9a390eef02012d1ea2b89d9873b4" ], [ "Pulse.Soundness.VPropEquiv.inst_vprop_equiv_ext", @@ -71,7 +71,7 @@ "typing_Pulse.Syntax.Base.tm_vprop" ], 0, - "379163f1dfef2634bba80fcf30068e3a" + "d29c3d0c4b12520ffdcf945d7cd881fd" ], [ "Pulse.Soundness.VPropEquiv.vprop_equiv_soundness", @@ -170,7 +170,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "c09b9c1e0fe3eefb90b326c95c71cb70" + "e853ed5cbc880419171fd99803f8af2b" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.While.fst.hints b/lib/steel/pulse/Pulse.Soundness.While.fst.hints index 6d42b67b1..4598d2d0b 100644 --- a/lib/steel/pulse/Pulse.Soundness.While.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.While.fst.hints @@ -152,7 +152,7 @@ "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "fe50d074ea57832203676f9ed1918368" + "6e606c9c1780e0d94c0be88529d75520" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.WithLocal.fst.hints b/lib/steel/pulse/Pulse.Soundness.WithLocal.fst.hints index 123daabea..8118f8e4c 100644 --- a/lib/steel/pulse/Pulse.Soundness.WithLocal.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.WithLocal.fst.hints @@ -1,5 +1,5 @@ [ - "D\n.n!C<\n\u0007", + "zZ\u0005_(b. \t", [ [ "Pulse.Soundness.WithLocal.mk_t_abs", @@ -26,7 +26,7 @@ "typing_Pulse.Typing.Env.as_map" ], 0, - "d50b694a5e0aa459bc28ee47ba360ca9" + "a513b4cf1ed166f6b56115e8ca321670" ], [ "Pulse.Soundness.WithLocal.mk_t_abs", @@ -48,3778 +48,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "bd16f01ad7230c888a81119fb962d7fb" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 1, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5de59646a050baf69465f28675f22eab", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "5bc6a06534289acaea803dd5da917ce3" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 2, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "cdc3aad1e8b54e60bb783053e1cb3b73" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 3, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", - "constructor_distinct_Pulse.Syntax.Base.C_STGhost", - "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "disc_equation_Pulse.Syntax.Base.C_ST", - "disc_equation_Pulse.Typing.CT_ST", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Typing.comp_typing", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_d1a26b884751f3179fcdbb103ffc99ee", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" - ], - 0, - "e7f68d59503ccc8828dbaf42bd4a8ece" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 4, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "b2973272318c118d53ea53cc5f0c0f86" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 5, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "09fe9d3df2be735fb0d9b80317d3ee7e" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 6, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "0589aab91cd6c53d86dfa4c96d91613a" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 7, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" - ], - 0, - "205aa37314680c9177e166a84345e77a" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 8, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", - "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", - "equation_FStar.Reflection.Typing.tm_type", - "equation_FStar.Reflection.Typing.u_zero", - "equation_Pulse.Syntax.Base.tm_fstar", - "equation_Pulse.Syntax.Pure.tm_type", - "equation_Pulse.Syntax.Pure.u0", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "proj_equation_Pulse.Syntax.Base.Mkterm_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_Pulse.Syntax.Base.Mkterm_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", - "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", - "typing_FStar.Range.range_0", - "typing_FStar.Reflection.Typing.tm_type", - "typing_FStar.Reflection.Typing.u_zero", - "typing_Pulse.RuntimeUtils.set_range", - "typing_Pulse.Syntax.Pure.tm_type", "typing_Pulse.Syntax.Pure.u0" - ], - 0, - "5319a718e60da0683d7c9a9b0cc8e8cd" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 9, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Typing.T_WithLocal", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "9d6a329f702df2bca17ae814305666a3" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 10, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Typing.T_WithLocal", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "6c4f661b5e7bb8b1a11a3bfc6c90525b" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 11, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Pulse.Typing.CT_ST", - "data_elim_Pulse.Typing.T_WithLocal", - "equation_Pulse.Soundness.Common.stt_env", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8f56033db8fc241ac36f2bef28601f85" - ], - 0, - "652b2d6f7776a4a9f90020951ab433a7" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 12, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Pulse.Typing.CT_ST", - "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.comp_pre", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Pulse.Syntax.Base.C_ST__0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" - ], - 0, - "5043e1636bad35130b76cebe9e7411de" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 13, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Pulse.Typing.CT_ST", - "data_elim_Pulse.Typing.T_WithLocal", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "b1daf7492de17716215af79d71ff5be9" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 14, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Pulse.Typing.CT_ST", - "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.comp_res", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Pulse.Syntax.Base.C_ST__0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" - ], - 0, - "dfd14e1485fee8bbb1f9716ffd00e81a" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 15, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Pulse.Typing.CT_ST", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d" - ], - 0, - "bc612a400090dd5045affcf29cdf60dd" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 16, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Pulse.Typing.CT_ST", - "data_elim_Pulse.Typing.T_WithLocal", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "97dfa1ff5bbfeb99487f8c57f40ec0c0" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 17, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Pulse.Typing.CT_ST", - "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.comp_post", - "equation_Pulse.Syntax.Base.comp_res", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Pulse.Syntax.Base.C_ST__0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" - ], - 0, - "dd410998214552e92964ad063dc4f460" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 18, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Pulse.Typing.CT_ST", - "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Soundness.Common.post1_type_bind", - "equation_Pulse.Syntax.Base.comp_res", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Pulse.Syntax.Base.C_ST__0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" - ], - 0, - "a4a4b34cf16a06a5d74750f7538e06f2" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 19, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Pulse.Typing.CT_ST", - "data_elim_Pulse.Typing.T_WithLocal", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "bb56b6cd5b48dd29f05523eaba549519" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 20, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Pulse.Typing.T_WithLocal", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Soundness.Common.stt_env", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8f56033db8fc241ac36f2bef28601f85", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" - ], - 0, - "b24a3e4c4ff535ee4a605294151fd286" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 21, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" - ], - 0, - "478377053f7bc75c69e03189dbff48dd" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 22, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" - ], - 0, - "0e657757f05415797a3d00404b29a10a" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 23, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Typing.T_WithLocal", - "equation_Pulse.Soundness.Common.stt_env", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8f56033db8fc241ac36f2bef28601f85", - "refinement_interpretation_Tm_refine_f4ac7f6807515e208c25ffc27b2237ae" - ], - 0, - "6b3f020c38963304d80a0e832ad1e09f" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 24, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "subterm_ordering_Pulse.Typing.T_WithLocal" - ], - 0, - "8fc3ae8e2c74378259cd83a3cb440fd2" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 25, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Typing.T_WithLocal", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "deb1482c71ef0f365a67fea72c7f0555" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 26, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" - ], - 0, - "694bcd94842b9d2c62f47bd54605e2e9" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 27, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" - ], - 0, - "d65c686846fb272ef82b105f091a39d2" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 28, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" - ], - 0, - "51d802f3d37fd5746fc6d138a4ba4b23" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 29, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_45fd5e28f9f812966adf3141d838bbd0" - ], - 0, - "43a6b20bbc7a3032b77c0056fd90edc0" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 30, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Pulse.Typing.T_WithLocal", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Soundness.Common.stt_env", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8f56033db8fc241ac36f2bef28601f85", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" - ], - 0, - "bbea037aec667dc817a28b3e22971eb4" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 31, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Typing.T_WithLocal", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "d2fb63aedf4e18ba17c7ab1f27439568" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 32, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", - "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", - "data_elim_Pulse.Typing.T_WithLocal", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Typing.binder_of_t_q", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.V2.Data.argv", "equation_Prims.eqtype", - "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Reflection.Util.arrow_dom", - "equation_Pulse.Reflection.Util.binder_of_t_q", - "equation_Pulse.Reflection.Util.binder_of_t_q_s", - "equation_Pulse.Reflection.Util.mk_abs_with_name", - "equation_Pulse.Reflection.Util.mk_arrow", - "equation_Pulse.Reflection.Util.mk_arrow_with_name", - "equation_Pulse.Reflection.Util.mk_ref", - "equation_Pulse.Reflection.Util.ref_lid", - "equation_Pulse.Syntax.Base.as_fv", - "equation_Pulse.Syntax.Base.tm_fstar", - "equation_Pulse.Syntax.Naming.open_st_term", - "equation_Pulse.Syntax.Pure.tm_arrow", - "equation_Pulse.Syntax.Pure.tm_fvar", - "equation_Pulse.Syntax.Pure.tm_pureapp", - "equation_Pulse.Typing.as_binder", "equation_Pulse.Typing.mk_ref", - "equation_with_fuel_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.V2.Data.argv", - "function_token_typing_Prims.string", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "kinding_Pulse.Syntax.Base.qualifier@tok", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ppname", - "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ty", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_range", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "proj_equation_Pulse.Syntax.Base.Mkterm_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ty", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_c5bab321ae0743e78b8900c771618196", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", - "string_typing", "typing_FStar.Range.range_0", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Reflection.V2.Derived.mk_app", - "typing_Pulse.Elaborate.Pure.elab_comp", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.mk_arrow_with_name", - "typing_Pulse.Reflection.Util.ref_lid", - "typing_Pulse.RuntimeUtils.set_range", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.as_fv", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Naming.close_comp", - "typing_Pulse.Syntax.Pure.tm_arrow", - "typing_Pulse.Syntax.Pure.tm_fvar", "typing_Pulse.Typing.as_binder", - "typing_Pulse.Typing.comp_withlocal_body", - "typing_Pulse.Typing.mk_ref", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "f33dd7e688e0b0d9d9de39c765eca0aa" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 33, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Typing.T_WithLocal", - "disc_equation_FStar.Pervasives.Native.None", - "equation_Pulse.Syntax.Base.typ", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "6b9181a3edcc911086cc484a045cce3e" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 34, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6665c5b32e418b0a9d56156056363fe8" - ], - 0, - "adddf0a1f146d3cd64d185b67f8477a7" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 35, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Typing.T_WithLocal", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "9a006eb208bb957bd69005403098d950" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 36, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Typing.T_WithLocal", - "equation_Pulse.Syntax.Naming.open_st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1" - ], - 0, - "310dcaeffda418c4599fb2e4ea62271b" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 37, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "584249bf473755c07d8740af8d6c2b07" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 38, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.typ", - "equation_Pulse.Syntax.Base.var", "equation_Pulse.Typing.Env.dom", - "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.FV.vars_of_env", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", - "typing_FStar.Set.mem", "typing_Pulse.Syntax.Naming.freevars_comp", - "typing_Pulse.Typing.Env.as_map" - ], - 0, - "c93746eb60f1d2fa31c26ecb2846c8fd" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 39, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Pulse.Syntax.Naming.close_comp", - "refinement_interpretation_Tm_refine_fb89fb102da566f0f476610991345086" - ], - 0, - "a223b66d1ee7b0ee560156361d1d8b21" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 40, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Pulse.Typing.T_WithLocal", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Pulse.Typing.T_WithLocal", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.FV.vars_of_env", - "equation_with_fuel_Pulse.Syntax.Naming.freevars.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.subset_mem", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Pulse.Typing.T_WithLocal__6", - "projection_inverse_Pulse.Typing.T_WithLocal__7", - "projection_inverse_Pulse.Typing.T_WithLocal__8", - "projection_inverse_Pulse.Typing.T_WithLocal__9", - "projection_inverse_Pulse.Typing.T_WithLocal_body", - "projection_inverse_Pulse.Typing.T_WithLocal_c", - "projection_inverse_Pulse.Typing.T_WithLocal_g", - "projection_inverse_Pulse.Typing.T_WithLocal_init", - "projection_inverse_Pulse.Typing.T_WithLocal_init_t", - "projection_inverse_Pulse.Typing.T_WithLocal_x", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_80708c556c11a5080dc462ac8318bb5e", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", - "typing_FStar.Set.mem", "typing_Pulse.Syntax.Naming.freevars", - "typing_Pulse.Typing.Env.as_map", - "typing_Pulse.Typing.FV.vars_of_env" - ], - 0, - "c7c23997dc44f90fe2639d805751d965" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 41, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Pulse.Syntax.Naming.close_term", - "refinement_interpretation_Tm_refine_dfe8f76b720e874194cbb4083de90412" - ], - 0, - "db756f9a2c5c68c9b5ec594b9f5f0d0f" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 42, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Pulse.Typing.T_WithLocal", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Pulse.Typing.T_WithLocal", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.FV.vars_of_env", - "equation_with_fuel_Pulse.Syntax.Naming.freevars.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.subset_mem", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Pulse.Typing.T_WithLocal__6", - "projection_inverse_Pulse.Typing.T_WithLocal__7", - "projection_inverse_Pulse.Typing.T_WithLocal__8", - "projection_inverse_Pulse.Typing.T_WithLocal__9", - "projection_inverse_Pulse.Typing.T_WithLocal_body", - "projection_inverse_Pulse.Typing.T_WithLocal_c", - "projection_inverse_Pulse.Typing.T_WithLocal_g", - "projection_inverse_Pulse.Typing.T_WithLocal_init", - "projection_inverse_Pulse.Typing.T_WithLocal_init_t", - "projection_inverse_Pulse.Typing.T_WithLocal_x", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_cc01791da964b603399efccbe3c2b7ad", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", - "typing_FStar.Set.mem", "typing_Pulse.Syntax.Naming.freevars", - "typing_Pulse.Typing.Env.as_map", - "typing_Pulse.Typing.FV.vars_of_env" - ], - 0, - "53c82555b4d2dd2c05f07f499c2711db" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 43, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Pulse.Typing.T_WithLocal", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Pulse.Typing.T_WithLocal", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.FV.vars_of_env", - "equation_with_fuel_Pulse.Syntax.Naming.freevars.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.subset_mem", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Pulse.Typing.T_WithLocal__6", - "projection_inverse_Pulse.Typing.T_WithLocal__7", - "projection_inverse_Pulse.Typing.T_WithLocal__8", - "projection_inverse_Pulse.Typing.T_WithLocal__9", - "projection_inverse_Pulse.Typing.T_WithLocal_body", - "projection_inverse_Pulse.Typing.T_WithLocal_c", - "projection_inverse_Pulse.Typing.T_WithLocal_g", - "projection_inverse_Pulse.Typing.T_WithLocal_init", - "projection_inverse_Pulse.Typing.T_WithLocal_init_t", - "projection_inverse_Pulse.Typing.T_WithLocal_x", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_cc01791da964b603399efccbe3c2b7ad", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", - "typing_FStar.Set.mem", "typing_Pulse.Syntax.Naming.freevars", - "typing_Pulse.Typing.Env.as_map", - "typing_Pulse.Typing.FV.vars_of_env" - ], - 0, - "3f6c7f6c21544af21b00d5fef8e3e981" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 44, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Pulse.Typing.T_WithLocal", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Pulse.Typing.T_WithLocal", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.FV.vars_of_env", - "equation_with_fuel_Pulse.Syntax.Naming.freevars.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.subset_mem", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Pulse.Typing.T_WithLocal__6", - "projection_inverse_Pulse.Typing.T_WithLocal__7", - "projection_inverse_Pulse.Typing.T_WithLocal__8", - "projection_inverse_Pulse.Typing.T_WithLocal__9", - "projection_inverse_Pulse.Typing.T_WithLocal_body", - "projection_inverse_Pulse.Typing.T_WithLocal_c", - "projection_inverse_Pulse.Typing.T_WithLocal_g", - "projection_inverse_Pulse.Typing.T_WithLocal_init", - "projection_inverse_Pulse.Typing.T_WithLocal_init_t", - "projection_inverse_Pulse.Typing.T_WithLocal_x", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_cc01791da964b603399efccbe3c2b7ad", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", - "typing_FStar.Set.mem", "typing_Pulse.Syntax.Naming.freevars", - "typing_Pulse.Typing.Env.as_map", - "typing_Pulse.Typing.FV.vars_of_env" - ], - 0, - "94960c7e74c9d4744a82c9639d8cd4f1" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 45, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dfe8f76b720e874194cbb4083de90412" - ], - 0, - "b38c12dfb4dd3dc3dd35c022207edf62" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 46, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_34ed5d4c0518a05eb4cf86583e5930d2" - ], - 0, - "5ee2ba876250f2d3922b11f2cc7f0431" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 47, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5dfbfbc0f1e6722ee938e9e5e4cc673a" - ], - 0, - "53a686b23da3fa910d8ba836e5e0c7f0" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 48, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "cc6d3382111f9b1004595d2dad619e78" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 49, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "0338241c2282bd3b81d54890d2985882" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 50, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_correspondence_Pulse.Syntax.Naming.subst_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_irrelevance_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_Pulse.Syntax.Naming.subst_term.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Pulse.Syntax.Base_pretyping_782a0dad287a00f5de8c110e3ddaeab3", - "Pulse.Syntax.Naming_interpretation_Tm_arrow_22833073b0372c4937c72763a2a36c80", - "Pulse.Syntax.Naming_interpretation_Tm_arrow_c0d5e1c4dd22f0fc7f6b9bbecbfa2056", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Typing.ND", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Pulse.Syntax.Base.C_ST", - "constructor_distinct_Pulse.Syntax.Base.Tm_ExistsSL", - "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", - "constructor_distinct_Pulse.Syntax.Base.Tm_Star", - "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", - "constructor_distinct_Pulse.Syntax.Naming.ND", - "constructor_distinct_Tm_unit", "data_elim_Pulse.Syntax.Base.C_ST", - "data_elim_Pulse.Syntax.Base.Mkterm", - "data_elim_Pulse.Syntax.Base.Tm_FStar", - "data_elim_Pulse.Typing.CT_ST", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "data_typing_intro_Pulse.Syntax.Naming.ND@tok", - "disc_equation_Pulse.Syntax.Base.C_ST", - "disc_equation_Pulse.Syntax.Base.Tm_ExistsSL", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", - "equality_tok_Pulse.Syntax.Base.Implicit@tok", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Range.range", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Typing.make_bv_with_name", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.namedv_uniq", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Reflection.Typing.subst_db", - "equation_FStar.Reflection.Typing.subst_var", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Elaborate.Pure.elab_st_comp", - "equation_Pulse.Reflection.Util.full_perm_lid", - "equation_Pulse.Reflection.Util.mk_exists", - "equation_Pulse.Reflection.Util.mk_star", - "equation_Pulse.Reflection.Util.pts_to_lid", - "equation_Pulse.Soundness.Common.mk_star", - "equation_Pulse.Syntax.Base.as_binder", - "equation_Pulse.Syntax.Base.as_fv", - "equation_Pulse.Syntax.Base.comp_post", - "equation_Pulse.Syntax.Base.comp_pre", - "equation_Pulse.Syntax.Base.comp_res", - "equation_Pulse.Syntax.Base.comp_u", - "equation_Pulse.Syntax.Base.host_term", - "equation_Pulse.Syntax.Base.index", - "equation_Pulse.Syntax.Base.not_tv_unknown", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.range", - "equation_Pulse.Syntax.Base.tm_exists_sl", - "equation_Pulse.Syntax.Base.tm_fstar", - "equation_Pulse.Syntax.Base.tm_star", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.v_as_nv", - "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", - "equation_Pulse.Syntax.Base.with_range", - "equation_Pulse.Syntax.Naming.close_comp", - "equation_Pulse.Syntax.Naming.close_comp_", - "equation_Pulse.Syntax.Naming.close_term_", - "equation_Pulse.Syntax.Naming.rt_subst", - "equation_Pulse.Syntax.Naming.rt_subst_elt", - "equation_Pulse.Syntax.Naming.shift_subst", - "equation_Pulse.Syntax.Naming.shift_subst_elt", - "equation_Pulse.Syntax.Naming.shift_subst_n", - "equation_Pulse.Syntax.Naming.subst", - "equation_Pulse.Syntax.Naming.subst_comp", - "equation_Pulse.Syntax.Naming.subst_st_comp", - "equation_Pulse.Syntax.Pure.null_bvar", - "equation_Pulse.Syntax.Pure.null_var", - "equation_Pulse.Syntax.Pure.term_of_nvar", - "equation_Pulse.Syntax.Pure.tm_bvar", - "equation_Pulse.Syntax.Pure.tm_fvar", - "equation_Pulse.Syntax.Pure.tm_pureapp", - "equation_Pulse.Syntax.Pure.tm_var", "equation_Pulse.Syntax.Pure.u0", - "equation_Pulse.Typing.as_binder", - "equation_Pulse.Typing.comp_withlocal_body", - "equation_Pulse.Typing.comp_withlocal_body_post", - "equation_Pulse.Typing.comp_withlocal_body_pre", - "equation_Pulse.Typing.mk_pts_to", "equation_Pulse.Typing.mk_ref", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "equation_with_fuel_Pulse.Syntax.Naming.subst_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Pulse.Syntax.Base.term", - "fuel_guarded_inversion_Pulse.Syntax.Naming.subst_elt", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.V2.Data.argv", - "function_token_typing_Pulse.Syntax.Naming.rt_subst_elt", - "function_token_typing_Pulse.Syntax.Naming.shift_subst_elt", - "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "kinding_Pulse.Syntax.Base.qualifier@tok", - "kinding_Pulse.Syntax.Naming.subst_elt@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_namedv", - "lemma_Pulse.Soundness.Common.elab_close_commute_", - "lemma_Pulse.Syntax.Base.range_singleton", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_ppname", - "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_sort", - "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", - "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ppname", - "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ty", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_index", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_ppname", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_range", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "proj_equation_Pulse.Syntax.Base.Mkppname_range", - "proj_equation_Pulse.Syntax.Base.Mkst_comp_post", - "proj_equation_Pulse.Syntax.Base.Mkst_comp_pre", - "proj_equation_Pulse.Syntax.Base.Mkst_comp_res", - "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", - "proj_equation_Pulse.Syntax.Base.Mkterm_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Typing.ND__0", - "projection_inverse_FStar.Reflection.Typing.ND__1", - "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_ppname", - "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_sort", - "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Pulse.Syntax.Base.C_ST__0", - "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ty", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_index", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_range", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkppname_range", - "projection_inverse_Pulse.Syntax.Base.Mkst_comp_post", - "projection_inverse_Pulse.Syntax.Base.Mkst_comp_pre", - "projection_inverse_Pulse.Syntax.Base.Mkst_comp_res", - "projection_inverse_Pulse.Syntax.Base.Mkst_comp_u", - "projection_inverse_Pulse.Syntax.Base.Mkterm_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_b", - "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_body", - "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_u", - "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", - "projection_inverse_Pulse.Syntax.Base.Tm_Star_l", - "projection_inverse_Pulse.Syntax.Base.Tm_Star_r", - "projection_inverse_Pulse.Syntax.Naming.ND__0", - "projection_inverse_Pulse.Syntax.Naming.ND__1", - "refinement_interpretation_Tm_refine_040f64bc08757970df107096b815902a", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_23dfcaa69174c552645c49ff9c2a2ea7", - "refinement_interpretation_Tm_refine_34ed5d4c0518a05eb4cf86583e5930d2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5dfbfbc0f1e6722ee938e9e5e4cc673a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_6c632d48cd2899096f812fe077307d5d", - "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", - "refinement_interpretation_Tm_refine_8f130b1dc1079a9afd767d209c61e82e", - "refinement_interpretation_Tm_refine_af9636f903937cdf3c40241a4cdbc88c", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961", - "refinement_interpretation_Tm_refine_d8cf94ba4f97387fe94e65bb2d93d7be", - "refinement_interpretation_Tm_refine_dfe8f76b720e874194cbb4083de90412", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", - "refinement_interpretation_Tm_refine_fb89fb102da566f0f476610991345086", - "token_correspondence_FStar.List.Tot.Base.map", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "token_correspondence_Pulse.Syntax.Naming.rt_subst_elt", - "token_correspondence_Pulse.Syntax.Naming.shift_subst_elt", - "token_correspondence_Pulse.Syntax.Naming.shift_subst_n", - "token_correspondence_Pulse.Syntax.Naming.subst_term.fuel_instrumented", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Range.range_0", - "typing_FStar.Reflection.Typing.find_matching_subst_elt_bv", - "typing_FStar.Reflection.Typing.find_matching_subst_elt_var", - "typing_FStar.Reflection.Typing.make_bv_with_name", - "typing_FStar.Reflection.Typing.make_namedv_with_name", - "typing_FStar.Reflection.Typing.subst_term", - "typing_FStar.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Reflection.V2.Derived.mk_app", - "typing_Pulse.Elaborate.Pure.elab_qual", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.full_perm_lid", - "typing_Pulse.Reflection.Util.mk_abs_with_name_and_range", - "typing_Pulse.Reflection.Util.mk_exists", - "typing_Pulse.Reflection.Util.mk_star", - "typing_Pulse.Reflection.Util.pts_to_lid", - "typing_Pulse.Reflection.Util.ref_lid", - "typing_Pulse.Reflection.Util.star_lid", - "typing_Pulse.RuntimeUtils.set_range", - "typing_Pulse.RuntimeUtils.union_ranges", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__post", - "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__pre", - "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", - "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t", - "typing_Pulse.Syntax.Base.as_binder", - "typing_Pulse.Syntax.Base.as_fv", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Base.tm_exists_sl", - "typing_Pulse.Syntax.Base.v_as_nv", - "typing_Pulse.Syntax.Naming.close_comp", - "typing_Pulse.Syntax.Naming.rt_subst", - "typing_Pulse.Syntax.Naming.shift_subst", - "typing_Pulse.Syntax.Pure.null_bvar", - "typing_Pulse.Syntax.Pure.null_var", - "typing_Pulse.Syntax.Pure.term_of_nvar", - "typing_Pulse.Syntax.Pure.tm_fvar", - "typing_Pulse.Syntax.Pure.tm_pureapp", "typing_Pulse.Syntax.Pure.u0", - "typing_Pulse.Typing.as_binder", - "typing_Pulse.Typing.comp_withlocal_body", - "typing_Pulse.Typing.comp_withlocal_body_post", - "typing_Pulse.Typing.comp_withlocal_body_pre", - "typing_Pulse.Typing.mk_pts_to", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_Pulse.Syntax.Base.Implicit@tok" - ], - 0, - "fdb2e1fef0b4b7a9f445e6aa4f706e61" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 51, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", - "constructor_distinct_Pulse.Syntax.Base.Tm_Star", - "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_Pulse.Syntax.Base.Implicit@tok", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Typing.bound_var", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.make_bv_with_name", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.V2.Data.argv", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Reflection.Util.full_perm_lid", - "equation_Pulse.Reflection.Util.full_perm_tm", - "equation_Pulse.Reflection.Util.mk_pts_to", - "equation_Pulse.Reflection.Util.mk_star", - "equation_Pulse.Reflection.Util.pts_to_lid", - "equation_Pulse.Soundness.Common.mk_star", - "equation_Pulse.Syntax.Base.as_fv", - "equation_Pulse.Syntax.Base.comp_pre", - "equation_Pulse.Syntax.Base.index", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.range", - "equation_Pulse.Syntax.Base.tm_fstar", - "equation_Pulse.Syntax.Base.tm_star", - "equation_Pulse.Syntax.Base.vprop", - "equation_Pulse.Syntax.Pure.null_bvar", - "equation_Pulse.Syntax.Pure.null_var", - "equation_Pulse.Syntax.Pure.tm_bvar", - "equation_Pulse.Syntax.Pure.tm_fvar", - "equation_Pulse.Syntax.Pure.tm_pureapp", - "equation_Pulse.Syntax.Pure.u0", "equation_Pulse.Typing.mk_pts_to", - "equation_Pulse.Typing.mk_ref", - "equation_with_fuel_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.V2.Data.argv", - "function_token_typing_Prims.string", "int_typing", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "kinding_Pulse.Syntax.Base.qualifier@tok", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "lemma_Pulse.Syntax.Base.range_singleton", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_index", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_ppname", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_range", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "proj_equation_Pulse.Syntax.Base.Mkppname_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_index", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_range", - "projection_inverse_Pulse.Syntax.Base.Mkppname_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", - "projection_inverse_Pulse.Syntax.Base.Tm_Star_l", - "projection_inverse_Pulse.Syntax.Base.Tm_Star_r", - "refinement_interpretation_Tm_refine_3324e7723eeda73b579e2561092a1c59", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", - "refinement_interpretation_Tm_refine_8f130b1dc1079a9afd767d209c61e82e", - "refinement_interpretation_Tm_refine_af9636f903937cdf3c40241a4cdbc88c", - "refinement_interpretation_Tm_refine_d8cf94ba4f97387fe94e65bb2d93d7be", - "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", - "string_typing", - "token_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "typing_FStar.Range.range_0", - "typing_FStar.Reflection.Typing.bound_var", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Reflection.V2.Derived.mk_app", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.full_perm_lid", - "typing_Pulse.Reflection.Util.full_perm_tm", - "typing_Pulse.Reflection.Util.mk_pts_to", - "typing_Pulse.Reflection.Util.mk_star", - "typing_Pulse.Reflection.Util.pts_to_lid", - "typing_Pulse.Reflection.Util.star_lid", - "typing_Pulse.RuntimeUtils.set_range", - "typing_Pulse.RuntimeUtils.union_ranges", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", - "typing_Pulse.Syntax.Base.as_fv", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Pure.null_bvar", - "typing_Pulse.Syntax.Pure.tm_fvar", - "typing_Pulse.Syntax.Pure.tm_pureapp", - "typing_Pulse.Typing.mk_pts_to", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_Pulse.Syntax.Base.Implicit@tok" - ], - 0, - "aa3aaebc4c966a018a2de56b45acd5d3" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 52, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_58ad2e609f990e93306286fe026bd4f2" - ], - 0, - "8688c4550a1c8130830eaa7a88538faa" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 53, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_irrelevance_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Pulse.Syntax.Naming_interpretation_Tm_arrow_22833073b0372c4937c72763a2a36c80", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "constructor_distinct_Pulse.Syntax.Base.Tm_ExistsSL", - "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", - "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", - "constructor_distinct_Pulse.Syntax.Naming.ND", - "data_elim_FStar.Reflection.Typing.T_Abs", - "data_elim_Pulse.Typing.T_WithLocal", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "data_typing_intro_FStar.Reflection.Typing.ND@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "data_typing_intro_Pulse.Syntax.Naming.ND@tok", - "disc_equation_Pulse.Syntax.Base.Tm_ExistsSL", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Tactics.Types.E_Total@tok", - "equality_tok_Pulse.Syntax.Base.Implicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.coerce_eq", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Typing.binder_of_t_q", - "equation_FStar.Reflection.Typing.bound_var", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.make_bv_with_name", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Reflection.Typing.var_as_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Reflection.Util.binder_of_t_q_s", - "equation_Pulse.Reflection.Util.full_perm_lid", - "equation_Pulse.Reflection.Util.full_perm_tm", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Reflection.Util.mk_abs_with_name_and_range", - "equation_Pulse.Reflection.Util.mk_exists", - "equation_Pulse.Reflection.Util.mk_pts_to", - "equation_Pulse.Reflection.Util.mk_star", - "equation_Pulse.Reflection.Util.pts_to_lid", - "equation_Pulse.Soundness.Common.mk_t_abs", - "equation_Pulse.Soundness.WithLocal.mk_t_abs", - "equation_Pulse.Steel.Wrapper.Typing.with_local_bodypost_body", - "equation_Pulse.Syntax.Base.as_fv", - "equation_Pulse.Syntax.Base.comp_pre", - "equation_Pulse.Syntax.Base.index", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.range", - "equation_Pulse.Syntax.Base.tm_exists_sl", - "equation_Pulse.Syntax.Base.tm_fstar", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", - "equation_Pulse.Syntax.Naming.open_st_term", - "equation_Pulse.Syntax.Naming.rt_subst", - "equation_Pulse.Syntax.Naming.rt_subst_elt", - "equation_Pulse.Syntax.Naming.subst", - "equation_Pulse.Syntax.Pure.null_bvar", - "equation_Pulse.Syntax.Pure.tm_bvar", - "equation_Pulse.Syntax.Pure.tm_fvar", - "equation_Pulse.Syntax.Pure.tm_pureapp", - "equation_Pulse.Syntax.Pure.tm_type", - "equation_Pulse.Syntax.Pure.u0", "equation_Pulse.Syntax.Pure.u_zero", - "equation_Pulse.Typing.as_binder", - "equation_Pulse.Typing.comp_withlocal_body", - "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.mk_pts_to", - "equation_Pulse.Typing.mk_ref", "equation_Pulse.Typing.typing", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.V2.Data.argv", - "function_token_typing_Prims.string", - "function_token_typing_Pulse.Syntax.Naming.rt_subst_elt", - "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "kinding_Pulse.Syntax.Base.qualifier@tok", - "kinding_Pulse.Syntax.Naming.subst_elt@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "lemma_Pulse.Syntax.Base.range_singleton", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ppname", - "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ty", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_index", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_ppname", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_range", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "proj_equation_Pulse.Syntax.Base.Mkppname_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Pulse.Syntax.Base.C_Tot__0", - "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ty", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_index", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_range", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkppname_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_b", - "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_body", - "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_u", - "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", - "projection_inverse_Pulse.Syntax.Naming.ND__0", - "projection_inverse_Pulse.Syntax.Naming.ND__1", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_35afaf1844b97c6de93b2343e03f7df8", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_3edef145014cc88e1dece5bec206a157", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_44fa926d2508e34ad2fc460ac05a36d0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58ad2e609f990e93306286fe026bd4f2", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", - "refinement_interpretation_Tm_refine_c5bab321ae0743e78b8900c771618196", - "refinement_interpretation_Tm_refine_ccc981f509c8fc58c1361c205467ade0", - "refinement_interpretation_Tm_refine_d8cf94ba4f97387fe94e65bb2d93d7be", - "refinement_interpretation_Tm_refine_db84e717d541e2243900012b9b0c5b30", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", - "refinement_interpretation_Tm_refine_fc7c5a35aa1f626fc9d5cfc3b9413cd8", - "string_typing", - "token_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "token_correspondence_Pulse.Syntax.Naming.rt_subst_elt", - "typing_FStar.Range.range_0", - "typing_FStar.Reflection.Typing.bound_var", - "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Reflection.V2.Derived.mk_app", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.binder_of_t_q_s", - "typing_Pulse.Reflection.Util.full_perm_lid", - "typing_Pulse.Reflection.Util.full_perm_tm", - "typing_Pulse.Reflection.Util.mk_abs", - "typing_Pulse.Reflection.Util.mk_abs_with_name_and_range", - "typing_Pulse.Reflection.Util.mk_exists", - "typing_Pulse.Reflection.Util.mk_pts_to", - "typing_Pulse.Reflection.Util.mk_star", - "typing_Pulse.Reflection.Util.pts_to_lid", - "typing_Pulse.Reflection.Util.ref_lid", - "typing_Pulse.Reflection.Util.star_lid", - "typing_Pulse.RuntimeUtils.binder_set_range", - "typing_Pulse.RuntimeUtils.set_range", - "typing_Pulse.RuntimeUtils.union_ranges", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", - "typing_Pulse.Syntax.Base.as_fv", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Base.tm_exists_sl", - "typing_Pulse.Syntax.Naming.rt_subst", - "typing_Pulse.Syntax.Pure.null_bvar", - "typing_Pulse.Syntax.Pure.tm_fvar", - "typing_Pulse.Syntax.Pure.tm_pureapp", "typing_Pulse.Syntax.Pure.u0", - "typing_Pulse.Typing.as_binder", "typing_Pulse.Typing.mk_pts_to", - "typing_Pulse.Typing.mk_ref", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_Pulse.Syntax.Base.Implicit@tok" - ], - 0, - "14b6d44e8a0ec5f51c32fa1475ad4f16" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 54, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "21157c6fdc5e09340f7cbec774eff6a6" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 55, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_320ab5030c8235a284fd18a7fe00e634" - ], - 0, - "859a0127a9ceaa9809451ab53c341be2" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 56, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "bc88101cd7909a72222c66817208f929" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 57, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "798f5dde8bec4e21b3ccd6f1c195c68e" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 58, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@query", "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Typing.ln", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_with_fuel_FStar.Reflection.Typing.ln_.fuel_instrumented", - "int_typing", "lemma_FStar.Reflection.Typing.inspect_pack", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", - "refinement_interpretation_Tm_refine_040f64bc08757970df107096b815902a", - "refinement_interpretation_Tm_refine_35afaf1844b97c6de93b2343e03f7df8", - "refinement_interpretation_Tm_refine_5a596bd456ef8a1fd0eabe2d5b7f6e1f", - "refinement_interpretation_Tm_refine_d5f1082fd4cab18ade69874c0c685523", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961", - "typing_FStar.Reflection.Typing.binder_of_t_q", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Syntax.Base.comp_res", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "f4dd4d453db39d363f876370d5d2ab73" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 59, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "4b17fa5e2939275149d60a815fc84a4a" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 60, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "67c97f8d44ed49f6c041edc12f29e740" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 61, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "67c97f8d44ed49f6c041edc12f29e740" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 62, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "827aa599adbe350a7b09918fbb13c823" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 63, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "fbae300f158de3ed0cef2dd068f655ea" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 64, - 10, - 1, - [ "@query", "b2t_def" ], - 0, - "dd4c253786a8fbf0ec05415b127ec521" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 65, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.Typing.ln", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.lookup", - "equation_with_fuel_FStar.Reflection.Typing.ln_.fuel_instrumented", - "int_typing", "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", - "refinement_interpretation_Tm_refine_3d2d704c483a33bfa9aae7908602b81e", - "refinement_interpretation_Tm_refine_699a22a40a0350fda45a07f5f35c7d1e", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "typing_FStar.Map.contains", "typing_FStar.Reflection.Typing.ln", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Reflection.V2.Data.var", - "typing_Pulse.Typing.Env.as_map" - ], - 0, - "9d722b23ea48b00233a83830d1d7c694" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 66, - 10, - 1, - [ - "@query", "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.open_with_var_elt", - "equation_FStar.Reflection.Typing.var_as_term" - ], - 0, - "ec14cb476199f804bfd524776cd08bd2" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 67, - 10, - 1, - [ - "@query", "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_Pulse.Reflection.Util.mk_abs" - ], - 0, - "fb57ba75bd691683e9e7c68938231724" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 68, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", "b2t_def", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.open_with_var_elt", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Syntax.Base.var", "int_typing", - "lemma_FStar.Reflection.Typing.open_with_gt_ln", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_040f64bc08757970df107096b815902a", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_3143e438d25edf096f0ea197e1570be2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a596bd456ef8a1fd0eabe2d5b7f6e1f", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Reflection.V2.Builtins.pack_ln" - ], - 0, - "566fc27077f4ec612c4951a188f98d29" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 69, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Reflection.Types_pretyping_8632d594431d6c78cb2dd50457d25394", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "Pulse.Syntax.Naming_interpretation_Tm_arrow_22833073b0372c4937c72763a2a36c80", - "Pulse.Syntax.Naming_interpretation_Tm_arrow_c0d5e1c4dd22f0fc7f6b9bbecbfa2056", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Types.term", - "constructor_distinct_FStar.Reflection.Typing.DT", - "constructor_distinct_FStar.Reflection.Typing.ND", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.unit", - "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", - "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", - "constructor_distinct_Pulse.Syntax.Naming.ND", - "data_elim_FStar.Reflection.Typing.T_Abs", - "data_elim_FStar.Reflection.V2.Data.Mknamedv_view", - "data_elim_Prims.Cons", "data_elim_Pulse.Syntax.Base.Tm_FStar", - "data_elim_Pulse.Typing.T_WithLocal", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "data_typing_intro_FStar.Reflection.Typing.ND@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Mkbinding@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Mknamedv_view@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "data_typing_intro_Pulse.Syntax.Naming.ND@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", - "equality_tok_FStar.Tactics.Types.E_Total@tok", - "equality_tok_Pulse.Syntax.Base.Implicit@tok", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.coerce_eq", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.binder_of_t_q", - "equation_FStar.Reflection.Typing.bound_var", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.make_bv_with_name", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.maybe_uniq_of_term", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.namedv_uniq", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.open_with_var_elt", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.seal_pp_name", - "equation_FStar.Reflection.Typing.shift_subst", - "equation_FStar.Reflection.Typing.shift_subst_elt", - "equation_FStar.Reflection.Typing.shift_subst_n", - "equation_FStar.Reflection.Typing.sort_default", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Reflection.Typing.subst_db", - "equation_FStar.Reflection.Typing.subst_var", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Reflection.Typing.tun", - "equation_FStar.Reflection.Typing.var_as_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.ppname_t", - "equation_FStar.Reflection.V2.Data.var", - "equation_FStar.Sealed.Inhabited.seal", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Reflection.Util.full_perm_lid", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Soundness.Common.mk_t_abs", - "equation_Pulse.Soundness.Common.stt_env", - "equation_Pulse.Soundness.WithLocal.mk_t_abs", - "equation_Pulse.Syntax.Base.as_fv", - "equation_Pulse.Syntax.Base.host_term", - "equation_Pulse.Syntax.Base.index", - "equation_Pulse.Syntax.Base.not_tv_unknown", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.tm_fstar", - "equation_Pulse.Syntax.Base.typ", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.v_as_nv", - "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Syntax.Naming.open_st_term", - "equation_Pulse.Syntax.Naming.rt_subst", - "equation_Pulse.Syntax.Naming.rt_subst_elt", - "equation_Pulse.Syntax.Naming.shift_subst", - "equation_Pulse.Syntax.Naming.shift_subst_elt", - "equation_Pulse.Syntax.Naming.shift_subst_n", - "equation_Pulse.Syntax.Naming.subst", - "equation_Pulse.Syntax.Pure.null_bvar", - "equation_Pulse.Syntax.Pure.null_var", - "equation_Pulse.Syntax.Pure.term_of_nvar", - "equation_Pulse.Syntax.Pure.tm_bvar", - "equation_Pulse.Syntax.Pure.tm_fvar", - "equation_Pulse.Syntax.Pure.tm_pureapp", - "equation_Pulse.Syntax.Pure.tm_type", - "equation_Pulse.Syntax.Pure.tm_var", "equation_Pulse.Syntax.Pure.u0", - "equation_Pulse.Syntax.Pure.u_zero", "equation_Pulse.Typing.Env.dom", - "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.comp_withlocal_body", - "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.mk_ref", - "equation_Pulse.Typing.typing", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "function_token_typing_FStar.Reflection.V2.Data.argv", - "function_token_typing_Prims.string", - "function_token_typing_Pulse.Syntax.Naming.rt_subst_elt", - "function_token_typing_Pulse.Syntax.Naming.shift_subst_elt", - "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "kinding_Pulse.Syntax.Base.qualifier@tok", - "kinding_Pulse.Syntax.Base.term@tok", - "kinding_Pulse.Syntax.Naming.subst_elt@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", - "lemma_FStar.Reflection.Typing.inspect_pack_namedv", - "lemma_FStar.Reflection.Typing.open_with_gt_ln", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "lemma_Pulse.Typing.Env.push_binding_as_map", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Reflection.V2.Data.Mkbinding_ppname", - "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_ppname", - "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_sort", - "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_ppname", - "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_sort", - "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_index", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_ppname", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "proj_equation_Pulse.Syntax.Base.Mkppname_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Typing.DT__0", - "projection_inverse_FStar.Reflection.Typing.DT__1", - "projection_inverse_FStar.Reflection.Typing.ND__0", - "projection_inverse_FStar.Reflection.Typing.ND__1", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinding_ppname", - "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_ppname", - "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_sort", - "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_ppname", - "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_sort", - "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Pulse.Syntax.Base.C_Tot__0", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_index", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkppname_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", - "projection_inverse_Pulse.Syntax.Naming.ND__0", - "projection_inverse_Pulse.Syntax.Naming.ND__1", - "refinement_interpretation_Tm_refine_040f64bc08757970df107096b815902a", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_11f9790720376bd86bc3c4bebaae0a2a", - "refinement_interpretation_Tm_refine_17e2753dc6d784d4343aaeec6a3ea883", - "refinement_interpretation_Tm_refine_23dfcaa69174c552645c49ff9c2a2ea7", - "refinement_interpretation_Tm_refine_3143e438d25edf096f0ea197e1570be2", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_3d2d704c483a33bfa9aae7908602b81e", - "refinement_interpretation_Tm_refine_3edef145014cc88e1dece5bec206a157", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5595d5c3779a48458bb170e66e894a3a", - "refinement_interpretation_Tm_refine_58ad2e609f990e93306286fe026bd4f2", - "refinement_interpretation_Tm_refine_5a596bd456ef8a1fd0eabe2d5b7f6e1f", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_699a22a40a0350fda45a07f5f35c7d1e", - "refinement_interpretation_Tm_refine_7659b95b4c2a1fd2673076e43c583896", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8f56033db8fc241ac36f2bef28601f85", - "refinement_interpretation_Tm_refine_bde90bd8ddfd21594845b509d8823a05", - "refinement_interpretation_Tm_refine_c5bab321ae0743e78b8900c771618196", - "refinement_interpretation_Tm_refine_ccc981f509c8fc58c1361c205467ade0", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961", - "refinement_interpretation_Tm_refine_db84e717d541e2243900012b9b0c5b30", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", - "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", - "refinement_interpretation_Tm_refine_fc7c5a35aa1f626fc9d5cfc3b9413cd8", - "string_typing", "token_correspondence_FStar.List.Tot.Base.map", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", - "token_correspondence_FStar.Reflection.Typing.shift_subst_n", - "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "token_correspondence_Pulse.Syntax.Naming.rt_subst_elt", - "token_correspondence_Pulse.Syntax.Naming.shift_subst_elt", - "token_correspondence_Pulse.Syntax.Naming.shift_subst_n", - "typing_FStar.Map.contains", "typing_FStar.Map.upd", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Range.range_0", - "typing_FStar.Reflection.Typing.binder_of_t_q", - "typing_FStar.Reflection.Typing.bound_var", - "typing_FStar.Reflection.Typing.find_matching_subst_elt_bv", - "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.make_namedv_with_name", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.shift_subst", - "typing_FStar.Reflection.Typing.subst_term", - "typing_FStar.Reflection.Typing.tun", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinding__item__ppname", - "typing_FStar.Reflection.V2.Data.var", - "typing_FStar.Reflection.V2.Derived.mk_app", - "typing_FStar.Sealed.seal", "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.full_perm_lid", - "typing_Pulse.Reflection.Util.mk_ref", - "typing_Pulse.Reflection.Util.pts_to_lid", - "typing_Pulse.Reflection.Util.star_lid", - "typing_Pulse.RuntimeUtils.set_range", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t", - "typing_Pulse.Syntax.Base.as_fv", - "typing_Pulse.Syntax.Base.comp_res", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Base.v_as_nv", - "typing_Pulse.Syntax.Naming.rt_subst", - "typing_Pulse.Syntax.Naming.shift_subst", - "typing_Pulse.Syntax.Pure.null_bvar", - "typing_Pulse.Syntax.Pure.null_var", - "typing_Pulse.Syntax.Pure.term_of_nvar", - "typing_Pulse.Syntax.Pure.tm_fvar", - "typing_Pulse.Syntax.Pure.tm_pureapp", "typing_Pulse.Syntax.Pure.u0", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.mk_ref", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_Pulse.Syntax.Base.Implicit@tok", "unit_typing" - ], - 0, - "15c2a4c1588a0d07fbb5d2ec6c1dc3c7" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 70, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c5d72661fa7081fff4308b59350cddb" - ], - 0, - "6ab2b0dac8e12b2a7e623bd7acf50138" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 71, - 10, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c5d72661fa7081fff4308b59350cddb" - ], - 0, - "b9da607e86d6a07ff0d80016ffc9b064" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 72, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_binder.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "@fuel_irrelevance_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "Pulse.Syntax.Naming_interpretation_Tm_arrow_22833073b0372c4937c72763a2a36c80", - "Pulse.Syntax.Naming_interpretation_Tm_arrow_c0d5e1c4dd22f0fc7f6b9bbecbfa2056", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_FStar.Reflection.Typing.ND", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_UInst", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.unit", - "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "constructor_distinct_Pulse.Syntax.Base.Tm_ExistsSL", - "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", - "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", - "constructor_distinct_Pulse.Syntax.Naming.ND", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Reflection.Typing.T_Abs", - "data_elim_FStar.Reflection.V2.Data.Mknamedv_view", - "data_elim_Prims.Cons", "data_elim_Pulse.Syntax.Base.Tm_FStar", - "data_elim_Pulse.Typing.T_WithLocal", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "data_typing_intro_FStar.Reflection.Typing.ND@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Mkbinding@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_UInst@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "data_typing_intro_Pulse.Syntax.Naming.ND@tok", - "disc_equation_Pulse.Syntax.Base.Tm_ExistsSL", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", - "equality_tok_FStar.Tactics.Types.E_Total@tok", - "equality_tok_Pulse.Syntax.Base.Implicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.coerce_eq", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.binder_of_t_q", - "equation_FStar.Reflection.Typing.bound_var", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.make_bv_with_name", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.seal_pp_name", - "equation_FStar.Reflection.Typing.shift_subst", - "equation_FStar.Reflection.Typing.shift_subst_elt", - "equation_FStar.Reflection.Typing.shift_subst_n", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Reflection.Typing.subst_db", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Reflection.Typing.var_as_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.ppname_t", - "equation_FStar.Reflection.V2.Data.universes", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Reflection.Util.binder_of_t_q_s", - "equation_Pulse.Reflection.Util.full_perm_lid", - "equation_Pulse.Reflection.Util.full_perm_tm", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Reflection.Util.mk_abs_with_name_and_range", - "equation_Pulse.Reflection.Util.mk_exists", - "equation_Pulse.Reflection.Util.mk_pts_to", - "equation_Pulse.Reflection.Util.pts_to_lid", - "equation_Pulse.Soundness.Common.mk_t_abs", - "equation_Pulse.Soundness.WithLocal.mk_t_abs", - "equation_Pulse.Syntax.Base.as_fv", - "equation_Pulse.Syntax.Base.comp_pre", - "equation_Pulse.Syntax.Base.host_term", - "equation_Pulse.Syntax.Base.index", - "equation_Pulse.Syntax.Base.not_tv_unknown", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.range", - "equation_Pulse.Syntax.Base.tm_exists_sl", - "equation_Pulse.Syntax.Base.tm_fstar", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", - "equation_Pulse.Syntax.Naming.open_st_term", - "equation_Pulse.Syntax.Naming.rt_subst", - "equation_Pulse.Syntax.Naming.rt_subst_elt", - "equation_Pulse.Syntax.Naming.shift_subst", - "equation_Pulse.Syntax.Naming.shift_subst_elt", - "equation_Pulse.Syntax.Naming.shift_subst_n", - "equation_Pulse.Syntax.Naming.subst", - "equation_Pulse.Syntax.Pure.null_bvar", - "equation_Pulse.Syntax.Pure.null_var", - "equation_Pulse.Syntax.Pure.tm_bvar", - "equation_Pulse.Syntax.Pure.tm_fvar", - "equation_Pulse.Syntax.Pure.tm_pureapp", - "equation_Pulse.Syntax.Pure.tm_type", - "equation_Pulse.Syntax.Pure.u0", "equation_Pulse.Syntax.Pure.u_zero", - "equation_Pulse.Typing.as_binder", - "equation_Pulse.Typing.comp_withlocal_body", - "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.mk_pts_to", - "equation_Pulse.Typing.mk_ref", "equation_Pulse.Typing.typing", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.Types.universe", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "function_token_typing_FStar.Reflection.V2.Data.argv", - "function_token_typing_Prims.string", - "function_token_typing_Pulse.Syntax.Naming.rt_subst_elt", - "function_token_typing_Pulse.Syntax.Naming.shift_subst_elt", - "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "kinding_Pulse.Syntax.Base.qualifier@tok", - "kinding_Pulse.Syntax.Naming.subst_elt@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "lemma_Pulse.Syntax.Base.range_singleton", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Reflection.V2.Data.Mkbinding_ppname", - "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ppname", - "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ty", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_index", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_ppname", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_range", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "proj_equation_Pulse.Syntax.Base.Mkppname_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_range", - "proj_equation_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Typing.ND__0", - "projection_inverse_FStar.Reflection.Typing.ND__1", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinding_ppname", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Pulse.Syntax.Base.C_Tot__0", - "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ty", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_index", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_range", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkppname_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_range", - "projection_inverse_Pulse.Syntax.Base.Mkterm_t", - "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_b", - "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_body", - "projection_inverse_Pulse.Syntax.Base.Tm_ExistsSL_u", - "projection_inverse_Pulse.Syntax.Base.Tm_FStar__0", - "projection_inverse_Pulse.Syntax.Naming.ND__0", - "projection_inverse_Pulse.Syntax.Naming.ND__1", - "refinement_interpretation_Tm_refine_040f64bc08757970df107096b815902a", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_11f9790720376bd86bc3c4bebaae0a2a", - "refinement_interpretation_Tm_refine_23dfcaa69174c552645c49ff9c2a2ea7", - "refinement_interpretation_Tm_refine_3143e438d25edf096f0ea197e1570be2", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_3d2d704c483a33bfa9aae7908602b81e", - "refinement_interpretation_Tm_refine_3edef145014cc88e1dece5bec206a157", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_44417bc488bb5936ebc1c9604489551c", - "refinement_interpretation_Tm_refine_44fa926d2508e34ad2fc460ac05a36d0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58ad2e609f990e93306286fe026bd4f2", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_699a22a40a0350fda45a07f5f35c7d1e", - "refinement_interpretation_Tm_refine_7659b95b4c2a1fd2673076e43c583896", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", - "refinement_interpretation_Tm_refine_c5bab321ae0743e78b8900c771618196", - "refinement_interpretation_Tm_refine_ccc981f509c8fc58c1361c205467ade0", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961", - "refinement_interpretation_Tm_refine_d8cf94ba4f97387fe94e65bb2d93d7be", - "refinement_interpretation_Tm_refine_db84e717d541e2243900012b9b0c5b30", - "refinement_interpretation_Tm_refine_e86a6eae5587915d78c61c0c259ed175", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "refinement_interpretation_Tm_refine_f39ae41739caa6a3420811af45940127", - "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", - "refinement_interpretation_Tm_refine_fc7c5a35aa1f626fc9d5cfc3b9413cd8", - "string_typing", "token_correspondence_FStar.List.Tot.Base.map", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", - "token_correspondence_FStar.Reflection.Typing.shift_subst_n", - "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "token_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "token_correspondence_Pulse.Syntax.Naming.rt_subst_elt", - "token_correspondence_Pulse.Syntax.Naming.shift_subst_elt", - "token_correspondence_Pulse.Syntax.Naming.shift_subst_n", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Range.range_0", - "typing_FStar.Reflection.Typing.binder_of_t_q", - "typing_FStar.Reflection.Typing.bound_var", - "typing_FStar.Reflection.Typing.find_matching_subst_elt_bv", - "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.make_namedv_with_name", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.seal_pp_name", - "typing_FStar.Reflection.Typing.shift_subst", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinding__item__ppname", - "typing_FStar.Reflection.V2.Derived.mk_app", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.exists_lid", - "typing_Pulse.Reflection.Util.full_perm_lid", - "typing_Pulse.Reflection.Util.full_perm_tm", - "typing_Pulse.Reflection.Util.mk_abs", - "typing_Pulse.Reflection.Util.mk_abs_with_name_and_range", - "typing_Pulse.Reflection.Util.mk_exists", - "typing_Pulse.Reflection.Util.mk_pts_to", - "typing_Pulse.Reflection.Util.mk_ref", - "typing_Pulse.Reflection.Util.pts_to_lid", - "typing_Pulse.Reflection.Util.star_lid", - "typing_Pulse.RuntimeUtils.binder_set_range", - "typing_Pulse.RuntimeUtils.set_range", - "typing_Pulse.RuntimeUtils.union_ranges", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.__proj__Mkterm__item__range", - "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t", - "typing_Pulse.Syntax.Base.as_fv", - "typing_Pulse.Syntax.Base.comp_res", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Base.tm_exists_sl", - "typing_Pulse.Syntax.Naming.rt_subst", - "typing_Pulse.Syntax.Naming.shift_subst", - "typing_Pulse.Syntax.Pure.null_bvar", - "typing_Pulse.Syntax.Pure.null_var", - "typing_Pulse.Syntax.Pure.tm_fvar", - "typing_Pulse.Syntax.Pure.tm_pureapp", "typing_Pulse.Syntax.Pure.u0", - "typing_Pulse.Typing.as_binder", "typing_Pulse.Typing.mk_pts_to", - "typing_Pulse.Typing.mk_ref", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_Pulse.Syntax.Base.Implicit@tok", "unit_typing" - ], - 0, - "d46f59a626979492dfe365f34bcefae8" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 73, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "2c028ab3f22277c97a59e3c181b24c07" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 74, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "2c028ab3f22277c97a59e3c181b24c07" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 75, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "67375774902b869f8f691e99e80047a6" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 76, - 10, - 1, - [ - "@query", "b2t_def", "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Syntax.Base.stateful_comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "67375774902b869f8f691e99e80047a6" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 77, - 10, - 1, - [ "@query", "b2t_def" ], - 0, - "b0b56937e2276b4f53118c54be2ae857" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 78, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", "b2t_def", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.open_with_var_elt", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.var_as_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Reflection.Util.mk_star", - "equation_Pulse.Soundness.Common.mk_star", - "equation_Pulse.Syntax.Base.index", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.V2.Data.argv", - "function_token_typing_Prims.string", "int_typing", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.open_with_gt_ln", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "refinement_interpretation_Tm_refine_040f64bc08757970df107096b815902a", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_11f9790720376bd86bc3c4bebaae0a2a", - "refinement_interpretation_Tm_refine_3d2d704c483a33bfa9aae7908602b81e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a596bd456ef8a1fd0eabe2d5b7f6e1f", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_699a22a40a0350fda45a07f5f35c7d1e", - "refinement_interpretation_Tm_refine_7034dcadbe20601716a18717a0a59e90", - "refinement_interpretation_Tm_refine_7659b95b4c2a1fd2673076e43c583896", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "string_typing", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.subst_term", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.star_lid", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Base.tm_exists_sl", - "typing_Pulse.Syntax.Pure.null_bvar", "typing_Pulse.Syntax.Pure.u0", - "typing_Pulse.Typing.as_binder", "typing_Pulse.Typing.mk_pts_to", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "60c000a468606182ee37798bef0438f0" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 79, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "data_elim_FStar.Reflection.Typing.EQ_Refl", - "data_elim_FStar.Reflection.Typing.T_Abs", "data_elim_Prims.Cons", - "data_elim_Pulse.Typing.T_WithLocal", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Typing.ND@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_Prims.Cons@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Tactics.Types.E_Total@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.coerce_eq", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Typing.extend_env", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Reflection.Typing.var_as_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Reflection.Util.mk_star", - "equation_Pulse.Soundness.Common.mk_t_abs", - "equation_Pulse.Soundness.WithLocal.mk_t_abs", - "equation_Pulse.Steel.Wrapper.Typing.with_local_bodypost_body", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Syntax.Naming.open_st_term", - "equation_Pulse.Syntax.Pure.tm_type", - "equation_Pulse.Syntax.Pure.u0", "equation_Pulse.Syntax.Pure.u_zero", - "equation_Pulse.Typing.comp_withlocal_body", - "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.typing", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_Prims.string", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_Pulse.Syntax.Base.C_Tot__0", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_11f9790720376bd86bc3c4bebaae0a2a", - "refinement_interpretation_Tm_refine_20314b0e2bd73b8b8317acc37ae38bf2", - "refinement_interpretation_Tm_refine_2bec1faf1ede0e13c5c2539300b66048", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_3d2d704c483a33bfa9aae7908602b81e", - "refinement_interpretation_Tm_refine_3edef145014cc88e1dece5bec206a157", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58ad2e609f990e93306286fe026bd4f2", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_699a22a40a0350fda45a07f5f35c7d1e", - "refinement_interpretation_Tm_refine_7659b95b4c2a1fd2673076e43c583896", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_c5bab321ae0743e78b8900c771618196", - "refinement_interpretation_Tm_refine_ccc981f509c8fc58c1361c205467ade0", - "refinement_interpretation_Tm_refine_db84e717d541e2243900012b9b0c5b30", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "refinement_interpretation_Tm_refine_fc7c5a35aa1f626fc9d5cfc3b9413cd8", - "string_typing", - "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "typing_FStar.Reflection.Typing.bound_var", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.subst_term", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.full_perm_tm", - "typing_Pulse.Reflection.Util.mk_abs", - "typing_Pulse.Reflection.Util.mk_exists", - "typing_Pulse.Reflection.Util.mk_pts_to", - "typing_Pulse.Reflection.Util.star_lid", - "typing_Pulse.Steel.Wrapper.Typing.with_local_bodypost_body", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Pure.u0", "typing_Pulse.Typing.mk_ref", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "6bd6f3589d544c36687b2f09b2539a33" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 80, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "Pulse.Syntax.Naming_interpretation_Tm_arrow_22833073b0372c4937c72763a2a36c80", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Typing.DT", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "constructor_distinct_Pulse.Syntax.Naming.ND", - "data_elim_FStar.Reflection.Typing.T_Abs", - "data_elim_FStar.Reflection.V2.Data.Mknamedv_view", - "data_elim_Prims.Cons", "data_elim_Pulse.Typing.T_WithLocal", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Typing.ND@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Mkbinding@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "data_typing_intro_Pulse.Syntax.Naming.ND@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Tactics.Types.E_Total@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.coerce_eq", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.binder_of_t_q", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.make_bv_with_name", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.open_with_var_elt", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.seal_pp_name", - "equation_FStar.Reflection.Typing.shift_subst", - "equation_FStar.Reflection.Typing.shift_subst_elt", - "equation_FStar.Reflection.Typing.shift_subst_n", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Reflection.Typing.var_as_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.ppname_t", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Reflection.Util.full_perm_lid", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Soundness.Common.mk_star", - "equation_Pulse.Soundness.Common.mk_t_abs", - "equation_Pulse.Soundness.WithLocal.mk_t_abs", - "equation_Pulse.Syntax.Base.as_fv", - "equation_Pulse.Syntax.Base.index", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", - "equation_Pulse.Syntax.Naming.open_st_term", - "equation_Pulse.Syntax.Naming.rt_subst", - "equation_Pulse.Syntax.Naming.rt_subst_elt", - "equation_Pulse.Syntax.Naming.subst", - "equation_Pulse.Syntax.Pure.tm_type", - "equation_Pulse.Syntax.Pure.u0", "equation_Pulse.Syntax.Pure.u_zero", - "equation_Pulse.Typing.comp_withlocal_body", - "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.typing", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "function_token_typing_FStar.Reflection.V2.Data.argv", - "function_token_typing_Prims.string", - "function_token_typing_Pulse.Syntax.Naming.rt_subst_elt", - "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "kinding_Pulse.Syntax.Naming.subst_elt@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.open_with_gt_ln", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Reflection.V2.Data.Mkbinding_ppname", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_index", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_ppname", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Reflection.Typing.DT__0", - "projection_inverse_FStar.Reflection.Typing.DT__1", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinding_ppname", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Pulse.Syntax.Base.C_Tot__0", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_index", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "projection_inverse_Pulse.Syntax.Naming.ND__0", - "projection_inverse_Pulse.Syntax.Naming.ND__1", - "refinement_interpretation_Tm_refine_040f64bc08757970df107096b815902a", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_11f9790720376bd86bc3c4bebaae0a2a", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_3d2d704c483a33bfa9aae7908602b81e", - "refinement_interpretation_Tm_refine_3edef145014cc88e1dece5bec206a157", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58ad2e609f990e93306286fe026bd4f2", - "refinement_interpretation_Tm_refine_5a596bd456ef8a1fd0eabe2d5b7f6e1f", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_699a22a40a0350fda45a07f5f35c7d1e", - "refinement_interpretation_Tm_refine_7659b95b4c2a1fd2673076e43c583896", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8b00e3151c90c317bdfa5ae75c058693", - "refinement_interpretation_Tm_refine_af4576f304ea67bc63da509e4316d388", - "refinement_interpretation_Tm_refine_bde90bd8ddfd21594845b509d8823a05", - "refinement_interpretation_Tm_refine_c5bab321ae0743e78b8900c771618196", - "refinement_interpretation_Tm_refine_ccc981f509c8fc58c1361c205467ade0", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961", - "refinement_interpretation_Tm_refine_db84e717d541e2243900012b9b0c5b30", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", - "refinement_interpretation_Tm_refine_fc7c5a35aa1f626fc9d5cfc3b9413cd8", - "string_typing", "token_correspondence_FStar.List.Tot.Base.map", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.shift_subst_n", - "token_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "token_correspondence_Pulse.Syntax.Naming.rt_subst_elt", - "typing_FStar.Reflection.Typing.binder_of_t_q", - "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.make_namedv_with_name", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.shift_subst", - "typing_FStar.Reflection.Typing.subst_term", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinding__item__ppname", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.full_perm_lid", - "typing_Pulse.Reflection.Util.mk_ref", - "typing_Pulse.Reflection.Util.star_lid", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.comp_res", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Base.tm_exists_sl", - "typing_Pulse.Syntax.Naming.rt_subst", - "typing_Pulse.Syntax.Pure.null_bvar", "typing_Pulse.Syntax.Pure.u0", - "typing_Pulse.Typing.as_binder", "typing_Pulse.Typing.mk_pts_to", - "typing_Pulse.Typing.mk_ref", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "2d50b3692e4f4eb6638feba18e817818" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 81, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "Pulse.Syntax.Naming_interpretation_Tm_arrow_22833073b0372c4937c72763a2a36c80", - "constructor_distinct_FStar.Reflection.Typing.DT", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Reflection.V2.Data.Mknamedv_view", - "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Mkbinding@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "data_typing_intro_Pulse.Syntax.Naming.ND@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.binder_of_t_q", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.make_bv_with_name", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.open_with_var_elt", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.seal_pp_name", - "equation_FStar.Reflection.Typing.shift_subst", - "equation_FStar.Reflection.Typing.shift_subst_elt", - "equation_FStar.Reflection.Typing.shift_subst_n", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.ppname_t", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Reflection.Util.full_perm_lid", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Steel.Wrapper.Typing.with_local_bodypost", - "equation_Pulse.Steel.Wrapper.Typing.with_local_bodypost_body", - "equation_Pulse.Syntax.Base.as_fv", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Syntax.Naming.subst", - "equation_Pulse.Syntax.Pure.u0", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "function_token_typing_Prims.string", - "function_token_typing_Pulse.Syntax.Naming.rt_subst_elt", - "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_Pulse.Syntax.Naming.subst_elt@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Reflection.V2.Data.Mkbinding_ppname", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_index", - "proj_equation_Pulse.Syntax.Base.Mkbv_bv_ppname", - "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Reflection.Typing.DT__0", - "projection_inverse_FStar.Reflection.Typing.DT__1", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Reflection.V2.Data.Mkbinding_ppname", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_index", - "projection_inverse_Pulse.Syntax.Base.Mkbv_bv_ppname", - "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_name", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "refinement_interpretation_Tm_refine_040f64bc08757970df107096b815902a", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_11f9790720376bd86bc3c4bebaae0a2a", - "refinement_interpretation_Tm_refine_3d2d704c483a33bfa9aae7908602b81e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_699a22a40a0350fda45a07f5f35c7d1e", - "refinement_interpretation_Tm_refine_7659b95b4c2a1fd2673076e43c583896", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", - "string_typing", "token_correspondence_FStar.List.Tot.Base.map", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", - "token_correspondence_FStar.Reflection.Typing.shift_subst_n", - "typing_FStar.Reflection.Typing.binder_of_t_q", - "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.make_namedv_with_name", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", - "typing_FStar.Reflection.V2.Data.__proj__Mkbinding__item__ppname", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.full_perm_lid", - "typing_Pulse.Reflection.Util.mk_ref", - "typing_Pulse.Steel.Wrapper.Typing.with_local_bodypost", - "typing_Pulse.Steel.Wrapper.Typing.with_local_bodypost_body", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.comp_res", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_Pulse.Syntax.Pure.u0", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "413acf3d69308bbc9627190cad72959e" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 82, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_UInst", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_UInst@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.var_as_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.universes", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Reflection.Util.arrow_dom", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Reflection.Util.mk_stt_comp", - "equation_Pulse.Soundness.Common.mk_star", - "equation_Pulse.Syntax.Base.comp_u", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.Types.universe", - "function_token_typing_Prims.string", "int_typing", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_v", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_11f9790720376bd86bc3c4bebaae0a2a", - "refinement_interpretation_Tm_refine_320ab5030c8235a284fd18a7fe00e634", - "refinement_interpretation_Tm_refine_3324e7723eeda73b579e2561092a1c59", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_7659b95b4c2a1fd2673076e43c583896", - "refinement_interpretation_Tm_refine_8b00e3151c90c317bdfa5ae75c058693", - "refinement_interpretation_Tm_refine_a70bf8f05ec62c7ba71cb0d042af4391", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "string_typing", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.mk_stt_comp", - "typing_Pulse.Reflection.Util.stt_fv", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.comp_res", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "981e9df32a85a340abf460f0eee59384" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 83, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_UInst", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_UInst@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.make_namedv_with_name", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.var_as_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Reflection.V2.Data.argv", - "equation_FStar.Reflection.V2.Data.universes", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Reflection.Util.arrow_dom", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Reflection.Util.mk_stt_comp", - "equation_Pulse.Soundness.Common.mk_star", - "equation_Pulse.Steel.Wrapper.Typing.with_local_bodypost", - "equation_Pulse.Syntax.Base.comp_u", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.universe", - "equation_Pulse.Syntax.Base.var", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.Types.universe", - "function_token_typing_Prims.string", "int_typing", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_index", - "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_v", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_index", - "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_11f9790720376bd86bc3c4bebaae0a2a", - "refinement_interpretation_Tm_refine_320ab5030c8235a284fd18a7fe00e634", - "refinement_interpretation_Tm_refine_3324e7723eeda73b579e2561092a1c59", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_7659b95b4c2a1fd2673076e43c583896", - "refinement_interpretation_Tm_refine_a70bf8f05ec62c7ba71cb0d042af4391", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "string_typing", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.mk_stt_comp", - "typing_Pulse.Reflection.Util.stt_fv", - "typing_Pulse.Steel.Wrapper.Typing.with_local_bodypost", - "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", - "typing_Pulse.Syntax.Base.comp_res", - "typing_Pulse.Syntax.Base.ppname_default", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "2b4dd1938075baf0ae951c5989c06465" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 84, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "data_elim_FStar.Reflection.Typing.T_Abs", - "data_elim_Pulse.Typing.CT_ST", "data_elim_Pulse.Typing.T_WithLocal", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Tactics.Types.E_Total@tok", - "equation_FStar.Pervasives.coerce_eq", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Soundness.Common.mk_t_abs", - "equation_Pulse.Soundness.Common.stt_env", - "equation_Pulse.Soundness.WithLocal.mk_t_abs", - "equation_Pulse.Syntax.Base.comp_u", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Syntax.Naming.open_st_term", - "equation_Pulse.Syntax.Pure.tm_type", - "equation_Pulse.Syntax.Pure.u0", "equation_Pulse.Syntax.Pure.u_zero", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.comp_withlocal_body", - "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.typing", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "function_token_typing_FStar.Reflection.Types.term", - "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_Pulse.Soundness.Common.lookup_elab_env", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_Pulse.Syntax.Base.C_Tot__0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_3edef145014cc88e1dece5bec206a157", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58ad2e609f990e93306286fe026bd4f2", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8f56033db8fc241ac36f2bef28601f85", - "refinement_interpretation_Tm_refine_c5bab321ae0743e78b8900c771618196", - "refinement_interpretation_Tm_refine_ccc981f509c8fc58c1361c205467ade0", - "refinement_interpretation_Tm_refine_db84e717d541e2243900012b9b0c5b30", - "refinement_interpretation_Tm_refine_eb606765c750dcc86045308d986aac8c", - "refinement_interpretation_Tm_refine_f327b3b66854e57c59289f8c259581e7", - "refinement_interpretation_Tm_refine_fc7c5a35aa1f626fc9d5cfc3b9413cd8", - "typing_FStar.Map.contains", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", - "typing_Pulse.Typing.elab_env", "typing_Pulse.Typing.mk_ref" - ], - 0, - "0ac9d5c081dd65cd353fc60cf2303c3a" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 85, - 10, - 1, - [ - "@query", "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Typing.mk_arrow", - "equation_FStar.Reflection.Typing.mk_total", - "equation_Pulse.Reflection.Util.binder_of_t_q", - "equation_Pulse.Reflection.Util.mk_arrow", - "equation_Pulse.Reflection.Util.mk_stt_comp", - "equation_Pulse.Reflection.Util.mk_total", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "2684e6be70fee334e47dea83345195d1" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 86, - 10, - 1, - [ - "@query", "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Typing.mk_arrow", - "equation_FStar.Reflection.Typing.mk_total", - "equation_Pulse.Reflection.Util.binder_of_t_q", - "equation_Pulse.Reflection.Util.mk_arrow", - "equation_Pulse.Reflection.Util.mk_stt_comp", - "equation_Pulse.Reflection.Util.mk_total", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "83f8027e8d9bed20bf5ff7ce2851fab5" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 87, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "data_elim_FStar.Reflection.Typing.T_Abs", - "data_elim_Pulse.Typing.T_WithLocal", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Tactics.Types.E_Total@tok", - "equation_FStar.Pervasives.coerce_eq", - "equation_FStar.Reflection.Typing.mk_abs", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_qual", - "equation_Pulse.Soundness.Common.mk_t_abs", - "equation_Pulse.Soundness.Common.stt_env", - "equation_Pulse.Soundness.WithLocal.mk_t_abs", - "equation_Pulse.Syntax.Base.ppname_default", - "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Syntax.Naming.open_st_term", - "equation_Pulse.Syntax.Pure.tm_type", - "equation_Pulse.Syntax.Pure.u0", "equation_Pulse.Syntax.Pure.u_zero", - "equation_Pulse.Typing.comp_withlocal_body", - "equation_Pulse.Typing.elab_env", "equation_Pulse.Typing.typing", - "equation_with_fuel_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "proj_equation_Pulse.Syntax.Base.Mkppname_name", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_Pulse.Syntax.Base.C_Tot__0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_3edef145014cc88e1dece5bec206a157", - "refinement_interpretation_Tm_refine_58ad2e609f990e93306286fe026bd4f2", - "refinement_interpretation_Tm_refine_62ec59f9c9ec294d8f03e8a4ce3d57b7", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8f56033db8fc241ac36f2bef28601f85", - "refinement_interpretation_Tm_refine_c5bab321ae0743e78b8900c771618196", - "refinement_interpretation_Tm_refine_ccc981f509c8fc58c1361c205467ade0", - "refinement_interpretation_Tm_refine_db84e717d541e2243900012b9b0c5b30", - "refinement_interpretation_Tm_refine_fc7c5a35aa1f626fc9d5cfc3b9413cd8", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.mk_ref" - ], - 0, - "9fe48e922908e30f2e32e43d694ca92f" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 88, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.V2.Data.argv", "equation_Prims.nat", - "equation_Pulse.Reflection.Util.mk_pts_to", - "equation_Pulse.Reflection.Util.mk_star", - "equation_Pulse.Soundness.Common.mk_star", - "equation_with_fuel_FStar.Reflection.V2.Derived.mk_app.fuel_instrumented", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Reflection.V2.Data.argv", "int_typing", - "kinding_FStar.Reflection.V2.Data.aqualv@tok", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8f130b1dc1079a9afd767d209c61e82e", - "typing_FStar.Reflection.Typing.bound_var", - "typing_FStar.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Reflection.V2.Builtins.pack_ln", - "typing_Pulse.Elaborate.Pure.elab_term", - "typing_Pulse.Reflection.Util.full_perm_tm", - "typing_Pulse.Reflection.Util.mk_pts_to", - "typing_Pulse.Reflection.Util.mk_star", - "typing_Pulse.Reflection.Util.star_lid", - "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "d266a11e96aef3515203b69674ef4f39" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 89, - 10, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Pulse.Elaborate.Core.elab_st_typing.fuel_instrumented", - "@fuel_irrelevance_Pulse.Elaborate.Core.elab_st_typing.fuel_instrumented", - "@query", "constructor_distinct_Pulse.Typing.T_WithLocal", - "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "equation_Pulse.Reflection.Util.mk_abs", - "equation_Pulse.Soundness.Common.stt_env", - "equation_Pulse.Syntax.Naming.open_st_term_nv", - "equation_Pulse.Typing.comp_withlocal_body", - "equation_with_fuel_Pulse.Elaborate.Core.elab_st_typing.fuel_instrumented", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "projection_inverse_Pulse.Typing.T_WithLocal__6", - "projection_inverse_Pulse.Typing.T_WithLocal__7", - "projection_inverse_Pulse.Typing.T_WithLocal__8", - "projection_inverse_Pulse.Typing.T_WithLocal__9", - "projection_inverse_Pulse.Typing.T_WithLocal_body", - "projection_inverse_Pulse.Typing.T_WithLocal_c", - "projection_inverse_Pulse.Typing.T_WithLocal_g", - "projection_inverse_Pulse.Typing.T_WithLocal_init", - "projection_inverse_Pulse.Typing.T_WithLocal_init_t", - "projection_inverse_Pulse.Typing.T_WithLocal_x", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_79f6574c34bb3667aaee540f75822d14", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_8f56033db8fc241ac36f2bef28601f85", - "refinement_interpretation_Tm_refine_c5bab321ae0743e78b8900c771618196" - ], - 0, - "aec950f95b6087142b2238df1e85943d" - ], - [ - "Pulse.Soundness.WithLocal.withlocal_soundness", - 90, - 10, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Pulse.Elaborate.Pure.elab_term.fuel_instrumented", - "@query", "data_elim_Pulse.Typing.CT_ST", - "data_elim_Pulse.Typing.T_WithLocal", - "disc_equation_Pulse.Syntax.Base.C_ST", - "equation_Pulse.Elaborate.Pure.elab_comp", - "equation_Pulse.Elaborate.Pure.elab_st_comp", - "equation_Pulse.Syntax.Base.comp_post", - "equation_Pulse.Syntax.Base.comp_pre", - "equation_Pulse.Syntax.Base.comp_res", - "equation_Pulse.Syntax.Base.comp_u", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", - "fuel_guarded_inversion_Pulse.Typing.st_comp_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "projection_inverse_Pulse.Syntax.Base.C_ST__0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_389f70cbc1407ff82c66f9294b8d272a", - "refinement_interpretation_Tm_refine_640c827d9efa96bb57d41c15a754ae7d", - "refinement_interpretation_Tm_refine_85cfa75bb3752f89685cce27d4b09be1", - "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" - ], - 0, - "fdfc932d62c67770ac32e23de048ae5c" + "12e7544375a4aca598f5d82087ba1d49" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Soundness.fst.hints b/lib/steel/pulse/Pulse.Soundness.fst.hints index 550bdfdfe..e639d1c34 100644 --- a/lib/steel/pulse/Pulse.Soundness.fst.hints +++ b/lib/steel/pulse/Pulse.Soundness.fst.hints @@ -1,5 +1,5 @@ [ - "cKy\n]\u00182Y", + "\u001a\u0005\u001c*,[\u000eoV", [ [ "Pulse.Soundness.tabs_t", @@ -27,7 +27,7 @@ "typing_Pulse.Typing.Env.dom" ], 0, - "6d0e3eaa448e204f13a5ba6143ed8232" + "bd776a2800af95eeb568ceb7fdc3693f" ], [ "Pulse.Soundness.lift_soundness", @@ -140,7 +140,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "3fb868cec2cff74c79a0a24e5954b592" + "9a62b8516797a3888bfb64cbea2ab052" ], [ "Pulse.Soundness.frame_soundness", @@ -167,7 +167,7 @@ "subterm_ordering_Pulse.Typing.T_Frame" ], 0, - "d1a4b8c5fbb87b8b15a966626caa76f0" + "7ef536819850bcd6635e9ecc49f49204" ], [ "Pulse.Soundness.stapp_soundness", @@ -282,7 +282,7 @@ "typing_Pulse.Syntax.Pure.tm_arrow", "typing_Pulse.Typing.as_binder" ], 0, - "26397b623331a0f29ae514e2a5e25c62" + "58c7e3ceab5e68c249078bdc7b10d946" ], [ "Pulse.Soundness.stequiv_soundness", @@ -314,7 +314,7 @@ "subterm_ordering_Pulse.Typing.T_Equiv" ], 0, - "8fa9c06fb9a7d21ac874527879431661" + "8bb1e9c533571537657051dc8f58d8f3" ], [ "Pulse.Soundness.bind_soundness", @@ -346,7 +346,6 @@ "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", "constructor_distinct_Pulse.Syntax.Base.C_STGhost", "constructor_distinct_Pulse.Syntax.Base.C_Tot", - "constructor_distinct_Pulse.Syntax.Base.Tm_Emp", "constructor_distinct_Pulse.Syntax.Base.Tm_FStar", "constructor_distinct_Pulse.Syntax.Base.Tm_VProp", "constructor_distinct_Pulse.Typing.Bind_comp", @@ -427,6 +426,8 @@ "equation_Pulse.Syntax.Base.with_range", "equation_Pulse.Syntax.Naming.close_comp", "equation_Pulse.Syntax.Naming.close_comp_", + "equation_Pulse.Syntax.Naming.freevars_comp", + "equation_Pulse.Syntax.Naming.freevars_st_comp", "equation_Pulse.Syntax.Naming.ln_c", "equation_Pulse.Syntax.Naming.ln_c_", "equation_Pulse.Syntax.Naming.ln_st", @@ -472,6 +473,7 @@ "kinding_Pulse.Syntax.Naming.subst_elt@tok", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "lemma_FStar.Set.mem_union", "lemma_Pulse.Syntax.Base.range_singleton", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -561,12 +563,13 @@ "typing_FStar.Map.contains", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_FStar.Range.range_0", "typing_FStar.Reflection.Typing.binder_of_t_q", + "typing_FStar.Reflection.Typing.tm_type", "typing_FStar.Reflection.V2.Builtins.pack_comp", "typing_FStar.Reflection.V2.Builtins.pack_fv", "typing_FStar.Reflection.V2.Builtins.pack_ln", "typing_FStar.Reflection.V2.Data.var", - "typing_FStar.Reflection.V2.Derived.mk_app", - "typing_Pulse.Elaborate.Pure.elab_comp", + "typing_FStar.Reflection.V2.Derived.mk_app", "typing_FStar.Set.mem", + "typing_FStar.Set.union", "typing_Pulse.Elaborate.Pure.elab_comp", "typing_Pulse.Elaborate.Pure.elab_term", "typing_Pulse.Reflection.Util.binder_of_t_q_s", "typing_Pulse.Reflection.Util.mk_total", @@ -584,10 +587,12 @@ "typing_Pulse.Syntax.Base.comp_res", "typing_Pulse.Syntax.Base.comp_u", "typing_Pulse.Syntax.Base.stateful_comp", - "typing_Pulse.Syntax.Base.tm_vprop", "typing_Pulse.Syntax.Base.uu___is_C_Tot", - "typing_Pulse.Syntax.Base.v_as_nv", "typing_Pulse.Syntax.Naming.ln_", - "typing_Pulse.Syntax.Naming.ln_c", + "typing_Pulse.Syntax.Base.v_as_nv", + "typing_Pulse.Syntax.Base.with_range", + "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Syntax.Naming.freevars_comp", + "typing_Pulse.Syntax.Naming.ln_", "typing_Pulse.Syntax.Naming.ln_c", "typing_Pulse.Syntax.Naming.ln_st", "typing_Pulse.Syntax.Naming.subst_term", "typing_Pulse.Syntax.Pure.tm_arrow", @@ -598,10 +603,11 @@ "typing_Pulse.Typing.bind_comp_out", "typing_Pulse.Typing.non_informative_witness_t", "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_Pulse.Syntax.Base.Implicit@tok", "unit_typing" + "typing_tok_Pulse.Syntax.Base.Implicit@tok", + "typing_tok_Pulse.Syntax.Base.Tm_VProp@tok", "unit_typing" ], 0, - "14a1cc521069dab8864b9119d4b0b247" + "2c53020e8bf8c0b309a57a211a6e7cc6" ], [ "Pulse.Soundness.if_soundness", @@ -756,7 +762,7 @@ "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "2017f5c5db3d2e0ad334979841437fed" + "881eba0e8181bc1b6e4e60b6e69ff39d" ], [ "Pulse.Soundness.soundness", @@ -783,6 +789,7 @@ "constructor_distinct_Pulse.Typing.T_IntroExists", "constructor_distinct_Pulse.Typing.T_IntroExistsErased", "constructor_distinct_Pulse.Typing.T_Lift", + "constructor_distinct_Pulse.Typing.T_Match", "constructor_distinct_Pulse.Typing.T_Par", "constructor_distinct_Pulse.Typing.T_Return", "constructor_distinct_Pulse.Typing.T_Rewrite", @@ -804,6 +811,7 @@ "disc_equation_Pulse.Typing.T_IntroExistsErased", "disc_equation_Pulse.Typing.T_IntroPure", "disc_equation_Pulse.Typing.T_Lift", + "disc_equation_Pulse.Typing.T_Match", "disc_equation_Pulse.Typing.T_Par", "disc_equation_Pulse.Typing.T_Return", "disc_equation_Pulse.Typing.T_Rewrite", @@ -894,7 +902,7 @@ "typing_Pulse.Typing.Env.dom", "typing_Pulse.Typing.Env.fstar_env" ], 0, - "10a91462939e7dd9389a0cb09747abff" + "60ad9231380ee93bd8e2391070bfe4a2" ], [ "Pulse.Soundness.soundness_lemma", @@ -902,11 +910,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", + "equation_FStar.Reflection.Typing.tot_typing", + "equation_Prims.squash", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5c97988c24e76ed97ec29e3679b8cdcc" + "c95eade1ac1f0f6d1d796d3d627615c9" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Steel.Wrapper.fst.hints b/lib/steel/pulse/Pulse.Steel.Wrapper.fst.hints index fdbd6acaa..d88b647dc 100644 --- a/lib/steel/pulse/Pulse.Steel.Wrapper.fst.hints +++ b/lib/steel/pulse/Pulse.Steel.Wrapper.fst.hints @@ -1,5 +1,5 @@ [ - "Ŕ61-(\u0001", + "aDG\u0007gcB\u0003\u00035G", [ [ "Pulse.Steel.Wrapper.intro_vprop_post_equiv", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "ca0d589a5f8a6281c4aafc887f8c17e4" + "4dcf36fc0a22f8520417d345b09f24fa" ], [ "Pulse.Steel.Wrapper.elim_vprop_post_equiv", @@ -24,7 +24,7 @@ "typing_Pulse.Steel.Wrapper.vprop_post_equiv", "unit_inversion" ], 0, - "12ebe72980af71e24bc6b54dc9bd534c" + "fff893434424528f9f3094d54ecd4b39" ], [ "Pulse.Steel.Wrapper.vprop_equiv_refl", @@ -33,7 +33,7 @@ 1, [ "@query" ], 0, - "c309f748f1981a867fdd728e78b05354" + "85543fa0c63a89062919747a57a84a9a" ], [ "Pulse.Steel.Wrapper.vprop_equiv_sym", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "75f9920c6bad50a5d5541704136a9ab3" + "fbdfe8174f3cb114115e513e6194bbad" ], [ "Pulse.Steel.Wrapper.vprop_equiv_trans", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b4e244554af6f98793ca5b46cbe601c5" + "46f653007066b100a40b56a2984f4325" ], [ "Pulse.Steel.Wrapper.vprop_equiv_unit", @@ -68,7 +68,7 @@ 1, [ "@query" ], 0, - "157958abde8f1af5effabe8dfb09d9dd" + "47faecfa68a5c5aabbb18a06433aa176" ], [ "Pulse.Steel.Wrapper.vprop_equiv_comm", @@ -77,7 +77,7 @@ 1, [ "@query" ], 0, - "d9d88bb0df450bfe1632f5bc56adfcf8" + "63b1e8b07e9c4bb05242c63a30549a87" ], [ "Pulse.Steel.Wrapper.vprop_equiv_assoc", @@ -86,7 +86,7 @@ 1, [ "@query" ], 0, - "bcda93cb0b3b75361e672ac2c214b0d3" + "e4dad550308a30ab67d487ac02caec9f" ], [ "Pulse.Steel.Wrapper.vprop_equiv_cong", @@ -99,7 +99,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "12f3cc41b3c7feb3fc2363b261a98c30" + "608f666c4f1712a322048d8ce9e3b4e8" ], [ "Pulse.Steel.Wrapper.vprop_equiv_ext", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "88222dde8c6022421072a082b5469699" + "1cee3ce40946fd5d87fa194896cf6b6b" ], [ "Pulse.Steel.Wrapper.bind_stt_atomic_ghost", @@ -127,7 +127,7 @@ "typing_FStar.Ghost.hide" ], 0, - "82730370023e597d3f6a7b60b5615922" + "1f037524e0311658be3974a46d9c43a9" ], [ "Pulse.Steel.Wrapper.bind_stt_ghost_atomic", @@ -143,7 +143,7 @@ "typing_FStar.Ghost.hide" ], 0, - "5f25ebf785e54585bbaa0db89c65faca" + "14698f20db00ec863c5de7acc6dbae0a" ], [ "Pulse.Steel.Wrapper.lift_stt_ghost", @@ -158,7 +158,7 @@ "typing_FStar.Ghost.hide" ], 0, - "8ddc8525b725aae10dee56a96a2a7ecb" + "32e418b9b4e8336e45430417cf08fe56" ], [ "Pulse.Steel.Wrapper.sub_stt", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a7fecd427673497a8d192d046d9c6008" + "01967ab2357c4986d592093bca7101fe" ], [ "Pulse.Steel.Wrapper.sub_stt_atomic", @@ -184,7 +184,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "43aee2f9a8810441d950293a6aff15f9" + "01a897571846411b8bcbbcc4e9805378" ], [ "Pulse.Steel.Wrapper.sub_stt_ghost", @@ -197,7 +197,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8967e72181c8c6a5abbce7bc5be919ff" + "670cf6e150bc8244be720ed660bbbf2c" ], [ "Pulse.Steel.Wrapper.rewrite", @@ -210,20 +210,16 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8ea3d12726bcd0a3469a49eaa6eefb1c" + "425d1f1f2a86cf1626eafcb14578eef9" ], [ "Pulse.Steel.Wrapper.read", 1, 2, 1, - [ - "@query", "eq2-interp", "equation_Prims.l_True", - "equation_Pulse.Steel.Wrapper.eq2_prop", - "equation_Steel.Effect.Common.prop_and", "true_interp" - ], + [ "@query", "eq2-interp", "equation_Steel.Effect.Common.prop_and" ], 0, - "066f51fdbcce0f0ce4ef1db41587305b" + "05d416a03e335f95cd2ed392b761d245" ], [ "Pulse.Steel.Wrapper.read_atomic", @@ -232,7 +228,7 @@ 1, [ "@query", "eq2-interp", "equation_Pulse.Steel.Wrapper.eq2_prop" ], 0, - "fb410c788576fd92df7eb3553ae41f83" + "5b062595f1a422a565ba88ebf4ffce0b" ], [ "Pulse.Steel.Wrapper.gread", @@ -241,11 +237,10 @@ 1, [ "@query", "eq2-interp", "equation_Prims.l_True", - "equation_Pulse.Steel.Wrapper.eq2_prop", "equation_Steel.Effect.Common.prop_and", "true_interp" ], 0, - "231774689190097a8a8e52ba4b2d6021" + "1726a551f20d6cac6f0799d2cd9cadfd" ], [ "Pulse.Steel.Wrapper.ggather", @@ -254,11 +249,10 @@ 1, [ "@query", "eq2-interp", "equation_Prims.l_True", - "equation_Pulse.Steel.Wrapper.eq2_prop", "equation_Steel.Effect.Common.prop_and", "true_interp" ], 0, - "8dccbb8aee5f3083749cec1f7bd7932f" + "38ea133bf768bbd3b6f35bf5eaf37ea6" ], [ "Pulse.Steel.Wrapper.op_Array_Access", @@ -267,7 +261,7 @@ 1, [ "@query" ], 0, - "df143b349decd6d0b8f8768bc0a99036" + "cb374cef653283d380796969eebf5b06" ], [ "Pulse.Steel.Wrapper.op_Array_Access", @@ -276,7 +270,7 @@ 1, [ "@query" ], 0, - "2c2464ea493138a5994d1f0e46f09663" + "337764123fbdb89f8327ddb577e86cce" ], [ "Pulse.Steel.Wrapper.op_Array_Assignment", @@ -288,7 +282,7 @@ "refinement_interpretation_Tm_refine_a32a4320cf25bdfeab0502d89cf19d62" ], 0, - "4469ff012ba2d577c90eb7998a2d38ac" + "41c9fc6415878ebd330a1b14698f38e5" ], [ "Pulse.Steel.Wrapper.op_Array_Assignment", @@ -300,7 +294,7 @@ "refinement_interpretation_Tm_refine_a32a4320cf25bdfeab0502d89cf19d62" ], 0, - "cdb6f89a89f4bac484097fc192a69948" + "bfe2748b6fc4f54ec65578bb51dfdf97" ], [ "Pulse.Steel.Wrapper.elim_pure_explicit", @@ -309,7 +303,7 @@ 1, [ "@query" ], 0, - "15d601a4794f5df8970c677d03d1cb50" + "450b191d693f5e2b9552dc73ae6325e1" ], [ "Pulse.Steel.Wrapper.elim_pure", @@ -318,7 +312,7 @@ 1, [ "@query" ], 0, - "c41f2146812dfce52e3f003d37dc4664" + "cd6a1ac63fd483fc646545d0a18928bc" ], [ "Pulse.Steel.Wrapper.intro_pure", @@ -330,7 +324,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "eec8623979b20ebf046645d8367de098" + "2ffa187cc2c50d96fac95de1561695b7" ], [ "Pulse.Steel.Wrapper.stt_ghost_reveal", @@ -343,7 +337,7 @@ "equation_Steel.Effect.Common.prop_and", "true_interp" ], 0, - "33da366ea0abe9fd296c5dfc1670e12b" + "2a00d0a25ed5851245590ff2c1812d1d" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Steel.Wrapper.fsti.hints b/lib/steel/pulse/Pulse.Steel.Wrapper.fsti.hints index d69c1d180..aa7df6e09 100644 --- a/lib/steel/pulse/Pulse.Steel.Wrapper.fsti.hints +++ b/lib/steel/pulse/Pulse.Steel.Wrapper.fsti.hints @@ -1,5 +1,5 @@ [ - "jF\r1o\u001a\u0019O", + "\n\u000es\u000eeZV", [ [ "Pulse.Steel.Wrapper.op_Array_Access", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8444d7625ae76867e11ae3f0be61481e" + "2098a8199b0eabb28f6dc24aa2d7bcad" ], [ "Pulse.Steel.Wrapper.op_Array_Assignment", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_a32a4320cf25bdfeab0502d89cf19d62" ], 0, - "09f2448a1d88fde53b94f8c85468108d" + "ae87195f730889f7479ff1ce98af9fa6" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Syntax.Base.fst.hints b/lib/steel/pulse/Pulse.Syntax.Base.fst.hints index 53eb43414..3ea3e8ddd 100644 --- a/lib/steel/pulse/Pulse.Syntax.Base.fst.hints +++ b/lib/steel/pulse/Pulse.Syntax.Base.fst.hints @@ -1,5 +1,5 @@ [ - "\u0019ib.\u0006,\u0004?]\u0002@(", + "<\"%&ױY\u0002\u0013&Z", [ [ "Pulse.Syntax.Base.range_singleton", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9bc34e8f7344755000cfe8f9e1d71629" + "9b6fb98aa0b43f633ad3fd66491d8a18" ], [ "Pulse.Syntax.Base.ppname_default", @@ -23,7 +23,7 @@ "string_typing", "true_interp" ], 0, - "9dbedf7dab4d77b0d7a7a2425f37146f" + "732f2fbc2d456c1261ff9f69d687124f" ], [ "Pulse.Syntax.Base.mk_ppname", @@ -32,7 +32,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "b8225373b0404cdf7bc746359a734acf" + "df5a2b20da050c7609da1d4d62ebfc69" ], [ "Pulse.Syntax.Base.as_fv", @@ -41,7 +41,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "76194e9a713dc2e1333b0b42a19f6242" + "196269a0eb3f5419c4a691c9e99e3207" ], [ "Pulse.Syntax.Base.tm_vprop", @@ -50,7 +50,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "83d7d3f6f1cd2b0d1a1ddbf42daaf061" + "b3765ef1b86efc8371ee80f6e5cd12c4" ], [ "Pulse.Syntax.Base.tm_inames", @@ -59,7 +59,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "6451c811cc812ddce3d1090923ce2ab5" + "3be752c8921c59f3e24fdf54c56e8775" ], [ "Pulse.Syntax.Base.tm_emp", @@ -68,7 +68,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "bbcb4f0d206c818587e13bbd612d2c4f" + "65942e1df64d2e7c940559e53966fe9d" ], [ "Pulse.Syntax.Base.tm_emp_inames", @@ -77,7 +77,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "7f0f949f42e6d5243c8f170bca2bc705" + "471d89c1afb8d2eb28b671c434a52f23" ], [ "Pulse.Syntax.Base.tm_unknown", @@ -86,7 +86,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "46456a14e1243cc74d7d54c3b895eed6" + "d6a7e22822f767b093c50ca6140b6c1a" ], [ "Pulse.Syntax.Base.tm_star", @@ -95,7 +95,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "6c93f309f049c9ef0457b179be39efed" + "a4fe7cc685b4a608c1193a6e7f5a4b55" ], [ "Pulse.Syntax.Base.tm_exists_sl", @@ -104,7 +104,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "b94d44889d388c38d341b45fef342156" + "d7da715136b2f5f9961acca8014594f0" ], [ "Pulse.Syntax.Base.tm_forall_sl", @@ -113,7 +113,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "65991f8f37547410a1ec179af5873e9c" + "137d99349012ca3e69779c66e7d39f52" ], [ "Pulse.Syntax.Base.__proj__C_Tot__item___0", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_f30c5c1cb0a78245bc6b75b64fa49472" ], 0, - "978e4b3cefd8c4e973269dd798e0f7d4" + "e46c6f1afeb49c1aa4b9d0db496f59f7" ], [ "Pulse.Syntax.Base.__proj__C_ST__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" ], 0, - "18ed82952f3defcf7f7f56d909fbc135" + "467d5cc66d82ae3406df454eb4c580b1" ], [ "Pulse.Syntax.Base.__proj__C_STAtomic__item___0", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_13d5b859272356b5c25fbc5503eba342" ], 0, - "6231e5ee6a1d16fe74befa59c239843a" + "a5defae6ce96ca71969aa4a37ac7ce78" ], [ "Pulse.Syntax.Base.__proj__C_STAtomic__item___1", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_13d5b859272356b5c25fbc5503eba342" ], 0, - "afa2d803e134f85308c402b968f5c3c3" + "81ca6d9e573ce06fad067e25056a575b" ], [ "Pulse.Syntax.Base.__proj__C_STGhost__item___0", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_dc14c56dc5eae6acd747c5a527061f28" ], 0, - "d73b31cc4f8c1ea7ea0afb9a490ce505" + "39e656342b964720707b80d61e8c5b52" ], [ "Pulse.Syntax.Base.__proj__C_STGhost__item___1", @@ -185,47 +185,116 @@ "refinement_interpretation_Tm_refine_dc14c56dc5eae6acd747c5a527061f28" ], 0, - "aca134b3662981f55f4689e99ccbbd47" + "0778f7e71f7e446578d7b550602d652d" ], [ - "Pulse.Syntax.Base.eq_univ", + "Pulse.Syntax.Base.__proj__Pat_Cons__item___0", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", - "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", - "equation_Pulse.Syntax.Base.not_tv_unknown", - "equation_Pulse.Syntax.Base.universe", - "lemma_FStar.Reflection.Typing.inspect_pack", - "projection_inverse_FStar.Reflection.V2.Data.Tv_Type__0" + "refinement_interpretation_Tm_refine_41d61c50c285817138d0c4ccdc37aecf" ], 0, - "0a6a6e2fa220b613df8204eeaa177df7" + "e88f49a35f8f880a249d180cdca74883" ], [ - "Pulse.Syntax.Base.univ_equality", + "Pulse.Syntax.Base.__proj__Pat_Cons__item___1", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", - "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", - "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", - "equation_Pulse.Syntax.Base.eq_univ", - "equation_Pulse.Syntax.Base.not_tv_unknown", - "equation_Pulse.Syntax.Base.universe", - "lemma_FStar.Reflection.Typing.inspect_pack", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_Pulse.Syntax.Base.eq_univ" + "refinement_interpretation_Tm_refine_41d61c50c285817138d0c4ccdc37aecf" + ], + 0, + "c826c5224339fb02ceb1ad0d2ef78d11" + ], + [ + "Pulse.Syntax.Base.__proj__Pat_Constant__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_58dcc98eb0632c9d4afcf6358df50df8" ], 0, - "c0baf2bff7ef0d4b3527b319a1ba62d7" + "996ee3387ee6b284e2688f60d674acca" + ], + [ + "Pulse.Syntax.Base.__proj__Pat_Var__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c79c8e19f051c7cc39a2d9ef013332b5" + ], + 0, + "bfcea13ed056b899619a5490c8bad4e0" + ], + [ + "Pulse.Syntax.Base.__proj__Pat_Dot_Term__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_090c92bdc662d943f410552352af16d1" + ], + 0, + "8ce2f290b0081d401a1ebc1ef62712a3" + ], + [ + "Pulse.Syntax.Base.proof_hint_type", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "assumption_FStar.Pervasives.Native.option__uu___haseq", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "function_token_typing_Prims.string", "kinding_Prims.list@tok", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "typing_FStar.Reflection.Types.name" + ], + 0, + "8ac1974702dace683057c0c256c1bf3c" + ], + [ + "Pulse.Syntax.Base.__proj__FOLD__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f02de02470d5e55219e650c427644816" + ], + 0, + "489ef0b7576787eb60d846f6e7139bfd" + ], + [ + "Pulse.Syntax.Base.__proj__UNFOLD__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_933b55bf9733f30018ae22580b1cc815" + ], + 0, + "167e5a14aafd3d592c8199fad399d61f" + ], + [ + "Pulse.Syntax.Base.eq_univ", + 1, + 2, + 1, + [ "@query" ], + 0, + "a8f88d378bfdf073e4a15fd95b6d9188" ], [ "Pulse.Syntax.Base.eq_tm", @@ -286,8 +355,8 @@ "projection_inverse_Pulse.Syntax.Base.Tm_Pure_p", "projection_inverse_Pulse.Syntax.Base.Tm_Star_l", "projection_inverse_Pulse.Syntax.Base.Tm_Star_r", - "refinement_interpretation_Tm_refine_37e107bf61e09c6c2f50e04e11967291", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_500893f6b4220ed413f5afe6ed82cd8f", "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "string_typing", "subterm_ordering_Pulse.Syntax.Base.Mkbinder", @@ -298,10 +367,10 @@ "subterm_ordering_Pulse.Syntax.Base.Tm_Star", "typing_Pulse.Syntax.Base.__proj__Mkbinder__item__binder_ty", "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t", - "typing_Pulse.Syntax.Base.eq_tm" + "typing_Pulse.Syntax.Base.eq_tm", "typing_Pulse.Syntax.Base.eq_univ" ], 0, - "4bc160ebc51a5a3462cc1f50662d7d73" + "bcf4806c8c554b4d50472304b287d194" ], [ "Pulse.Syntax.Base.eq_st_comp", @@ -330,7 +399,7 @@ "typing_Pulse.Syntax.Base.eq_tm", "typing_Pulse.Syntax.Base.eq_univ" ], 0, - "2c9e6971f45c5150c34267fccb13e429" + "810bc0b66ffdf89d477162edf2c3e63c" ], [ "Pulse.Syntax.Base.eq_comp", @@ -364,16 +433,43 @@ "typing_Pulse.Syntax.Base.eq_tm" ], 0, - "c8781f057e9fdfba0b7e285bb1e8b4cb" + "6db0720fae7ef55f7e24c2b76d8cbba6" + ], + [ + "Pulse.Syntax.Base.eq_list", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Pulse.Syntax.Base_interpretation_Tm_arrow_0c8ce57cfdf40e20075f6c8b4ba9fc98", + "Pulse.Syntax.Base_interpretation_Tm_arrow_bf5393ec444f52ac95acfcf45b1ccfbb", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_86ae2f669b8ee98f4cecabae2f5a54de_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_0030517009779b9432f72f86710808a1", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", + "subterm_ordering_Prims.Cons", "typing_Pulse.Syntax.Base.eq_list" + ], + 0, + "ac45ddc6b5f46febe2021b897d24462b" ], [ - "Pulse.Syntax.Base.eq_tm_opt", + "Pulse.Syntax.Base.eq_opt", 1, 2, 1, [ - "@query", "kinding_Pulse.Syntax.Base.term@tok", - "lemma_FStar.Pervasives.invertOption", + "@query", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -381,21 +477,36 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "cf8cf99546a05449a6e1a48bbc595d7d" + "1fb74709947d717da17a9d16ec2af508" ], [ - "Pulse.Syntax.Base.eq_list", + "Pulse.Syntax.Base.eq_list_dec", 1, 2, 1, + [ "@query" ], + 0, + "5bf58a0e2f8a300ea920c76f9d5cfa02" + ], + [ + "Pulse.Syntax.Base.eq_list_dec", + 2, + 2, + 1, [ "@MaxIFuel_assumption", "@query", - "Pulse.Syntax.Base_interpretation_Tm_arrow_0c8ce57cfdf40e20075f6c8b4ba9fc98", - "Pulse.Syntax.Base_interpretation_Tm_arrow_bf5393ec444f52ac95acfcf45b1ccfbb", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_86ae2f669b8ee98f4cecabae2f5a54de_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "Pulse.Syntax.Base_interpretation_Tm_arrow_74d8b1a523cef6d243808437c40ff931", + "Pulse.Syntax.Base_interpretation_Tm_arrow_a67d40c780f758772c1312a51e4ce563", + "binder_x_1942f39804e2f55a53dbd8f6d27461c4_9", + "binder_x_23111b199e312dabc7d863b983ebf5c5_6", + "binder_x_754ab14adab4d1d34b7c3efffee2c5ab_10", + "binder_x_dcdbe2846f34254b2292e779cdbbf5de_7", + "binder_x_effd422e9f927bec04c7421757ac1cf4_8", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_5", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.op_Equals_Equals_Equals", "fuel_guarded_inversion_Prims.list", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -404,12 +515,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3fff97e0f5a6f0e970f5c3e722774480", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_3b8d41a08bfea64240706c35450a9373", + "refinement_interpretation_Tm_refine_4119b51505e7e060b7e890e724ebbf23", + "refinement_interpretation_Tm_refine_5dff10455d1ca35a3d0db2780b102236", + "refinement_interpretation_Tm_refine_72acfaae7b36a1b83155f6d5f3555004", + "refinement_interpretation_Tm_refine_9be93eb8192f91cc0dfb90cf75149f6a", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "subterm_ordering_Prims.Cons", "typing_Pulse.Syntax.Base.eq_list" + "subterm_ordering_Prims.Cons", "typing_Pulse.Syntax.Base.eq_list_dec" ], 0, - "75e23ad1d2a26368f06d1eda25930cd9" + "25f86125bcb1845fadaf642cdce08520" ], [ "Pulse.Syntax.Base.eq_binder", @@ -434,7 +550,136 @@ "string_typing" ], 0, - "9dde156dcef197a4baa2d59963e64a65" + "5c5412d6ac2b13d1b8be2c0492e870f5" + ], + [ + "Pulse.Syntax.Base.sealed_list_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "5f916101c56e938369f5772f9cfb36e5" + ], + [ + "Pulse.Syntax.Base.sealed_list_eq", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_71aeab2b21935e561601beed02739c04_2", + "binder_x_71aeab2b21935e561601beed02739c04_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "primitive_Prims.op_Addition", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.Sealed.sealed" + ], + 0, + "750764de793356ff377eaaa8e770bd8a" + ], + [ + "Pulse.Syntax.Base.eq_pattern", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Syntax.Base.eq_list_dec.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Pulse.Syntax.Base_interpretation_Tm_arrow_26401cb811f4c3629c1b5b14409076e1", + "Pulse.Syntax.Base_interpretation_Tm_arrow_a67d40c780f758772c1312a51e4ce563", + "Pulse.Syntax.Base_pretyping_be189e4f396d5337499ee0c3708ca7f2", + "binder_x_be189e4f396d5337499ee0c3708ca7f2_0", + "binder_x_be189e4f396d5337499ee0c3708ca7f2_1", "bool_typing", + "data_elim_Pulse.Syntax.Base.Mkfv", + "disc_equation_Pulse.Syntax.Base.Pat_Cons", + "disc_equation_Pulse.Syntax.Base.Pat_Constant", + "disc_equation_Pulse.Syntax.Base.Pat_Dot_Term", + "disc_equation_Pulse.Syntax.Base.Pat_Var", + "equation_FStar.Range.range", "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.Typing.pp_name_t", + "equation_Prims.eqtype", "equation_Pulse.Syntax.Base.range", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Pulse.Syntax.Base.fv", + "fuel_guarded_inversion_Pulse.Syntax.Base.pattern", + "function_token_typing_Prims.bool", + "function_token_typing_Prims.string", + "function_token_typing_Pulse.Syntax.Base.eq_sub_pat", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Pulse.Syntax.Base.pattern@tok", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "lemma_Pulse.Syntax.Base.range_singleton", + "primitive_Prims.op_Equality", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_Pulse.Syntax.Base.Mkfv_fv_name", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Pulse.Syntax.Base.Pat_Cons__0", + "projection_inverse_Pulse.Syntax.Base.Pat_Cons__1", + "projection_inverse_Pulse.Syntax.Base.Pat_Constant__0", + "projection_inverse_Pulse.Syntax.Base.Pat_Dot_Term__0", + "projection_inverse_Pulse.Syntax.Base.Pat_Var__0", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_4119b51505e7e060b7e890e724ebbf23", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_aff86038ec0e98b46eac9c263acd8c1b", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", + "string_typing", "subterm_ordering_Pulse.Syntax.Base.Pat_Cons", + "typing_Pulse.Syntax.Base.eq_list_dec" + ], + 0, + "8c70313652eb41debb6f01be817651ea" + ], + [ + "Pulse.Syntax.Base.eq_pattern", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_ae7c08334e415556da5d81a8e08db0b1_0", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_37df66f0910004249b4efa1a7b48d92f", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "typing_Pulse.Syntax.Base.eq_pattern" + ], + 0, + "a4e7c64edcec11b83668fedbd4e142a0" ], [ "Pulse.Syntax.Base.eq_st_term", @@ -444,16 +689,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Pulse.Syntax.Base.eq_list.fuel_instrumented", + "@fuel_correspondence_Pulse.Syntax.Base.eq_list_dec.fuel_instrumented", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Pulse.Syntax.Base_interpretation_Tm_arrow_0c8ce57cfdf40e20075f6c8b4ba9fc98", + "Pulse.Syntax.Base_interpretation_Tm_arrow_674496c974dc2c4d65a642327c7e3833", "Pulse.Syntax.Base_interpretation_Tm_arrow_972eb530eed225e25dbff78792d72c3d", + "Pulse.Syntax.Base_interpretation_Tm_arrow_a67d40c780f758772c1312a51e4ce563", "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", "Pulse.Syntax.Base_pretyping_0b425ab385a56835d52cd71c18622a32", + "Pulse.Syntax.Base_pretyping_952144267ca47956accb3ddd27aaf6dc", "Pulse.Syntax.Base_pretyping_adc52787535d21bdc2731720d86e99a8", "Pulse.Syntax.Base_pretyping_fa5c7efe36c086579ecac559fdac8c1f", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Pulse.Syntax.Base.ctag__uu___haseq", + "assumption_Pulse.Syntax.Base.proof_hint_type__uu___haseq", "assumption_Pulse.Syntax.Base.qualifier__uu___haseq", "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_0", "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_1", "bool_inversion", @@ -461,10 +711,11 @@ "data_elim_Pulse.Syntax.Base.Mkppname", "data_elim_Pulse.Syntax.Base.Mkst_term", "data_elim_Pulse.Syntax.Base.Tm_Abs", - "data_elim_Pulse.Syntax.Base.Tm_AssertWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Bind", "data_elim_Pulse.Syntax.Base.Tm_If", + "data_elim_Pulse.Syntax.Base.Tm_Match", "data_elim_Pulse.Syntax.Base.Tm_Par", + "data_elim_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Protect", "data_elim_Pulse.Syntax.Base.Tm_TotBind", "data_elim_Pulse.Syntax.Base.Tm_While", @@ -472,13 +723,14 @@ "data_typing_intro_Pulse.Syntax.Base.STT_Atomic@tok", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -486,10 +738,12 @@ "disc_equation_Pulse.Syntax.Base.Tm_TotBind", "disc_equation_Pulse.Syntax.Base.Tm_While", "disc_equation_Pulse.Syntax.Base.Tm_WithLocal", + "equality_tok_Pulse.Syntax.Base.ASSERT@tok", "equality_tok_Pulse.Syntax.Base.Implicit@tok", "equation_FStar.Range.range", "equation_FStar.Reflection.Typing.pp_name_t", - "equation_Prims.eqtype", "equation_Pulse.Syntax.Base.eq_tm_list", + "equation_Prims.eqtype", "equation_Pulse.Syntax.Base.branch", + "equation_Pulse.Syntax.Base.eq_tm_list", "equation_Pulse.Syntax.Base.eq_tm_opt", "equation_Pulse.Syntax.Base.eq_univ", "equation_Pulse.Syntax.Base.range", @@ -503,9 +757,12 @@ "fuel_guarded_inversion_Pulse.Syntax.Base.term", "function_token_typing_Prims.bool", "function_token_typing_Prims.string", + "function_token_typing_Pulse.Syntax.Base.branch", "function_token_typing_Pulse.Syntax.Base.eq_binder", + "function_token_typing_Pulse.Syntax.Base.eq_branch", "kinding_Pulse.Syntax.Base.binder@tok", "kinding_Pulse.Syntax.Base.qualifier@tok", + "kinding_Pulse.Syntax.Base.st_term@tok", "lemma_FStar.Sealed.Inhabited.sealed_singleton", "lemma_Pulse.Syntax.Base.range_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -516,19 +773,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_ascription", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_b", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_body", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_post", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_pre", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_q", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_ret_ty", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_ctag", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_post", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_typ", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_u", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload_binders", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload_t", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload_v", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload_binder", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload_body", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload_head", @@ -541,12 +793,19 @@ "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_IntroExists__payload_p", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_IntroExists__payload_witnesses", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_IntroPure__payload_p", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload_brs", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload_returns_", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload_sc", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_body1", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_body2", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_post1", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_post2", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_pre1", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_pre2", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload_binders", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload_hint_type", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload_t", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload_v", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload_t", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Return__payload_ctag", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Return__payload_insert_eq", @@ -566,13 +825,14 @@ "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload_initializer", "projection_inverse_Pulse.Syntax.Base.Tm_Abs__0", "projection_inverse_Pulse.Syntax.Base.Tm_Admit__0", - "projection_inverse_Pulse.Syntax.Base.Tm_AssertWithBinders__0", "projection_inverse_Pulse.Syntax.Base.Tm_Bind__0", "projection_inverse_Pulse.Syntax.Base.Tm_ElimExists__0", "projection_inverse_Pulse.Syntax.Base.Tm_If__0", "projection_inverse_Pulse.Syntax.Base.Tm_IntroExists__0", "projection_inverse_Pulse.Syntax.Base.Tm_IntroPure__0", + "projection_inverse_Pulse.Syntax.Base.Tm_Match__0", "projection_inverse_Pulse.Syntax.Base.Tm_Par__0", + "projection_inverse_Pulse.Syntax.Base.Tm_ProofHintWithBinders__0", "projection_inverse_Pulse.Syntax.Base.Tm_Protect__0", "projection_inverse_Pulse.Syntax.Base.Tm_Return__0", "projection_inverse_Pulse.Syntax.Base.Tm_Rewrite__0", @@ -580,41 +840,70 @@ "projection_inverse_Pulse.Syntax.Base.Tm_TotBind__0", "projection_inverse_Pulse.Syntax.Base.Tm_While__0", "projection_inverse_Pulse.Syntax.Base.Tm_WithLocal__0", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_323fbfb0e164f38a1102fbe194d8ba6f", + "refinement_interpretation_Tm_refine_4119b51505e7e060b7e890e724ebbf23", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7d6f2222ed300d64137fb5039eeb561e", "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_c89484848eef596580b6d2539e2186ec", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "string_typing", "subterm_ordering_Pulse.Syntax.Base.Mkst_term", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload", - "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_If__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_TotBind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", "subterm_ordering_Pulse.Syntax.Base.Tm_Abs", - "subterm_ordering_Pulse.Syntax.Base.Tm_AssertWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Bind", "subterm_ordering_Pulse.Syntax.Base.Tm_If", + "subterm_ordering_Pulse.Syntax.Base.Tm_Match", "subterm_ordering_Pulse.Syntax.Base.Tm_Par", + "subterm_ordering_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Protect", "subterm_ordering_Pulse.Syntax.Base.Tm_TotBind", "subterm_ordering_Pulse.Syntax.Base.Tm_While", "subterm_ordering_Pulse.Syntax.Base.Tm_WithLocal", "typing_Pulse.Syntax.Base.__proj__Mkbinder__item__binder_ty", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term", + "typing_Pulse.Syntax.Base.eq_comp", "typing_Pulse.Syntax.Base.eq_list", + "typing_Pulse.Syntax.Base.eq_list_dec", "typing_Pulse.Syntax.Base.eq_st_term", "typing_Pulse.Syntax.Base.eq_tm", "typing_Pulse.Syntax.Base.eq_tm_list", "typing_Pulse.Syntax.Base.eq_tm_opt", "typing_Pulse.Syntax.Base.eq_univ", + "typing_tok_Pulse.Syntax.Base.ASSERT@tok", "typing_tok_Pulse.Syntax.Base.Implicit@tok" ], 0, - "045c0aa30779a9bbe767e53a07d986bf" + "d695f9f6af03db12a7b2d6b70296a24a" + ], + [ + "Pulse.Syntax.Base.eq_st_term", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Syntax.Base.eq_pattern.fuel_instrumented", + "@query", "binder_x_eb84920ddcf811c52d43769218f8dfbd_0", + "equation_with_fuel_Pulse.Syntax.Base.eq_pattern.fuel_instrumented", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_7ba6ff2600953c7d0667d030ed19fb43", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "typing_Pulse.Syntax.Base.eq_pattern", + "typing_Pulse.Syntax.Base.eq_st_term" + ], + 0, + "76d38a8cc5e25cab43d79dbf36307da1" ], [ "Pulse.Syntax.Base.comp_res", @@ -631,7 +920,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7decfd1b54856549603882046b1aaa00" + "d100c2cbe0e198736bd29c503c961d05" ], [ "Pulse.Syntax.Base.st_comp_of_comp", @@ -648,7 +937,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "58bf26682df71c15c862cd3f4dcefdcc" + "87e211facca44b9344a6ee16e7bec63f" ], [ "Pulse.Syntax.Base.with_st_comp", @@ -665,7 +954,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "d2a2df748b59f65116c02d4acd697ac6" + "194445c8f33b5565b6e977119c3e2c86" ], [ "Pulse.Syntax.Base.comp_u", @@ -682,7 +971,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "cfbf260e0da01cd5f442c6354d141845" + "eada80d290f11aa056591504bfa8823a" ], [ "Pulse.Syntax.Base.comp_pre", @@ -699,7 +988,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "0dfbc1329dc7cccc64805aa4dda879f9" + "b8efc50ae906f089aab383e3476e9aef" ], [ "Pulse.Syntax.Base.comp_post", @@ -716,7 +1005,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "388103d4e1ef6deba7a316680c283a66" + "9a7712ad5393edb669d599ceea2a58d0" ], [ "Pulse.Syntax.Base.comp_inames", @@ -728,7 +1017,7 @@ "refinement_interpretation_Tm_refine_bebfa9a182c5e6d65227dc4b5fcbd611" ], 0, - "ef13a4f405ded14849f9129ab16acb7c" + "caa38e12aa81e10fbdd272a0a7a5b085" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Syntax.Base.fsti.hints b/lib/steel/pulse/Pulse.Syntax.Base.fsti.hints index 1c32c4321..5af8a6288 100644 --- a/lib/steel/pulse/Pulse.Syntax.Base.fsti.hints +++ b/lib/steel/pulse/Pulse.Syntax.Base.fsti.hints @@ -1,5 +1,5 @@ [ - "M7ϋSç]d", + "Z\f)l;}\b8v\u001e", [ [ "Pulse.Syntax.Base.range_singleton", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "0e569877d73494303d06b6d9baf80cca" + "8f999629aa9ff5a62a7b0bbc9f8fb8df" ], [ "Pulse.Syntax.Base.ppname_default", @@ -23,7 +23,7 @@ "string_typing", "true_interp" ], 0, - "e3a931ebee483bf56ce807c5ee1d48ed" + "732f2fbc2d456c1261ff9f69d687124f" ], [ "Pulse.Syntax.Base.mk_ppname", @@ -32,7 +32,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "8598554e9e2bc5fb83ebd5f33a4590db" + "df5a2b20da050c7609da1d4d62ebfc69" ], [ "Pulse.Syntax.Base.as_fv", @@ -41,7 +41,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "c2f8e85a16e5c687f190a45b50d1f6ea" + "196269a0eb3f5419c4a691c9e99e3207" ], [ "Pulse.Syntax.Base.tm_vprop", @@ -50,7 +50,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "4a5f6e259ce0491105b06cd15d47d5a3" + "b3765ef1b86efc8371ee80f6e5cd12c4" ], [ "Pulse.Syntax.Base.tm_inames", @@ -59,7 +59,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "095fc93ebbc434632fb7c31b3d186209" + "3be752c8921c59f3e24fdf54c56e8775" ], [ "Pulse.Syntax.Base.tm_emp", @@ -68,7 +68,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "c7707e2c25e3e4238faf45c733dd9593" + "65942e1df64d2e7c940559e53966fe9d" ], [ "Pulse.Syntax.Base.tm_emp_inames", @@ -77,7 +77,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "dac3f9d868d7f296f8b6de815b6cfa77" + "471d89c1afb8d2eb28b671c434a52f23" ], [ "Pulse.Syntax.Base.tm_unknown", @@ -86,7 +86,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "03d9be60497e3bf64fbe00765915fd5a" + "d6a7e22822f767b093c50ca6140b6c1a" ], [ "Pulse.Syntax.Base.tm_star", @@ -95,7 +95,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "86274da4ac79e072e2811f2c8f447172" + "a4fe7cc685b4a608c1193a6e7f5a4b55" ], [ "Pulse.Syntax.Base.tm_exists_sl", @@ -104,7 +104,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "bff24bf8c9d78de27bd0403c289ec864" + "d7da715136b2f5f9961acca8014594f0" ], [ "Pulse.Syntax.Base.tm_forall_sl", @@ -113,7 +113,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "0d8bbd91fa92a05537068854a45e3ba6" + "137d99349012ca3e69779c66e7d39f52" ], [ "Pulse.Syntax.Base.__proj__C_Tot__item___0", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_f30c5c1cb0a78245bc6b75b64fa49472" ], 0, - "28366c22c355c8be5382fd8ec51d0cb2" + "e46c6f1afeb49c1aa4b9d0db496f59f7" ], [ "Pulse.Syntax.Base.__proj__C_ST__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" ], 0, - "2df97087ef55344db59382ae8c0349cc" + "467d5cc66d82ae3406df454eb4c580b1" ], [ "Pulse.Syntax.Base.__proj__C_STAtomic__item___0", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_13d5b859272356b5c25fbc5503eba342" ], 0, - "241e7c05e128b6a810d5b11c2113b51c" + "a5defae6ce96ca71969aa4a37ac7ce78" ], [ "Pulse.Syntax.Base.__proj__C_STAtomic__item___1", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_13d5b859272356b5c25fbc5503eba342" ], 0, - "4feb55c32a56a1c7ef5212ef269ee383" + "81ca6d9e573ce06fad067e25056a575b" ], [ "Pulse.Syntax.Base.__proj__C_STGhost__item___0", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_dc14c56dc5eae6acd747c5a527061f28" ], 0, - "ed507b7608f2578a27069f2fef41b4f5" + "39e656342b964720707b80d61e8c5b52" ], [ "Pulse.Syntax.Base.__proj__C_STGhost__item___1", @@ -185,7 +185,107 @@ "refinement_interpretation_Tm_refine_dc14c56dc5eae6acd747c5a527061f28" ], 0, - "4a5fe3e5e86f9c01afa7d143f1daac02" + "0778f7e71f7e446578d7b550602d652d" + ], + [ + "Pulse.Syntax.Base.__proj__Pat_Cons__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_41d61c50c285817138d0c4ccdc37aecf" + ], + 0, + "e88f49a35f8f880a249d180cdca74883" + ], + [ + "Pulse.Syntax.Base.__proj__Pat_Cons__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_41d61c50c285817138d0c4ccdc37aecf" + ], + 0, + "c826c5224339fb02ceb1ad0d2ef78d11" + ], + [ + "Pulse.Syntax.Base.__proj__Pat_Constant__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_58dcc98eb0632c9d4afcf6358df50df8" + ], + 0, + "996ee3387ee6b284e2688f60d674acca" + ], + [ + "Pulse.Syntax.Base.__proj__Pat_Var__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c79c8e19f051c7cc39a2d9ef013332b5" + ], + 0, + "bfcea13ed056b899619a5490c8bad4e0" + ], + [ + "Pulse.Syntax.Base.__proj__Pat_Dot_Term__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_090c92bdc662d943f410552352af16d1" + ], + 0, + "8ce2f290b0081d401a1ebc1ef62712a3" + ], + [ + "Pulse.Syntax.Base.proof_hint_type", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "assumption_FStar.Pervasives.Native.option__uu___haseq", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "function_token_typing_Prims.string", "kinding_Prims.list@tok", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "typing_FStar.Reflection.Types.name" + ], + 0, + "8ac1974702dace683057c0c256c1bf3c" + ], + [ + "Pulse.Syntax.Base.__proj__FOLD__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f02de02470d5e55219e650c427644816" + ], + 0, + "489ef0b7576787eb60d846f6e7139bfd" + ], + [ + "Pulse.Syntax.Base.__proj__UNFOLD__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_933b55bf9733f30018ae22580b1cc815" + ], + 0, + "167e5a14aafd3d592c8199fad399d61f" ], [ "Pulse.Syntax.Base.comp_res", @@ -202,7 +302,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ed41a41d5b1d16f1bdc7256c20f60210" + "c60709e087400507353f81f0ce9f72b1" ], [ "Pulse.Syntax.Base.st_comp_of_comp", @@ -219,7 +319,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "453338037dd4190c995d4747b6cf7223" + "87e211facca44b9344a6ee16e7bec63f" ], [ "Pulse.Syntax.Base.with_st_comp", @@ -236,7 +336,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "49ba5457356083f424efdb0be831ffcc" + "194445c8f33b5565b6e977119c3e2c86" ], [ "Pulse.Syntax.Base.comp_u", @@ -253,7 +353,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "6cf4c8108cc34952039f1beeb925aaa4" + "eada80d290f11aa056591504bfa8823a" ], [ "Pulse.Syntax.Base.comp_pre", @@ -270,7 +370,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "8f7191656bc20e01ce8cc4af5b1caa1a" + "b8efc50ae906f089aab383e3476e9aef" ], [ "Pulse.Syntax.Base.comp_post", @@ -287,7 +387,7 @@ "refinement_interpretation_Tm_refine_385f59c31213d29cc308b93df5d99dc9" ], 0, - "a94926d041f8a2e82d62c9de89595ae7" + "9a7712ad5393edb669d599ceea2a58d0" ], [ "Pulse.Syntax.Base.comp_inames", @@ -299,7 +399,7 @@ "refinement_interpretation_Tm_refine_bebfa9a182c5e6d65227dc4b5fcbd611" ], 0, - "05e6b7dfc239ab7c2156822776078571" + "caa38e12aa81e10fbdd272a0a7a5b085" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Syntax.Builder.fst.hints b/lib/steel/pulse/Pulse.Syntax.Builder.fst.hints index f363f3c28..ccfea4c84 100644 --- a/lib/steel/pulse/Pulse.Syntax.Builder.fst.hints +++ b/lib/steel/pulse/Pulse.Syntax.Builder.fst.hints @@ -1 +1 @@ -[ "~0j$hl\u001ew.3V\fg", [] ] \ No newline at end of file +[ "\u001bPW=", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Syntax.Naming.fst.hints b/lib/steel/pulse/Pulse.Syntax.Naming.fst.hints index da26a2269..84b65e6dc 100644 --- a/lib/steel/pulse/Pulse.Syntax.Naming.fst.hints +++ b/lib/steel/pulse/Pulse.Syntax.Naming.fst.hints @@ -1,5 +1,5 @@ [ - "\u007f\u0014Jp\u0001\bP", + "ib\u0001#_", [ [ "Pulse.Syntax.Naming.freevars", @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "474862606c20172350ec0a2d624abe72" + "e886b594e3777bd936a097867098f31e" ], [ "Pulse.Syntax.Naming.freevars", @@ -66,7 +66,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "64c9639090a5037af1cc2384ff54d85b" + "c057c8593244ca1842163de9e32527b0" ], [ "Pulse.Syntax.Naming.freevars_st_comp", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0b4aa97fa4c92ea0ae80744cd761a28" + "e9c28d49c4a7d0b369d1d37391bb5594" ], [ "Pulse.Syntax.Naming.freevars_comp", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b4a6516cc0bf5d9ee2ade6de1de1cf9b" + "0d98449f65c9899e2e986a30321d8ee5" ], [ "Pulse.Syntax.Naming.freevars_opt", @@ -114,12 +114,41 @@ "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_Pulse.Syntax.Base.term@tok", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "64a732ce5905f5d8285931ba91ad6243" + ], + [ + "Pulse.Syntax.Naming.freevars_opt", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Pervasives.invertOption", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "27c68a5a0277a8dec29257bdef815995" + "c202ff5b7ab2c81daf62412ff8e0bb80" + ], + [ + "Pulse.Syntax.Naming.freevars_term_opt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "fcb758289a1f7c277c4cc59ff2527146" ], [ "Pulse.Syntax.Naming.freevars_list", @@ -134,7 +163,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "88fe030be2f502b511d3ce38f2572b21" + "4073161ccbe309f0679680397d27343e" ], [ "Pulse.Syntax.Naming.freevars_list", @@ -155,7 +184,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "1ef377e01949d0a93c09400a67082a18" + "5063479107d1905e7c0b3e5f66c92fbc" ], [ "Pulse.Syntax.Naming.freevars_st", @@ -170,7 +199,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5733895680a9a8a657944978f99c7365" + "88ead742b38c0607af72b92fb383a6e4" ], [ "Pulse.Syntax.Naming.freevars_st", @@ -183,23 +212,25 @@ "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_0", "data_elim_Pulse.Syntax.Base.Mkst_term", "data_elim_Pulse.Syntax.Base.Tm_Abs", - "data_elim_Pulse.Syntax.Base.Tm_AssertWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Bind", "data_elim_Pulse.Syntax.Base.Tm_If", + "data_elim_Pulse.Syntax.Base.Tm_Match", "data_elim_Pulse.Syntax.Base.Tm_Par", + "data_elim_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Protect", "data_elim_Pulse.Syntax.Base.Tm_TotBind", "data_elim_Pulse.Syntax.Base.Tm_While", "data_elim_Pulse.Syntax.Base.Tm_WithLocal", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -218,6 +249,7 @@ "projection_inverse_Pulse.Syntax.Base.Tm_Abs__0", "projection_inverse_Pulse.Syntax.Base.Tm_Bind__0", "projection_inverse_Pulse.Syntax.Base.Tm_If__0", + "projection_inverse_Pulse.Syntax.Base.Tm_Match__0", "projection_inverse_Pulse.Syntax.Base.Tm_Par__0", "projection_inverse_Pulse.Syntax.Base.Tm_Protect__0", "projection_inverse_Pulse.Syntax.Base.Tm_TotBind__0", @@ -226,19 +258,21 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Pulse.Syntax.Base.Mkst_term", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload", - "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_If__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_TotBind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", "subterm_ordering_Pulse.Syntax.Base.Tm_Abs", - "subterm_ordering_Pulse.Syntax.Base.Tm_AssertWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Bind", "subterm_ordering_Pulse.Syntax.Base.Tm_If", + "subterm_ordering_Pulse.Syntax.Base.Tm_Match", "subterm_ordering_Pulse.Syntax.Base.Tm_Par", + "subterm_ordering_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Protect", "subterm_ordering_Pulse.Syntax.Base.Tm_TotBind", "subterm_ordering_Pulse.Syntax.Base.Tm_While", @@ -246,7 +280,44 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" ], 0, - "36ab24254876a75ff16a9c13f1600215" + "3507425fed8dad9c087308c9511a57d8" + ], + [ + "Pulse.Syntax.Naming.freevars_st", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "88e5240c6c696a41d7e30b2f373d97a0" + ], + [ + "Pulse.Syntax.Naming.freevars_st", + 4, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_5050230f800077c3aae79c50c62e4c18_0", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_Prims.Cons" + ], + 0, + "06c5d09e0cec2f757d66d5dec862d88b" ], [ "Pulse.Syntax.Naming.ln'", @@ -288,7 +359,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "fc4e13f01b5e3c230bda1adbd2f0bf57" + "b3a3da5604b94759cc8e88cf17fcd59f" ], [ "Pulse.Syntax.Naming.ln_c'", @@ -305,7 +376,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b5b634b01a45893324f01bc221fb5118" + "495ae87ce9060cddcf36fb01343a66d6" ], [ "Pulse.Syntax.Naming.ln_opt'", @@ -317,7 +388,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "762c15c3bd7f19902ccccf2143ad2a9f" + "bcbb3a0b44c39d3fcd541a7208b096ef" ], [ "Pulse.Syntax.Naming.ln_list'", @@ -332,7 +403,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "f2001ab34036679fc8885e8326c57b60" + "cfdfe96b3faba5986a71dab2e5858215" ], [ "Pulse.Syntax.Naming.ln_st'", @@ -345,23 +416,25 @@ "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_0", "data_elim_Pulse.Syntax.Base.Mkst_term", "data_elim_Pulse.Syntax.Base.Tm_Abs", - "data_elim_Pulse.Syntax.Base.Tm_AssertWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Bind", "data_elim_Pulse.Syntax.Base.Tm_If", + "data_elim_Pulse.Syntax.Base.Tm_Match", "data_elim_Pulse.Syntax.Base.Tm_Par", + "data_elim_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Protect", "data_elim_Pulse.Syntax.Base.Tm_TotBind", "data_elim_Pulse.Syntax.Base.Tm_While", "data_elim_Pulse.Syntax.Base.Tm_WithLocal", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -376,6 +449,7 @@ "projection_inverse_Pulse.Syntax.Base.Tm_Abs__0", "projection_inverse_Pulse.Syntax.Base.Tm_Bind__0", "projection_inverse_Pulse.Syntax.Base.Tm_If__0", + "projection_inverse_Pulse.Syntax.Base.Tm_Match__0", "projection_inverse_Pulse.Syntax.Base.Tm_Par__0", "projection_inverse_Pulse.Syntax.Base.Tm_Protect__0", "projection_inverse_Pulse.Syntax.Base.Tm_TotBind__0", @@ -383,19 +457,21 @@ "projection_inverse_Pulse.Syntax.Base.Tm_WithLocal__0", "subterm_ordering_Pulse.Syntax.Base.Mkst_term", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload", - "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_If__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_TotBind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", "subterm_ordering_Pulse.Syntax.Base.Tm_Abs", - "subterm_ordering_Pulse.Syntax.Base.Tm_AssertWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Bind", "subterm_ordering_Pulse.Syntax.Base.Tm_If", + "subterm_ordering_Pulse.Syntax.Base.Tm_Match", "subterm_ordering_Pulse.Syntax.Base.Tm_Par", + "subterm_ordering_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Protect", "subterm_ordering_Pulse.Syntax.Base.Tm_TotBind", "subterm_ordering_Pulse.Syntax.Base.Tm_While", @@ -403,7 +479,30 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" ], 0, - "44366b187c56100bf13b8a6696fd387d" + "c56217a02c2b3f352552ce34831adb70" + ], + [ + "Pulse.Syntax.Naming.ln_st'", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_eb84920ddcf811c52d43769218f8dfbd_1", + "disc_equation_Pulse.Syntax.Base.Pat_Cons", + "disc_equation_Pulse.Syntax.Base.Pat_Constant", + "disc_equation_Pulse.Syntax.Base.Pat_Dot_Term", + "disc_equation_Pulse.Syntax.Base.Pat_Var", + "fuel_guarded_inversion_Pulse.Syntax.Base.pattern", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_090c92bdc662d943f410552352af16d1", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "typing_Pulse.Syntax.Base.__proj__Pat_Dot_Term__item___0" + ], + 0, + "d36e3baf2b1a5b97fd99a091b4c8b4d3" ], [ "Pulse.Syntax.Naming.__proj__DT__item___0", @@ -415,7 +514,7 @@ "refinement_interpretation_Tm_refine_8c81d20b67a6909c9a4ec95659f4bc57" ], 0, - "f916e364ff7d5e45e5f96f58a0f1f6e5" + "9661542d715ebb49de7e4e68b52da53a" ], [ "Pulse.Syntax.Naming.__proj__DT__item___1", @@ -427,7 +526,7 @@ "refinement_interpretation_Tm_refine_8c81d20b67a6909c9a4ec95659f4bc57" ], 0, - "64f7fa91be238b56b4eab65e70b63b00" + "6a81b65f9eca99a6216d9f2fd7909555" ], [ "Pulse.Syntax.Naming.__proj__NT__item___0", @@ -439,7 +538,7 @@ "refinement_interpretation_Tm_refine_03ca9e2aec06dfb5cf2ebeb05f6e9e77" ], 0, - "ce40437ec8a0393b0c5427193060c069" + "fbbc376a0baa81a2ab607694d19c604a" ], [ "Pulse.Syntax.Naming.__proj__NT__item___1", @@ -451,7 +550,7 @@ "refinement_interpretation_Tm_refine_03ca9e2aec06dfb5cf2ebeb05f6e9e77" ], 0, - "7cfad656d21ca5b3704d35a384c286c7" + "608f41e0213f618a18bc7df28c030019" ], [ "Pulse.Syntax.Naming.__proj__ND__item___0", @@ -463,7 +562,7 @@ "refinement_interpretation_Tm_refine_a138c50480a2ecdadef153ae1f6216fe" ], 0, - "9201007fa82258c72a807da8856c7d59" + "22a55582bdb4f89d6de8da74a38512d6" ], [ "Pulse.Syntax.Naming.__proj__ND__item___1", @@ -475,7 +574,7 @@ "refinement_interpretation_Tm_refine_a138c50480a2ecdadef153ae1f6216fe" ], 0, - "e90630c6cc97bbaac92c41ac08a8f921" + "a880ba436375254ffacd298edca6045a" ], [ "Pulse.Syntax.Naming.shift_subst_elt", @@ -494,7 +593,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0f7f9709d01f83d042c846b153f5cdc9" + "cd037ea72a2338b89ea16ac7aef5187d" ], [ "Pulse.Syntax.Naming.rt_subst_elt", @@ -510,7 +609,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f99be6c9c72a463c4dd3ab1d9cf722f4" + "5a89c57d16d94e3deaaddf0c4fa95b53" ], [ "Pulse.Syntax.Naming.subst_term", @@ -552,7 +651,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "88262aec6f5eb426671beee9fd1a735c" + "59c6b40b0cf411dfb67e6997322b86dd" ], [ "Pulse.Syntax.Naming.subst_comp", @@ -569,7 +668,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "04dbed0e2dacf643cc21349bbecc3b4f" + "2f1e0d1ac57de8e0c2ebb76d5e73ffe3" ], [ "Pulse.Syntax.Naming.subst_term_opt", @@ -581,7 +680,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "d0a6a60d6507f7b19dc6552a7501e2aa" + "16bbe44d076b504c3d955a997e5ec94e" ], [ "Pulse.Syntax.Naming.subst_term_list", @@ -596,7 +695,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "bf36877cfa4aa3c694d026412ad51240" + "006c46e4804442e47c8d332906bf712d" ], [ "Pulse.Syntax.Naming.subst_st_term", @@ -609,23 +708,25 @@ "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_0", "data_elim_Pulse.Syntax.Base.Mkst_term", "data_elim_Pulse.Syntax.Base.Tm_Abs", - "data_elim_Pulse.Syntax.Base.Tm_AssertWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Bind", "data_elim_Pulse.Syntax.Base.Tm_If", + "data_elim_Pulse.Syntax.Base.Tm_Match", "data_elim_Pulse.Syntax.Base.Tm_Par", + "data_elim_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Protect", "data_elim_Pulse.Syntax.Base.Tm_TotBind", "data_elim_Pulse.Syntax.Base.Tm_While", "data_elim_Pulse.Syntax.Base.Tm_WithLocal", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -633,6 +734,7 @@ "disc_equation_Pulse.Syntax.Base.Tm_TotBind", "disc_equation_Pulse.Syntax.Base.Tm_While", "disc_equation_Pulse.Syntax.Base.Tm_WithLocal", + "equation_Pulse.Syntax.Base.branch", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term_", "proj_equation_Pulse.Syntax.Base.Mkst_term_term", @@ -640,6 +742,7 @@ "projection_inverse_Pulse.Syntax.Base.Tm_Abs__0", "projection_inverse_Pulse.Syntax.Base.Tm_Bind__0", "projection_inverse_Pulse.Syntax.Base.Tm_If__0", + "projection_inverse_Pulse.Syntax.Base.Tm_Match__0", "projection_inverse_Pulse.Syntax.Base.Tm_Par__0", "projection_inverse_Pulse.Syntax.Base.Tm_Protect__0", "projection_inverse_Pulse.Syntax.Base.Tm_TotBind__0", @@ -647,19 +750,21 @@ "projection_inverse_Pulse.Syntax.Base.Tm_WithLocal__0", "subterm_ordering_Pulse.Syntax.Base.Mkst_term", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload", - "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_If__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_TotBind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", "subterm_ordering_Pulse.Syntax.Base.Tm_Abs", - "subterm_ordering_Pulse.Syntax.Base.Tm_AssertWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Bind", "subterm_ordering_Pulse.Syntax.Base.Tm_If", + "subterm_ordering_Pulse.Syntax.Base.Tm_Match", "subterm_ordering_Pulse.Syntax.Base.Tm_Par", + "subterm_ordering_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Protect", "subterm_ordering_Pulse.Syntax.Base.Tm_TotBind", "subterm_ordering_Pulse.Syntax.Base.Tm_While", @@ -667,7 +772,71 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" ], 0, - "42987d9ed7173c8f1f0f3881e06b9a7c" + "f77777458c441f779e029ba0895da584" + ], + [ + "Pulse.Syntax.Naming.subst_st_term", + 2, + 2, + 1, + [ "@query", "equation_Pulse.Syntax.Base.branch" ], + 0, + "98123a6046296f0d068ddf5f8e28098e" + ], + [ + "Pulse.Syntax.Naming.subst_st_term", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_eb84920ddcf811c52d43769218f8dfbd_1", + "disc_equation_Pulse.Syntax.Base.Pat_Cons", + "disc_equation_Pulse.Syntax.Base.Pat_Constant", + "disc_equation_Pulse.Syntax.Base.Pat_Dot_Term", + "disc_equation_Pulse.Syntax.Base.Pat_Var", + "fuel_guarded_inversion_Pulse.Syntax.Base.pattern", + "projection_inverse_BoxBool_proj_0", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "6c3853d2a4664971d125559aac479254" + ], + [ + "Pulse.Syntax.Naming.close_term_n", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons" + ], + 0, + "3e547cb84ff258219cc68c12a62b9235" + ], + [ + "Pulse.Syntax.Naming.close_st_term_n", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons" + ], + 0, + "f770df2c2b3a59f9b4d79ffff7e65973" ], [ "Pulse.Syntax.Naming.close_open_inverse'", @@ -682,7 +851,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4c80f786c3c11e4f8f65e1bc0f5b77bb" + "61fc3f0d5a63ae435c91893a88246f2f" ], [ "Pulse.Syntax.Naming.close_open_inverse'", @@ -697,7 +866,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "21bc03eb42d2c098bc94c2184d4c6eed" + "ccc7a1edc900978857380504c1aca0e6" ], [ "Pulse.Syntax.Naming.close_open_inverse'", @@ -875,7 +1044,7 @@ "typing_Pulse.Syntax.Pure.term_of_no_name_var" ], 0, - "cec9103fc05d5644cc853b4418123bc5" + "3900c9d2cefee98a3334a8142adee5b2" ], [ "Pulse.Syntax.Naming.close_open_inverse_comp'", @@ -890,7 +1059,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e2fb4b9e2adccc0b947eb3b178899fd1" + "3e6e41b0b020c6e25b51aba1448004af" ], [ "Pulse.Syntax.Naming.close_open_inverse_comp'", @@ -905,7 +1074,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6edf160d75f3591b563e9a155218da4a" + "b62d3eb099406b2141581aadd0c295ad" ], [ "Pulse.Syntax.Naming.close_open_inverse_comp'", @@ -915,7 +1084,6 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", "@query", "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", @@ -1002,7 +1170,7 @@ "typing_Pulse.Syntax.Pure.term_of_no_name_var" ], 0, - "874cd3e04accc2e7a989712d88130dd4" + "5c7ec25eb5a3a97d75e2d8793f3c3a07" ], [ "Pulse.Syntax.Naming.close_open_inverse_opt'", @@ -1017,7 +1185,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9496b76d88e25140a9c5f8e5ae155ecf" + "f5dd575bcaa7fabf2326015e864a4fdb" ], [ "Pulse.Syntax.Naming.close_open_inverse_opt'", @@ -1032,7 +1200,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6c49a9303a358058726537746f8ea9a2" + "2443583175e28c0346026ed9ecba70d9" ], [ "Pulse.Syntax.Naming.close_open_inverse_opt'", @@ -1049,6 +1217,7 @@ "equation_Pulse.Syntax.Naming.close_term_", "equation_Pulse.Syntax.Naming.close_term_opt_", "equation_Pulse.Syntax.Naming.freevars_opt", + "equation_Pulse.Syntax.Naming.freevars_term_opt", "equation_Pulse.Syntax.Naming.open_term_", "equation_Pulse.Syntax.Naming.open_term_opt_", "equation_Pulse.Syntax.Naming.subst_term_opt", @@ -1060,12 +1229,13 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_956da11d58e9638b02588e3f7cf5b8d7", + "refinement_interpretation_Tm_refine_d9770e5d65a5d0394a5252493e36b4e9", + "token_correspondence_Pulse.Syntax.Naming.freevars", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_Pulse.Syntax.Naming.freevars_opt" + "typing_Pulse.Syntax.Naming.freevars_term_opt" ], 0, - "bd74d4c3274208d58354706ab3318341" + "64ffc306269f1e2af1ceed9c6ddfb338" ], [ "Pulse.Syntax.Naming.close_open_inverse_list'", @@ -1080,7 +1250,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4bfd1455276d2a0071a94ff684e1d27c" + "66730541b9c351c4cfca1d073799d2b0" ], [ "Pulse.Syntax.Naming.close_open_inverse_list'", @@ -1095,7 +1265,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7d68dd62677cf41fbf1e67a3c5a7ab28" + "974777559216671fc9478391010ac5aa" ], [ "Pulse.Syntax.Naming.close_open_inverse_list'", @@ -1147,7 +1317,7 @@ "typing_Pulse.Syntax.Pure.term_of_no_name_var" ], 0, - "11b4b0440e8b9177a02ed0eabb5cdf05" + "0d6dd1841bf85f250cfd76d71544ceac" ], [ "Pulse.Syntax.Naming.close_open_inverse_st'", @@ -1162,7 +1332,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "20f0ab7be8612b71b3607ad0510ff532" + "840e09686427f763a80fb103eebb85cf" ], [ "Pulse.Syntax.Naming.close_open_inverse_st'", @@ -1177,7 +1347,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "249e6fcab07997d7c9be3a4e8ba07b8d" + "1fa65e29c972f03360506bec260681ec" ], [ "Pulse.Syntax.Naming.close_open_inverse_st'", @@ -1204,13 +1374,14 @@ "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Pulse.Syntax.Base.Tm_Abs", "constructor_distinct_Pulse.Syntax.Base.Tm_Admit", - "constructor_distinct_Pulse.Syntax.Base.Tm_AssertWithBinders", "constructor_distinct_Pulse.Syntax.Base.Tm_Bind", "constructor_distinct_Pulse.Syntax.Base.Tm_ElimExists", "constructor_distinct_Pulse.Syntax.Base.Tm_If", "constructor_distinct_Pulse.Syntax.Base.Tm_IntroExists", "constructor_distinct_Pulse.Syntax.Base.Tm_IntroPure", + "constructor_distinct_Pulse.Syntax.Base.Tm_Match", "constructor_distinct_Pulse.Syntax.Base.Tm_Par", + "constructor_distinct_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "constructor_distinct_Pulse.Syntax.Base.Tm_Protect", "constructor_distinct_Pulse.Syntax.Base.Tm_Return", "constructor_distinct_Pulse.Syntax.Base.Tm_Rewrite", @@ -1224,20 +1395,20 @@ "data_elim_Pulse.Syntax.Base.Mkppname", "data_elim_Pulse.Syntax.Base.Mkst_term", "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload", - "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload", + "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload", "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload", + "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload", "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload", - "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_Rewrite__payload", "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", "data_elim_Pulse.Syntax.Base.Tm_Abs", "data_elim_Pulse.Syntax.Base.Tm_Admit", - "data_elim_Pulse.Syntax.Base.Tm_AssertWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Bind", "data_elim_Pulse.Syntax.Base.Tm_If", + "data_elim_Pulse.Syntax.Base.Tm_Match", "data_elim_Pulse.Syntax.Base.Tm_Par", + "data_elim_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Protect", - "data_elim_Pulse.Syntax.Base.Tm_Rewrite", "data_elim_Pulse.Syntax.Base.Tm_TotBind", "data_elim_Pulse.Syntax.Base.Tm_While", "data_elim_Pulse.Syntax.Base.Tm_WithLocal", @@ -1248,13 +1419,14 @@ "data_typing_intro_Pulse.Syntax.Naming.ND@tok", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -1271,10 +1443,12 @@ "equation_Pulse.Syntax.Base.range", "equation_Pulse.Syntax.Base.v_as_nv", "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Naming.close_comp_", "equation_Pulse.Syntax.Naming.close_st_term_", "equation_Pulse.Syntax.Naming.close_term_", "equation_Pulse.Syntax.Naming.close_term_list_", "equation_Pulse.Syntax.Naming.close_term_opt_", + "equation_Pulse.Syntax.Naming.open_comp_", "equation_Pulse.Syntax.Naming.open_st_term_", "equation_Pulse.Syntax.Naming.open_term_", "equation_Pulse.Syntax.Naming.open_term_list_", @@ -1286,6 +1460,7 @@ "equation_Pulse.Syntax.Naming.subst_binder", "equation_Pulse.Syntax.Pure.term_of_no_name_var", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_Pulse.Syntax.Naming.freevars_branches.fuel_instrumented", "equation_with_fuel_Pulse.Syntax.Naming.freevars_st.fuel_instrumented", "equation_with_fuel_Pulse.Syntax.Naming.subst_st_term.fuel_instrumented", "fuel_guarded_inversion_Pulse.Syntax.Base.binder", @@ -1293,10 +1468,10 @@ "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term_", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_Admit__payload", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_AssertWithBinders__payload", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_Match__payload", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_Par__payload", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_ProofHintWithBinders__payload", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_Protect__payload", - "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_Rewrite__payload", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_While__payload", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_WithLocal__payload", "fuel_guarded_inversion_Pulse.Syntax.Base.term", @@ -1327,19 +1502,14 @@ "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ty", "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", "projection_inverse_Pulse.Syntax.Base.Mkppname_name", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_ascription", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_b", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_body", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_post", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_pre", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_q", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload_ret_ty", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_ctag", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_post", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_typ", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_u", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload_binders", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload_t", - "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload_v", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload_binder", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload_body", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload_head", @@ -1354,12 +1524,19 @@ "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_IntroExists__payload_witnesses", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_IntroPure__payload_p", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_IntroPure__payload_should_check", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload_brs", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload_returns_", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload_sc", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_body1", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_body2", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_post1", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_post2", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_pre1", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload_pre2", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload_binders", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload_hint_type", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload_t", + "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload_v", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload_t", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Return__payload_ctag", "projection_inverse_Pulse.Syntax.Base.Mkst_term___Tm_Return__payload_insert_eq", @@ -1382,13 +1559,14 @@ "projection_inverse_Pulse.Syntax.Base.Mkst_term_term", "projection_inverse_Pulse.Syntax.Base.Tm_Abs__0", "projection_inverse_Pulse.Syntax.Base.Tm_Admit__0", - "projection_inverse_Pulse.Syntax.Base.Tm_AssertWithBinders__0", "projection_inverse_Pulse.Syntax.Base.Tm_Bind__0", "projection_inverse_Pulse.Syntax.Base.Tm_ElimExists__0", "projection_inverse_Pulse.Syntax.Base.Tm_If__0", "projection_inverse_Pulse.Syntax.Base.Tm_IntroExists__0", "projection_inverse_Pulse.Syntax.Base.Tm_IntroPure__0", + "projection_inverse_Pulse.Syntax.Base.Tm_Match__0", "projection_inverse_Pulse.Syntax.Base.Tm_Par__0", + "projection_inverse_Pulse.Syntax.Base.Tm_ProofHintWithBinders__0", "projection_inverse_Pulse.Syntax.Base.Tm_Protect__0", "projection_inverse_Pulse.Syntax.Base.Tm_Return__0", "projection_inverse_Pulse.Syntax.Base.Tm_Rewrite__0", @@ -1407,24 +1585,25 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "subterm_ordering_Pulse.Syntax.Base.Mkst_term", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload", - "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_If__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_TotBind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", "subterm_ordering_Pulse.Syntax.Base.Tm_Abs", - "subterm_ordering_Pulse.Syntax.Base.Tm_AssertWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Bind", "subterm_ordering_Pulse.Syntax.Base.Tm_If", "subterm_ordering_Pulse.Syntax.Base.Tm_Par", + "subterm_ordering_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Protect", "subterm_ordering_Pulse.Syntax.Base.Tm_TotBind", "subterm_ordering_Pulse.Syntax.Base.Tm_While", "subterm_ordering_Pulse.Syntax.Base.Tm_WithLocal", "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_Pulse.Syntax.Naming.freevars_branches.fuel_instrumented", "token_correspondence_Pulse.Syntax.Naming.freevars_st.fuel_instrumented", "token_correspondence_Pulse.Syntax.Naming.shift_subst_elt", "token_correspondence_Pulse.Syntax.Naming.shift_subst_n", @@ -1436,17 +1615,19 @@ "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__range", "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term", + "typing_Pulse.Syntax.Base.uu___is_Tm_Match", "typing_Pulse.Syntax.Base.v_as_nv", "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Syntax.Naming.freevars_comp", "typing_Pulse.Syntax.Naming.freevars_list", - "typing_Pulse.Syntax.Naming.freevars_opt", "typing_Pulse.Syntax.Naming.freevars_st", + "typing_Pulse.Syntax.Naming.freevars_term_opt", "typing_Pulse.Syntax.Naming.open_st_term_", "typing_Pulse.Syntax.Pure.term_of_no_name_var", "typing_Pulse.Syntax.Pure.term_of_nvar" ], 0, - "8791c8b16985251b9c502afd12fc646a" + "a20ff9712dd30d553d8558fe78eb9c43" ], [ "Pulse.Syntax.Naming.close_open_inverse", @@ -1461,7 +1642,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e8ddbfaac16a6a5fbe3cc091a500b754" + "25cb828669512848586ec0f2701967f4" ], [ "Pulse.Syntax.Naming.close_open_inverse", @@ -1476,7 +1657,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d59ed4305e9a4eddecf6468178bdea06" + "c8a9b9db3745abb13485b0b6333a7c1d" ], [ "Pulse.Syntax.Naming.close_open_inverse", @@ -1491,7 +1672,7 @@ "equation_Pulse.Syntax.Pure.term_of_no_name_var" ], 0, - "73091a60222b7723dfd9eb88778b2b54" + "42825de930b0caa36afed4652c56fb4c" ], [ "Pulse.Syntax.Naming.close_open_inverse_st", @@ -1506,7 +1687,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "15f8c7e73aecb79ee9eaaf3a0f83eb9f" + "5025ca21117c3d78d9345f42d59cb676" ], [ "Pulse.Syntax.Naming.close_open_inverse_st", @@ -1521,7 +1702,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3868bac73d3a3019b729a18a8d57d6b6" + "c23bcdc0f43ef0453f9feecd1f1f0015" ], [ "Pulse.Syntax.Naming.close_open_inverse_st", @@ -1536,7 +1717,7 @@ "equation_Pulse.Syntax.Pure.term_of_no_name_var" ], 0, - "e75ff1ef80038f1e2ef7574592791cfc" + "0978a27dfc111a2e707e37ffa2c1914e" ], [ "Pulse.Syntax.Naming.open_with_gt_ln", @@ -1639,7 +1820,7 @@ "typing_Pulse.Syntax.Naming.shift_subst" ], 0, - "e64e27bc4762225670eaa31471bb11b6" + "ecb8bd2ac88fe738665779e1f814b4fc" ], [ "Pulse.Syntax.Naming.open_with_gt_ln_st", @@ -1696,7 +1877,7 @@ "typing_Pulse.Syntax.Naming.shift_subst" ], 0, - "ceda05b84e435af1ba65dd86dffd1f08" + "ee85e030783658964cc0790fe6b22086" ], [ "Pulse.Syntax.Naming.open_with_gt_ln_comp", @@ -1730,7 +1911,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6067bbfbda37f13146e62ab708da7e9a" + "39aa5fc26d7f8380c430cf695298aee6" ], [ "Pulse.Syntax.Naming.close_with_non_freevar", @@ -1745,7 +1926,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "975d62927a4a5e2c571db6d06d26f779" + "4ec7c16a9a5a640c888c913330bdf52b" ], [ "Pulse.Syntax.Naming.close_with_non_freevar", @@ -1760,7 +1941,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7ff06e9afab825cdc9b2ea3012e674ef" + "e0cb5a8330709eda6a48a5ef4737896c" ], [ "Pulse.Syntax.Naming.close_with_non_freevar", @@ -1877,7 +2058,7 @@ "typing_Pulse.Syntax.Naming.shift_subst" ], 0, - "ac26970f1b8994023acc7a3232e79d14" + "bba83a8bef62418ed7d9ce549e1159db" ], [ "Pulse.Syntax.Naming.close_with_non_freevar_st", @@ -1892,7 +2073,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5f90d961b8df7e54ee86df15b6fc7668" + "622542433244bdb24239b14f4e666f79" ], [ "Pulse.Syntax.Naming.close_with_non_freevar_st", @@ -1902,13 +2083,11 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_Pulse.Syntax.Naming.freevars.fuel_instrumented", "@fuel_correspondence_Pulse.Syntax.Naming.subst_term.fuel_instrumented", "@query", "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "Pulse.Syntax.Naming_interpretation_Tm_arrow_c0d5e1c4dd22f0fc7f6b9bbecbfa2056", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Pulse.Syntax.Naming.ND", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", @@ -1953,17 +2132,15 @@ "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_Pulse.Syntax.Naming.shift_subst_elt", "token_correspondence_Pulse.Syntax.Naming.shift_subst_n", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", - "typing_FStar.Set.union", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.union", "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__post", "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__pre", "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__res", "typing_Pulse.Syntax.Naming.freevars", - "typing_Pulse.Syntax.Naming.freevars_st_comp", "typing_Pulse.Syntax.Naming.shift_subst" ], 0, - "0391ae40a0ed3755fc1f964ca1549362" + "e9d4119e79b9d84ff1679afef98669c5" ], [ "Pulse.Syntax.Naming.close_comp_with_non_free_var", @@ -1978,7 +2155,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3b814af197568702972f3770328b7830" + "be8d538f68b556a7440980c2e78d6c44" ], [ "Pulse.Syntax.Naming.close_comp_with_non_free_var", @@ -2021,7 +2198,7 @@ "typing_Pulse.Syntax.Naming.freevars_st_comp" ], 0, - "0ead6fb1fc43b19e32598fff8bbff878" + "e0f7af2e51bffba97cd2bfca09496ebc" ], [ "Pulse.Syntax.Naming.close_binders", @@ -2057,7 +2234,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "6bb66c3ba4122f4ac30ef24f7e6dd1b6" + "bfb0fabdb8c77473904a7a65a80d1fb1" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Syntax.Naming.fsti.hints b/lib/steel/pulse/Pulse.Syntax.Naming.fsti.hints index 851c25857..d62f03b9b 100644 --- a/lib/steel/pulse/Pulse.Syntax.Naming.fsti.hints +++ b/lib/steel/pulse/Pulse.Syntax.Naming.fsti.hints @@ -1,5 +1,5 @@ [ - "&w=ΉC^&=LE", + "J87IOeik", [ [ "Pulse.Syntax.Naming.freevars", @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "474862606c20172350ec0a2d624abe72" + "9f819d5ba1ddc1063daab211d6e1bd3d" ], [ "Pulse.Syntax.Naming.freevars", @@ -66,7 +66,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "64c9639090a5037af1cc2384ff54d85b" + "c057c8593244ca1842163de9e32527b0" ], [ "Pulse.Syntax.Naming.freevars_st_comp", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0b4aa97fa4c92ea0ae80744cd761a28" + "e9c28d49c4a7d0b369d1d37391bb5594" ], [ "Pulse.Syntax.Naming.freevars_comp", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b4a6516cc0bf5d9ee2ade6de1de1cf9b" + "0d98449f65c9899e2e986a30321d8ee5" ], [ "Pulse.Syntax.Naming.freevars_opt", @@ -114,12 +114,41 @@ "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_Pulse.Syntax.Base.term@tok", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "64a732ce5905f5d8285931ba91ad6243" + ], + [ + "Pulse.Syntax.Naming.freevars_opt", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Pervasives.invertOption", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "27c68a5a0277a8dec29257bdef815995" + "c202ff5b7ab2c81daf62412ff8e0bb80" + ], + [ + "Pulse.Syntax.Naming.freevars_term_opt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "fcb758289a1f7c277c4cc59ff2527146" ], [ "Pulse.Syntax.Naming.freevars_list", @@ -134,7 +163,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "88fe030be2f502b511d3ce38f2572b21" + "4073161ccbe309f0679680397d27343e" ], [ "Pulse.Syntax.Naming.freevars_list", @@ -155,7 +184,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "1ef377e01949d0a93c09400a67082a18" + "5063479107d1905e7c0b3e5f66c92fbc" ], [ "Pulse.Syntax.Naming.freevars_st", @@ -170,7 +199,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5733895680a9a8a657944978f99c7365" + "88ead742b38c0607af72b92fb383a6e4" ], [ "Pulse.Syntax.Naming.freevars_st", @@ -183,23 +212,25 @@ "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_0", "data_elim_Pulse.Syntax.Base.Mkst_term", "data_elim_Pulse.Syntax.Base.Tm_Abs", - "data_elim_Pulse.Syntax.Base.Tm_AssertWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Bind", "data_elim_Pulse.Syntax.Base.Tm_If", + "data_elim_Pulse.Syntax.Base.Tm_Match", "data_elim_Pulse.Syntax.Base.Tm_Par", + "data_elim_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Protect", "data_elim_Pulse.Syntax.Base.Tm_TotBind", "data_elim_Pulse.Syntax.Base.Tm_While", "data_elim_Pulse.Syntax.Base.Tm_WithLocal", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -218,6 +249,7 @@ "projection_inverse_Pulse.Syntax.Base.Tm_Abs__0", "projection_inverse_Pulse.Syntax.Base.Tm_Bind__0", "projection_inverse_Pulse.Syntax.Base.Tm_If__0", + "projection_inverse_Pulse.Syntax.Base.Tm_Match__0", "projection_inverse_Pulse.Syntax.Base.Tm_Par__0", "projection_inverse_Pulse.Syntax.Base.Tm_Protect__0", "projection_inverse_Pulse.Syntax.Base.Tm_TotBind__0", @@ -226,19 +258,21 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Pulse.Syntax.Base.Mkst_term", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload", - "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_If__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_TotBind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", "subterm_ordering_Pulse.Syntax.Base.Tm_Abs", - "subterm_ordering_Pulse.Syntax.Base.Tm_AssertWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Bind", "subterm_ordering_Pulse.Syntax.Base.Tm_If", + "subterm_ordering_Pulse.Syntax.Base.Tm_Match", "subterm_ordering_Pulse.Syntax.Base.Tm_Par", + "subterm_ordering_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Protect", "subterm_ordering_Pulse.Syntax.Base.Tm_TotBind", "subterm_ordering_Pulse.Syntax.Base.Tm_While", @@ -246,7 +280,44 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" ], 0, - "36ab24254876a75ff16a9c13f1600215" + "3507425fed8dad9c087308c9511a57d8" + ], + [ + "Pulse.Syntax.Naming.freevars_st", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "88e5240c6c696a41d7e30b2f373d97a0" + ], + [ + "Pulse.Syntax.Naming.freevars_st", + 4, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_5050230f800077c3aae79c50c62e4c18_0", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_Prims.Cons" + ], + 0, + "06c5d09e0cec2f757d66d5dec862d88b" ], [ "Pulse.Syntax.Naming.ln'", @@ -288,7 +359,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "fc4e13f01b5e3c230bda1adbd2f0bf57" + "b3a3da5604b94759cc8e88cf17fcd59f" ], [ "Pulse.Syntax.Naming.ln_c'", @@ -305,7 +376,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b5b634b01a45893324f01bc221fb5118" + "495ae87ce9060cddcf36fb01343a66d6" ], [ "Pulse.Syntax.Naming.ln_opt'", @@ -317,7 +388,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "762c15c3bd7f19902ccccf2143ad2a9f" + "bcbb3a0b44c39d3fcd541a7208b096ef" ], [ "Pulse.Syntax.Naming.ln_list'", @@ -332,7 +403,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "f2001ab34036679fc8885e8326c57b60" + "cfdfe96b3faba5986a71dab2e5858215" ], [ "Pulse.Syntax.Naming.ln_st'", @@ -345,23 +416,25 @@ "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_0", "data_elim_Pulse.Syntax.Base.Mkst_term", "data_elim_Pulse.Syntax.Base.Tm_Abs", - "data_elim_Pulse.Syntax.Base.Tm_AssertWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Bind", "data_elim_Pulse.Syntax.Base.Tm_If", + "data_elim_Pulse.Syntax.Base.Tm_Match", "data_elim_Pulse.Syntax.Base.Tm_Par", + "data_elim_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Protect", "data_elim_Pulse.Syntax.Base.Tm_TotBind", "data_elim_Pulse.Syntax.Base.Tm_While", "data_elim_Pulse.Syntax.Base.Tm_WithLocal", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -376,6 +449,7 @@ "projection_inverse_Pulse.Syntax.Base.Tm_Abs__0", "projection_inverse_Pulse.Syntax.Base.Tm_Bind__0", "projection_inverse_Pulse.Syntax.Base.Tm_If__0", + "projection_inverse_Pulse.Syntax.Base.Tm_Match__0", "projection_inverse_Pulse.Syntax.Base.Tm_Par__0", "projection_inverse_Pulse.Syntax.Base.Tm_Protect__0", "projection_inverse_Pulse.Syntax.Base.Tm_TotBind__0", @@ -383,19 +457,21 @@ "projection_inverse_Pulse.Syntax.Base.Tm_WithLocal__0", "subterm_ordering_Pulse.Syntax.Base.Mkst_term", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload", - "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_If__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_TotBind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", "subterm_ordering_Pulse.Syntax.Base.Tm_Abs", - "subterm_ordering_Pulse.Syntax.Base.Tm_AssertWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Bind", "subterm_ordering_Pulse.Syntax.Base.Tm_If", + "subterm_ordering_Pulse.Syntax.Base.Tm_Match", "subterm_ordering_Pulse.Syntax.Base.Tm_Par", + "subterm_ordering_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Protect", "subterm_ordering_Pulse.Syntax.Base.Tm_TotBind", "subterm_ordering_Pulse.Syntax.Base.Tm_While", @@ -403,7 +479,30 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" ], 0, - "44366b187c56100bf13b8a6696fd387d" + "c56217a02c2b3f352552ce34831adb70" + ], + [ + "Pulse.Syntax.Naming.ln_st'", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_eb84920ddcf811c52d43769218f8dfbd_1", + "disc_equation_Pulse.Syntax.Base.Pat_Cons", + "disc_equation_Pulse.Syntax.Base.Pat_Constant", + "disc_equation_Pulse.Syntax.Base.Pat_Dot_Term", + "disc_equation_Pulse.Syntax.Base.Pat_Var", + "fuel_guarded_inversion_Pulse.Syntax.Base.pattern", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_090c92bdc662d943f410552352af16d1", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "typing_Pulse.Syntax.Base.__proj__Pat_Dot_Term__item___0" + ], + 0, + "d36e3baf2b1a5b97fd99a091b4c8b4d3" ], [ "Pulse.Syntax.Naming.__proj__DT__item___0", @@ -415,7 +514,7 @@ "refinement_interpretation_Tm_refine_8c81d20b67a6909c9a4ec95659f4bc57" ], 0, - "f916e364ff7d5e45e5f96f58a0f1f6e5" + "9661542d715ebb49de7e4e68b52da53a" ], [ "Pulse.Syntax.Naming.__proj__DT__item___1", @@ -427,7 +526,7 @@ "refinement_interpretation_Tm_refine_8c81d20b67a6909c9a4ec95659f4bc57" ], 0, - "64f7fa91be238b56b4eab65e70b63b00" + "6a81b65f9eca99a6216d9f2fd7909555" ], [ "Pulse.Syntax.Naming.__proj__NT__item___0", @@ -439,7 +538,7 @@ "refinement_interpretation_Tm_refine_03ca9e2aec06dfb5cf2ebeb05f6e9e77" ], 0, - "ce40437ec8a0393b0c5427193060c069" + "fbbc376a0baa81a2ab607694d19c604a" ], [ "Pulse.Syntax.Naming.__proj__NT__item___1", @@ -451,7 +550,7 @@ "refinement_interpretation_Tm_refine_03ca9e2aec06dfb5cf2ebeb05f6e9e77" ], 0, - "7cfad656d21ca5b3704d35a384c286c7" + "608f41e0213f618a18bc7df28c030019" ], [ "Pulse.Syntax.Naming.__proj__ND__item___0", @@ -463,7 +562,7 @@ "refinement_interpretation_Tm_refine_a138c50480a2ecdadef153ae1f6216fe" ], 0, - "9201007fa82258c72a807da8856c7d59" + "22a55582bdb4f89d6de8da74a38512d6" ], [ "Pulse.Syntax.Naming.__proj__ND__item___1", @@ -475,7 +574,7 @@ "refinement_interpretation_Tm_refine_a138c50480a2ecdadef153ae1f6216fe" ], 0, - "e90630c6cc97bbaac92c41ac08a8f921" + "a880ba436375254ffacd298edca6045a" ], [ "Pulse.Syntax.Naming.shift_subst_elt", @@ -494,7 +593,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0f7f9709d01f83d042c846b153f5cdc9" + "cd037ea72a2338b89ea16ac7aef5187d" ], [ "Pulse.Syntax.Naming.rt_subst_elt", @@ -510,7 +609,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f99be6c9c72a463c4dd3ab1d9cf722f4" + "5a89c57d16d94e3deaaddf0c4fa95b53" ], [ "Pulse.Syntax.Naming.subst_term", @@ -552,7 +651,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "88262aec6f5eb426671beee9fd1a735c" + "59c6b40b0cf411dfb67e6997322b86dd" ], [ "Pulse.Syntax.Naming.subst_comp", @@ -569,7 +668,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "04dbed0e2dacf643cc21349bbecc3b4f" + "2f1e0d1ac57de8e0c2ebb76d5e73ffe3" ], [ "Pulse.Syntax.Naming.subst_term_opt", @@ -581,7 +680,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "d0a6a60d6507f7b19dc6552a7501e2aa" + "16bbe44d076b504c3d955a997e5ec94e" ], [ "Pulse.Syntax.Naming.subst_term_list", @@ -596,7 +695,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "bf36877cfa4aa3c694d026412ad51240" + "006c46e4804442e47c8d332906bf712d" ], [ "Pulse.Syntax.Naming.subst_st_term", @@ -609,23 +708,25 @@ "binder_x_01e6cbbfeab3ba416b144f2c9223a2d4_0", "data_elim_Pulse.Syntax.Base.Mkst_term", "data_elim_Pulse.Syntax.Base.Tm_Abs", - "data_elim_Pulse.Syntax.Base.Tm_AssertWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Bind", "data_elim_Pulse.Syntax.Base.Tm_If", + "data_elim_Pulse.Syntax.Base.Tm_Match", "data_elim_Pulse.Syntax.Base.Tm_Par", + "data_elim_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "data_elim_Pulse.Syntax.Base.Tm_Protect", "data_elim_Pulse.Syntax.Base.Tm_TotBind", "data_elim_Pulse.Syntax.Base.Tm_While", "data_elim_Pulse.Syntax.Base.Tm_WithLocal", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -633,6 +734,7 @@ "disc_equation_Pulse.Syntax.Base.Tm_TotBind", "disc_equation_Pulse.Syntax.Base.Tm_While", "disc_equation_Pulse.Syntax.Base.Tm_WithLocal", + "equation_Pulse.Syntax.Base.branch", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term", "fuel_guarded_inversion_Pulse.Syntax.Base.st_term_", "proj_equation_Pulse.Syntax.Base.Mkst_term_term", @@ -640,6 +742,7 @@ "projection_inverse_Pulse.Syntax.Base.Tm_Abs__0", "projection_inverse_Pulse.Syntax.Base.Tm_Bind__0", "projection_inverse_Pulse.Syntax.Base.Tm_If__0", + "projection_inverse_Pulse.Syntax.Base.Tm_Match__0", "projection_inverse_Pulse.Syntax.Base.Tm_Par__0", "projection_inverse_Pulse.Syntax.Base.Tm_Protect__0", "projection_inverse_Pulse.Syntax.Base.Tm_TotBind__0", @@ -647,19 +750,21 @@ "projection_inverse_Pulse.Syntax.Base.Tm_WithLocal__0", "subterm_ordering_Pulse.Syntax.Base.Mkst_term", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Abs__payload", - "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_AssertWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Bind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_If__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Match__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Par__payload", + "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_ProofHintWithBinders__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_Protect__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_TotBind__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_While__payload", "subterm_ordering_Pulse.Syntax.Base.Mkst_term___Tm_WithLocal__payload", "subterm_ordering_Pulse.Syntax.Base.Tm_Abs", - "subterm_ordering_Pulse.Syntax.Base.Tm_AssertWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Bind", "subterm_ordering_Pulse.Syntax.Base.Tm_If", + "subterm_ordering_Pulse.Syntax.Base.Tm_Match", "subterm_ordering_Pulse.Syntax.Base.Tm_Par", + "subterm_ordering_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "subterm_ordering_Pulse.Syntax.Base.Tm_Protect", "subterm_ordering_Pulse.Syntax.Base.Tm_TotBind", "subterm_ordering_Pulse.Syntax.Base.Tm_While", @@ -667,7 +772,71 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" ], 0, - "42987d9ed7173c8f1f0f3881e06b9a7c" + "f77777458c441f779e029ba0895da584" + ], + [ + "Pulse.Syntax.Naming.subst_st_term", + 2, + 2, + 1, + [ "@query", "equation_Pulse.Syntax.Base.branch" ], + 0, + "98123a6046296f0d068ddf5f8e28098e" + ], + [ + "Pulse.Syntax.Naming.subst_st_term", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_eb84920ddcf811c52d43769218f8dfbd_1", + "disc_equation_Pulse.Syntax.Base.Pat_Cons", + "disc_equation_Pulse.Syntax.Base.Pat_Constant", + "disc_equation_Pulse.Syntax.Base.Pat_Dot_Term", + "disc_equation_Pulse.Syntax.Base.Pat_Var", + "fuel_guarded_inversion_Pulse.Syntax.Base.pattern", + "projection_inverse_BoxBool_proj_0", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "6c3853d2a4664971d125559aac479254" + ], + [ + "Pulse.Syntax.Naming.close_term_n", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons" + ], + 0, + "3e547cb84ff258219cc68c12a62b9235" + ], + [ + "Pulse.Syntax.Naming.close_st_term_n", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons" + ], + 0, + "f770df2c2b3a59f9b4d79ffff7e65973" ], [ "Pulse.Syntax.Naming.close_open_inverse'", @@ -682,7 +851,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4c80f786c3c11e4f8f65e1bc0f5b77bb" + "61fc3f0d5a63ae435c91893a88246f2f" ], [ "Pulse.Syntax.Naming.close_open_inverse_comp'", @@ -697,7 +866,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0eb6019be765bc1fb7e9fda0ac11b880" + "3e6e41b0b020c6e25b51aba1448004af" ], [ "Pulse.Syntax.Naming.close_open_inverse_opt'", @@ -712,7 +881,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2e68a1a7b43335314aa7b4f4401b8319" + "f5dd575bcaa7fabf2326015e864a4fdb" ], [ "Pulse.Syntax.Naming.close_open_inverse_list'", @@ -727,7 +896,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4f5cf6990423b6c4156fc87742c90bc3" + "66730541b9c351c4cfca1d073799d2b0" ], [ "Pulse.Syntax.Naming.close_open_inverse_st'", @@ -742,7 +911,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eb4d002cb62fbb4c9f6954976802e06d" + "840e09686427f763a80fb103eebb85cf" ], [ "Pulse.Syntax.Naming.close_open_inverse", @@ -757,7 +926,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f5293dbe7edc02e5b08df8958d5f8f3e" + "25cb828669512848586ec0f2701967f4" ], [ "Pulse.Syntax.Naming.close_open_inverse_st", @@ -772,7 +941,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "632a823aca77284a4596bf3d15e208db" + "5025ca21117c3d78d9345f42d59cb676" ], [ "Pulse.Syntax.Naming.close_with_non_freevar", @@ -787,7 +956,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2ce0318768499e470591ff3bd4080e51" + "c991cd8cee4d43724a6c12173862b1c1" ], [ "Pulse.Syntax.Naming.close_with_non_freevar_st", @@ -802,7 +971,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "930a238c1af7a5173da1d26f36b7df4f" + "622542433244bdb24239b14f4e666f79" ], [ "Pulse.Syntax.Naming.close_comp_with_non_free_var", @@ -817,7 +986,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f24fb288802097fb9159bcbd87e5dae5" + "be8d538f68b556a7440980c2e78d6c44" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Syntax.Printer.fst.hints b/lib/steel/pulse/Pulse.Syntax.Printer.fst.hints index 4839f11d6..100c8cf7d 100644 --- a/lib/steel/pulse/Pulse.Syntax.Printer.fst.hints +++ b/lib/steel/pulse/Pulse.Syntax.Printer.fst.hints @@ -1,5 +1,5 @@ [ - "ה1dJ\u0018%\u0018!\u0018", + "3J.%\u0015Iͧ", [ [ "Pulse.Syntax.Printer.universe_to_string", @@ -21,7 +21,7 @@ "typing_FStar.Reflection.V2.Builtins.inspect_universe" ], 0, - "e6a7bbaac5257b6218a90147f1b37a30" + "7f223d2be21c9d36d346054d67ca4db2" ], [ "Pulse.Syntax.Printer.univ_to_string", @@ -30,7 +30,7 @@ 1, [ "@query" ], 0, - "40323f564fc1999e5e6cf71512014a97" + "74302b545446a62ac62b9a6ee3ba9122" ], [ "Pulse.Syntax.Printer.qual_to_string", @@ -42,7 +42,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "ccf19310e15b1acc59a0f18bb5836d89" + "178e4915e5c02124bb03406554e9e028" ], [ "Pulse.Syntax.Printer.term_to_string'", @@ -70,7 +70,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "48795c5f04d6cc9f958df545847a5801" + "1b1652a8cbe290a475e0e0d6ba5eca08" ], [ "Pulse.Syntax.Printer.binder_to_string", @@ -84,7 +84,7 @@ "string_typing" ], 0, - "4553393b97d9e96cf31406c6fd2f9ecf" + "d31cbd3b9a8ba67870614a7275cab386" ], [ "Pulse.Syntax.Printer.comp_to_string", @@ -103,7 +103,7 @@ "projection_inverse_BoxBool_proj_0", "string_typing" ], 0, - "b7c569fe9ced9f9fbc9aa4aed6dba60b" + "4e86e5572f49a3b4249a1c51cbfbb9eb" ], [ "Pulse.Syntax.Printer.term_opt_to_string", @@ -115,7 +115,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "9e5f9cf8e534427b12d937baed3b8406" + "d30dc470866f82583b4b878608c9b08b" ], [ "Pulse.Syntax.Printer.st_term_to_string'", @@ -126,30 +126,26 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Pulse.Syntax.Base_pretyping_a0b86c7f20af6765a7550eda93d38e97", - "Pulse.Syntax.Base_pretyping_b358fbd6307496fe01bd1dc3ca15cb98", "Pulse.Syntax.Base_pretyping_f0a71477fd567f96c0f87dffa5cea230", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", + "constructor_distinct_Pulse.Syntax.Base.STT", "data_elim_Pulse.Syntax.Base.Mkst_term___Tm_IntroExists__payload", - "data_elim_Pulse.Syntax.Base.Tm_Admit", "data_elim_Pulse.Syntax.Base.Tm_IntroExists", - "data_elim_Pulse.Syntax.Base.Tm_Return", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Pulse.Syntax.Base.STT", "disc_equation_Pulse.Syntax.Base.STT_Atomic", "disc_equation_Pulse.Syntax.Base.STT_Ghost", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -164,14 +160,9 @@ "fuel_guarded_inversion_Pulse.Syntax.Base.st_term___Tm_IntroExists__payload", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_ctag", - "proj_equation_Pulse.Syntax.Base.Mkst_term___Tm_Admit__payload_post", "proj_equation_Pulse.Syntax.Base.Mkst_term___Tm_IntroExists__payload_erased", - "proj_equation_Pulse.Syntax.Base.Mkst_term___Tm_Return__payload_ctag", "proj_equation_Pulse.Syntax.Base.Mkst_term_term", - "proj_equation_Pulse.Syntax.Base.Tm_Admit__0", "proj_equation_Pulse.Syntax.Base.Tm_IntroExists__0", - "proj_equation_Pulse.Syntax.Base.Tm_Return__0", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", @@ -179,13 +170,24 @@ "projection_inverse_FStar.Tactics.Result.Success_a", "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", - "typing_Pulse.Syntax.Base.__proj__Mkst_term___Tm_Admit__payload__item__ctag", - "typing_Pulse.Syntax.Base.__proj__Mkst_term___Tm_Admit__payload__item__post", - "typing_Pulse.Syntax.Base.__proj__Mkst_term___Tm_Return__payload__item__ctag", - "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" + "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term", + "typing_Pulse.Syntax.Base.uu___is_Tm_Admit" + ], + 0, + "b3de7d776243179ed748a5901d316f3c" + ], + [ + "Pulse.Syntax.Printer.st_term_to_string'", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" ], 0, - "8add64da0ebf506b2492fdd82589476a" + "baaf8c9728d149fa4a1c5e59244d517a" ], [ "Pulse.Syntax.Printer.tag_of_term", @@ -210,7 +212,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkterm__item__t" ], 0, - "fa62ec50368043a19189bcb7070f1bbc" + "4fb1a9a021c0a4ed47b5d361c0fbdaa6" ], [ "Pulse.Syntax.Printer.tag_of_st_term", @@ -221,13 +223,14 @@ "@MaxIFuel_assumption", "@query", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -241,7 +244,26 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" ], 0, - "748ff4522ec62e3314bb75d120f13978" + "6b98248508ef72661ece9e25844c656f" + ], + [ + "Pulse.Syntax.Printer.tag_of_comp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "projection_inverse_BoxBool_proj_0", "string_typing" + ], + 0, + "89dab05a58081998e1a0631ab5c887ce" ], [ "Pulse.Syntax.Printer.print_st_head", @@ -258,13 +280,14 @@ "data_elim_Pulse.Syntax.Base.Tm_STApp", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -293,7 +316,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" ], 0, - "314390a9cd7bab6b557691f2cf4473c3" + "8ebfe6d456e66c309cb152b0802584bb" ], [ "Pulse.Syntax.Printer.print_skel", @@ -311,13 +334,14 @@ "data_elim_Pulse.Syntax.Base.Tm_TotBind", "disc_equation_Pulse.Syntax.Base.Tm_Abs", "disc_equation_Pulse.Syntax.Base.Tm_Admit", - "disc_equation_Pulse.Syntax.Base.Tm_AssertWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Bind", "disc_equation_Pulse.Syntax.Base.Tm_ElimExists", "disc_equation_Pulse.Syntax.Base.Tm_If", "disc_equation_Pulse.Syntax.Base.Tm_IntroExists", "disc_equation_Pulse.Syntax.Base.Tm_IntroPure", + "disc_equation_Pulse.Syntax.Base.Tm_Match", "disc_equation_Pulse.Syntax.Base.Tm_Par", + "disc_equation_Pulse.Syntax.Base.Tm_ProofHintWithBinders", "disc_equation_Pulse.Syntax.Base.Tm_Protect", "disc_equation_Pulse.Syntax.Base.Tm_Return", "disc_equation_Pulse.Syntax.Base.Tm_Rewrite", @@ -344,7 +368,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkst_term__item__term" ], 0, - "7a0800991b801202fb30028438cfc6bf" + "c487ff876ddecf3527c1c7209b335d51" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Syntax.Printer.fsti.hints b/lib/steel/pulse/Pulse.Syntax.Printer.fsti.hints index c637b8a21..cabd1eddf 100644 --- a/lib/steel/pulse/Pulse.Syntax.Printer.fsti.hints +++ b/lib/steel/pulse/Pulse.Syntax.Printer.fsti.hints @@ -1 +1 @@ -[ "b\u007fO9/p6", [] ] \ No newline at end of file +[ "ZϮmȀ%u?\u0000\nc", [] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Syntax.Pure.fst.hints b/lib/steel/pulse/Pulse.Syntax.Pure.fst.hints index e875ed02a..02e8a191f 100644 --- a/lib/steel/pulse/Pulse.Syntax.Pure.fst.hints +++ b/lib/steel/pulse/Pulse.Syntax.Pure.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "a86bed4fc80b62292779a805c90cf431" + "ab73d95fc189639b26e172aa29fa9dae" ], [ "Pulse.Syntax.Pure.tm_bvar", @@ -31,7 +31,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name" ], 0, - "edc517e85662deff207730f2fd988fb9" + "92b1651dee9ccf697dab1c4ae0cd510b" ], [ "Pulse.Syntax.Pure.tm_var", @@ -54,7 +54,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name" ], 0, - "ce38e97ce3d4a0a6a3f274e882ec0757" + "e706153689e2435989162bbb9375ccf7" ], [ "Pulse.Syntax.Pure.tm_fvar", @@ -73,7 +73,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkfv__item__fv_name" ], 0, - "b450c3119a0038f4e237f2d3901d9954" + "5c75f99de7f43fb52c7c26d2b6184a6d" ], [ "Pulse.Syntax.Pure.tm_uinst", @@ -94,7 +94,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkfv__item__fv_name" ], 0, - "a3d841e4fe0b3c156ad42cd4e7a846f3" + "68a5bd533d1cf03853f509e2e50b5169" ], [ "Pulse.Syntax.Pure.tm_constant", @@ -113,7 +113,7 @@ "lemma_FStar.Reflection.Typing.inspect_pack" ], 0, - "255efc402da52f36fffcca9b8fbe69d0" + "cbc7fc671d4dd69646d8975b796b116b" ], [ "Pulse.Syntax.Pure.tm_refine", @@ -142,7 +142,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name" ], 0, - "80718a5d95ddf3c77e3c208b163bf392" + "47b506b88bcf2c0fecafd7d19d037499" ], [ "Pulse.Syntax.Pure.tm_let", @@ -170,7 +170,7 @@ "typing_Pulse.Elaborate.Pure.elab_term" ], 0, - "91e52bd7c23c07e8e10a694aff6e6e69" + "0d343e3863dea71e79b31e33dee3656a" ], [ "Pulse.Syntax.Pure.tm_pureapp", @@ -213,7 +213,7 @@ "typing_Pulse.Elaborate.Pure.elab_term" ], 0, - "73447a539a66a53c829d4784836e1710" + "42699f82b81fa06306dc60bb72eddc14" ], [ "Pulse.Syntax.Pure.tm_arrow", @@ -249,7 +249,7 @@ "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name" ], 0, - "1e7be3b2d5b27be3a5118f3205f96856" + "dba9aae355e3c8c8ced2e1deb0cbbc96" ], [ "Pulse.Syntax.Pure.tm_type", @@ -268,7 +268,7 @@ "lemma_FStar.Reflection.Typing.inspect_pack" ], 0, - "3b5b66b220ff9a02448c4bccaa5ed1ca" + "ca32ac353c07c422469a1acabfcc176f" ], [ "Pulse.Syntax.Pure.is_var", @@ -279,7 +279,7 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "b066ac028452b9373e13b60d6a45b4c5" + "994dc979c02deb9e4b3039ab8a520819" ], [ "Pulse.Syntax.Pure.leftmost_head", @@ -295,7 +295,7 @@ "typing_Pulse.Readback.readback_ty" ], 0, - "fcc1a84a4a80f30774a09256a29f0851" + "99af6d9a18dc72ae3394c1c1ba152b26" ], [ "Pulse.Syntax.Pure.is_fvar_app", @@ -320,7 +320,7 @@ "typing_Pulse.Syntax.Pure.is_fvar" ], 0, - "0ff7c7c5c71542c2577ed030a56b63b9" + "8c920a4e117b0f0a84431412b2133dec" ], [ "Pulse.Syntax.Pure.is_arrow", @@ -339,7 +339,7 @@ "typing_Pulse.Readback.readback_comp" ], 0, - "cfc28aa5712c55d4f44f11eae27c6c7f" + "2245fefdd9773c61577779e6d22b6d8f" ], [ "Pulse.Syntax.Pure.is_eq2", @@ -353,7 +353,7 @@ "typing_FStar.Reflection.Types.name" ], 0, - "1c1b3223cacd3378cbd3c67664935bab" + "57f5a207385aec7f3023ec0c3cd9f75b" ], [ "Pulse.Syntax.Pure.unreveal", @@ -367,7 +367,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9904e71bc2381d1917348eaa07bc2c18" + "001ab24cb7d0b39c8c01f806e24ee236" ], [ "Pulse.Syntax.Pure.is_arrow_tm_arrow", @@ -379,7 +379,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3299bcc9f0c4d4c6922865c1065f84b5" + "4d8e80b969ecc47b7d1198c9d1ad3d18" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Typing.Combinators.fst.hints b/lib/steel/pulse/Pulse.Typing.Combinators.fst.hints new file mode 100644 index 000000000..0c8c6309b --- /dev/null +++ b/lib/steel/pulse/Pulse.Typing.Combinators.fst.hints @@ -0,0 +1,276 @@ +[ + "wE* ,8t[K\u007f", + [ + [ + "Pulse.Typing.Combinators.mk_bind", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_c3db93a75dbfff93223215a880c044ae" + ], + 0, + "90827240f023495699ff3e2568daa748" + ], + [ + "Pulse.Typing.Combinators.mk_bind", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_c3db93a75dbfff93223215a880c044ae" + ], + 0, + "5e7386a1b9546c079dfa4aebb25a9bea" + ], + [ + "Pulse.Typing.Combinators.mk_bind", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Pervasives_interpretation_Tm_arrow_0b6559e6ff3addf84b0c2880affbb335", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Pulse.Syntax.Base_pretyping_01e6cbbfeab3ba416b144f2c9223a2d4", + "Pulse.Syntax.Base_pretyping_b015b044c5bf00a3dd3df9fa711c87dd", + "Pulse.Typing.Combinators_interpretation_Tm_arrow_89a36b3e80acbc77974d2cbaf4c00c07", + "Pulse.Typing.Combinators_interpretation_Tm_arrow_9d268706729260b4d476e174d9fa7dc4", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "constructor_distinct_Pulse.Syntax.Base.C_STAtomic", + "constructor_distinct_Pulse.Syntax.Base.C_STGhost", + "data_elim_FStar.Pervasives.Mkdtuple3", + "data_elim_FStar.Tactics.Result.Failed", + "data_elim_FStar.Tactics.Result.Success", + "data_elim_Pulse.Syntax.Base.C_STAtomic", + "data_typing_intro_FStar.Tactics.Result.Failed@tok", + "data_typing_intro_FStar.Tactics.Result.Success@tok", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", "eq2-interp", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_inames", + "equation_Pulse.Syntax.Base.comp_post", + "equation_Pulse.Syntax.Base.comp_pre", + "equation_Pulse.Syntax.Base.comp_res", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.comp_u", + "equation_Pulse.Syntax.Base.nvar", + "equation_Pulse.Syntax.Base.ppname_default", + "equation_Pulse.Syntax.Base.range", + "equation_Pulse.Syntax.Base.st_comp_of_comp", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.tm_emp_inames", + "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.v_as_nv", + "equation_Pulse.Syntax.Base.var", "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Naming.open_term", + "equation_Pulse.Typing.Combinators.nvar_as_binder", + "equation_Pulse.Typing.Combinators.st_comp_with_pre", + "equation_Pulse.Typing.bind_comp_compatible", + "equation_Pulse.Typing.bind_comp_ghost_l_compatible", + "equation_Pulse.Typing.bind_comp_ghost_l_out", + "equation_Pulse.Typing.bind_comp_ghost_l_pre", + "equation_Pulse.Typing.bind_comp_ghost_r_compatible", + "equation_Pulse.Typing.bind_comp_ghost_r_out", + "equation_Pulse.Typing.bind_comp_ghost_r_pre", + "equation_Pulse.Typing.bind_comp_out", + "equation_Pulse.Typing.bind_comp_pre", + "equation_Pulse.Typing.non_informative_t", "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.ppname", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", + "function_token_typing_Prims.int", + "function_token_typing_Prims.string", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", + "interpretation_Tm_abs_ff3a679b38061941f26f76a78d14526c", + "kinding_FStar.Pervasives.dtuple3@tok", + "kinding_Pulse.Syntax.Base.ppname@tok", + "kinding_Pulse.Syntax.Base.st_term@tok", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "lemma_Pulse.Syntax.Base.range_singleton", + "primitive_Prims.op_BarBar", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ppname", + "proj_equation_Pulse.Syntax.Base.Mkbinder_binder_ty", + "proj_equation_Pulse.Syntax.Base.Mknm_nm_ppname", + "proj_equation_Pulse.Syntax.Base.Mkppname_name", + "proj_equation_Pulse.Syntax.Base.Mkppname_range", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__0", + "projection_inverse_Pulse.Syntax.Base.C_STAtomic__1", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__0", + "projection_inverse_Pulse.Syntax.Base.C_STGhost__1", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ppname", + "projection_inverse_Pulse.Syntax.Base.Mkbinder_binder_ty", + "projection_inverse_Pulse.Syntax.Base.Mknm_nm_ppname", + "projection_inverse_Pulse.Syntax.Base.Mkppname_name", + "projection_inverse_Pulse.Syntax.Base.Mkppname_range", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_31bb48bd7ed4b36bc5298674129db6ce", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "refinement_interpretation_Tm_refine_c3db93a75dbfff93223215a880c044ae", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "true_interp", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Pervasives.Native.snd", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Syntax.Base.__proj__Mkppname__item__name", + "typing_Pulse.Syntax.Base.__proj__Mkppname__item__range", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__post", + "typing_Pulse.Syntax.Base.eq_tm", + "typing_Pulse.Syntax.Base.stateful_comp", + "typing_Pulse.Syntax.Base.tm_emp_inames", + "typing_Pulse.Syntax.Base.uu___is_C_ST", + "typing_Pulse.Syntax.Base.uu___is_C_STAtomic", + "typing_Pulse.Syntax.Base.uu___is_C_Tot", + "typing_Pulse.Syntax.Base.v_as_nv", + "typing_Pulse.Syntax.Naming.freevars", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.fstar_env", + "typing_Tm_abs_458b277ee1bc23b6719ee8941151e578", + "typing_Tm_abs_ff3a679b38061941f26f76a78d14526c" + ], + 0, + "5d895ce64d681c4ccb75a5c91cd0e430" + ], + [ + "Pulse.Typing.Combinators.bind_res_and_post_typing", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.fresh_wrt", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "19b9bf363a11d18bed4ce9c50b60517a" + ], + [ + "Pulse.Typing.Combinators.bind_res_and_post_typing", + 2, + 2, + 1, + [ + "@query", "constructor_distinct_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "b9b5fb72f5ffe1e758803622e60d4e80" + ], + [ + "Pulse.Typing.Combinators.bind_res_and_post_typing", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "disc_equation_FStar.Pervasives.Native.None", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_post", + "equation_Pulse.Syntax.Base.comp_res", + "equation_Pulse.Syntax.Base.comp_u", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Syntax.Base.vprop", + "equation_Pulse.Syntax.Naming.open_term", + "equation_Pulse.Syntax.Pure.tm_type", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.comp_post_matches_hint", + "equation_Pulse.Typing.fresh_wrt", + "equation_Pulse.Typing.post_hint_opt", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Pulse.Syntax.Base.st_comp", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", + "kinding_Pulse.Typing.post_hint_t@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Negation", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Pulse.Syntax.Base.Mkst_comp_u", + "proj_equation_Pulse.Typing.Mkpost_hint_t_u", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Pulse.Syntax.Base.C_ST__0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ba488b4f12660f6fd23fa65ec4b4a4ff", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", + "refinement_interpretation_Tm_refine_fdcc7cd9035ae0fd748b34bd41cc17b3", + "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", + "typing_FStar.Set.mem", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__post", + "typing_Pulse.Syntax.Base.__proj__Mkst_comp__item__u", + "typing_Pulse.Syntax.Base.eq_univ", + "typing_Pulse.Syntax.Naming.freevars", + "typing_Pulse.Typing.Env.as_map" + ], + 0, + "7c45cfea7d3dccb30277d44b30e3aa2d" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Typing.Combinators.fsti.hints b/lib/steel/pulse/Pulse.Typing.Combinators.fsti.hints new file mode 100644 index 000000000..2c5dd070d --- /dev/null +++ b/lib/steel/pulse/Pulse.Typing.Combinators.fsti.hints @@ -0,0 +1,55 @@ +[ + "\u0010r\u00063V\u0015Z2@~`", + [ + [ + "Pulse.Typing.Combinators.mk_bind", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.stateful_comp", + "equation_Pulse.Syntax.Base.var", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a", + "refinement_interpretation_Tm_refine_c3db93a75dbfff93223215a880c044ae" + ], + 0, + "154724536e1aa78dbff5cbf6512ab767" + ], + [ + "Pulse.Typing.Combinators.bind_res_and_post_typing", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Pulse.Syntax.Base.C_ST", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.fresh_wrt", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" + ], + 0, + "1df2a3981307c0c965fcfc8522010e9a" + ] + ] +] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Typing.Env.fst.hints b/lib/steel/pulse/Pulse.Typing.Env.fst.hints index f320badbf..38656eb56 100644 --- a/lib/steel/pulse/Pulse.Typing.Env.fst.hints +++ b/lib/steel/pulse/Pulse.Typing.Env.fst.hints @@ -1,5 +1,5 @@ [ - "w0B&U;m@", + "\u000e\u0005z&\r5\u000bz", [ [ "Pulse.Typing.Env.bmap", @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "426137cdf9dfe08fa865a1c9cb4813f4" + "7942872bd73e5b73cca2de6e25fb350d" ], [ "Pulse.Typing.Env.related", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0f5d6b29cf1b21a7d1139568ed63dcda" + "c6e2d855f2b57c12aa43072dfd098814" ], [ "Pulse.Typing.Env.related", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4d9668dc22066ebaae2086d7c7c4760a" + "288c5045f52f0a1cf17025aa0959c099" ], [ "Pulse.Typing.Env.as_map", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e03b8ac8fd9069debd3a07119703f943" + "fe3a6cf8088ada2ee74f05704df4936b" ], [ "Pulse.Typing.Env.is_related_to", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2c4907052280362fbbf93dabc7bd00cf" + "ddbc037d3b1f2bf3e3922dd57d1fc43a" ], [ "Pulse.Typing.Env.is_related_to", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "17dfb51aa3a0350012201f9c8c1f5d34" + "b5efdd114ffae2eaefa8516fb52c6c14" ], [ "Pulse.Typing.Env.bindings_as_map", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_6cda9c4e8a0e976c6654fdccaac4111e" ], 0, - "367708660b40d184c5cf5647fc498f22" + "3dcd90a2a9c7676e88bef69825686e81" ], [ "Pulse.Typing.Env.dom", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3d05492c4b077211bc263968114f9a42" + "9afa4ae5cd380bcad6b37b2006874b9f" ], [ "Pulse.Typing.Env.empty_bmap", @@ -146,7 +146,7 @@ "typing_Pulse.Syntax.Base.tm_unknown" ], 0, - "23547e1d0a5639dba1d6604e90edfe29" + "fdb41932e1bf34d661feddfc6ead328c" ], [ "Pulse.Typing.Env.equal_names", @@ -191,7 +191,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "69319146c9d2f0861514c7541989c23e" + "d4f0eaf2f9f3e7616203c16e0076c5ca" ], [ "Pulse.Typing.Env.equal_elim", @@ -248,7 +248,7 @@ "typing_Pulse.Typing.Env.fstar_env" ], 0, - "a3fd20d381a50b1ec3ac34434b781e84" + "4e8b43b4e4bd20c8fb61a65283a65891" ], [ "Pulse.Typing.Env.default_context", @@ -259,7 +259,7 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "c5491d971ec4e8450cfc6abe6e5f1e06" + "febb47bb64d845356a684374c86c58bf" ], [ "Pulse.Typing.Env.mk_env", @@ -301,7 +301,7 @@ "typing_FStar.Set.empty", "typing_Pulse.Syntax.Base.tm_unknown" ], 0, - "ca3dc6f2c64f95b604974fd22186e0e5" + "db9cc16852b0d76580343a6d49b2aeb9" ], [ "Pulse.Typing.Env.mk_env_bs", @@ -316,7 +316,7 @@ "projection_inverse_Pulse.Typing.Env.Mkenv_bs" ], 0, - "ebfb81848f1575ad0add7985432cb41d" + "7d37cd8a3167a2ed3c811c7751281b27" ], [ "Pulse.Typing.Env.mk_env_dom", @@ -331,7 +331,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6293775cfdd0912b3a49b22e2e26bacb" + "24ade0a01aae97d33177d64c34ac62d6" ], [ "Pulse.Typing.Env.mk_env_dom", @@ -363,7 +363,7 @@ "typing_Pulse.Syntax.Base.tm_unknown" ], 0, - "6e96480593afb01c185c4d42b938f793" + "894056f78e8af3ee8e6a2526ea719d3b" ], [ "Pulse.Typing.Env.push_binding", @@ -378,7 +378,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e2541b4bfe681b484ed0941dcb89de07" + "031253dd18a2ee8e170f1f00fb00a2f2" ], [ "Pulse.Typing.Env.push_binding", @@ -393,7 +393,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d3a69ecf030487c42783257fe50877f7" + "44bf50f3bd5c2a07eafac425f4a432f5" ], [ "Pulse.Typing.Env.push_binding", @@ -459,7 +459,6 @@ "refinement_interpretation_Tm_refine_f6495363ef01175de7b156c23404a876", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Reflection.V2.Data.var", @@ -469,7 +468,7 @@ "typing_Pulse.Typing.Env.as_map" ], 0, - "a585ae99ffbe61191f635d5644540993" + "4b493bfc70b94e6a95f34211de90166b" ], [ "Pulse.Typing.Env.push_binding_def", @@ -484,7 +483,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "61240250acccd4c5872dd415e92a90db" + "3a99fcb0b0d9ac26dafc90603b59430a" ], [ "Pulse.Typing.Env.push_binding_bs", @@ -499,7 +498,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e992680ef1643fc9897ef894ed036e59" + "a636f8aaaad1e9575b485b96f5501e78" ], [ "Pulse.Typing.Env.push_binding_bs", @@ -514,7 +513,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e8aa12a1cf01ec0a27fa6c5e4478c242" + "44bf50f3bd5c2a07eafac425f4a432f5" ], [ "Pulse.Typing.Env.push_binding_bs", @@ -529,7 +528,7 @@ "projection_inverse_Pulse.Typing.Env.Mkenv_bs" ], 0, - "df45b96665d875e6248bd807c68a6a7a" + "50d99ba0fc60ed5397122ebf4ecd7fc3" ], [ "Pulse.Typing.Env.push_binding_as_map", @@ -544,7 +543,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8d818f7806529130cb1a7cc803bb702e" + "209aed492203365780a52ca79dd7ac81" ], [ "Pulse.Typing.Env.push_binding_as_map", @@ -559,7 +558,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d3716c317b68ed0d70e4b6505d59cc86" + "44bf50f3bd5c2a07eafac425f4a432f5" ], [ "Pulse.Typing.Env.push_binding_as_map", @@ -573,7 +572,7 @@ "projection_inverse_Pulse.Typing.Env.Mkenv_m" ], 0, - "5d39462ed2b5664259eed0132bea0164" + "91dd36b2f3dbbe241812ed792d02efc7" ], [ "Pulse.Typing.Env.lookup", @@ -588,7 +587,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0fac7bde3fa67f462d06578e03dc1d4" + "1cb969b432680fff691eb96391e1b913" ], [ "Pulse.Typing.Env.max", @@ -622,7 +621,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "21d86c08d6b6166b1c6527ae9f49eb4b" + "b6a5bfa3e0573336cdf570a4ea1d618d" ], [ "Pulse.Typing.Env.fresh", @@ -637,7 +636,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b78117d9a6428dfcc5d17fe8bd4765b6" + "b56c5d132fc90cf3856422a334c11f8c" ], [ "Pulse.Typing.Env.fresh", @@ -687,7 +686,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.max" ], 0, - "d95c17fb03d40d48588e3cfc93873793" + "60c005c0f1330f267949bd9d3cc682d6" ], [ "Pulse.Typing.Env.contains", @@ -702,7 +701,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7656673d3d4a9aec3eb80bd01a658bf2" + "b8cfa054fbb19d02990ffcdd12c8e403" ], [ "Pulse.Typing.Env.disjoint", @@ -717,7 +716,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a41c3278c66d34b90c6093ab2eb47b46" + "6d2914bca911229a171bb1cc9a790d92" ], [ "Pulse.Typing.Env.disjoint_dom", @@ -734,7 +733,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0a78a920016daec4ff17f3a6904bcb0a" + "2a5d27251fc813a6b92f9be95b4b2649" ], [ "Pulse.Typing.Env.append_memP", @@ -764,7 +763,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "ffa94cddedf6ca855de4700d9fe46de4" + "ef5b89b6b239c2641f4d9750c43bbc50" ], [ "Pulse.Typing.Env.push_env", @@ -821,7 +820,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "00ca9111c50b089f4c5cdf5feb5ce319" + "f7de5ed9909a00753730c75f8cdcc201" ], [ "Pulse.Typing.Env.push_env_fstar_env", @@ -835,7 +834,7 @@ "projection_inverse_Pulse.Typing.Env.Mkenv_f" ], 0, - "3c205bdf57d783c944789b455b4c632e" + "8c54a3367fbbc01720c2eec90de1d225" ], [ "Pulse.Typing.Env.push_env_bindings", @@ -847,7 +846,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "544d0e16fdf5dd34d48c79b22e1e3b90" + "f88d903e30d7a814acef554f91078548" ], [ "Pulse.Typing.Env.push_env_bindings", @@ -864,7 +863,7 @@ "projection_inverse_Pulse.Typing.Env.Mkenv_bs" ], 0, - "9410d79992245aff28c0ddf716c17ddd" + "9eb939bd6b8b533bdabaf59399aa19e8" ], [ "Pulse.Typing.Env.push_env_as_map", @@ -880,7 +879,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bd5a558cdda6e432b7fcdc13b869b542" + "6d7809437e290b3f9707ed150bb8785a" ], [ "Pulse.Typing.Env.push_env_as_map", @@ -896,7 +895,7 @@ "projection_inverse_Pulse.Typing.Env.Mkenv_m" ], 0, - "85dd903c9d881d4971f8a7c55b78baac" + "4faf220254478268a895173b54ae6a72" ], [ "Pulse.Typing.Env.push_env_assoc", @@ -934,7 +933,7 @@ "typing_Pulse.Typing.Env.dom" ], 0, - "820c12ae8fcddcee1086dd12a812a06c" + "0064d5a91097c495fe83dac614915548" ], [ "Pulse.Typing.Env.push_env_assoc", @@ -976,7 +975,7 @@ "typing_Pulse.Typing.Env.dom" ], 0, - "1c857a3d9e283899360070f678fe4dab" + "f070f7508bdf29ae4345b38b417dabc0" ], [ "Pulse.Typing.Env.remove_binding_aux", @@ -1020,7 +1019,7 @@ "typing_Pulse.Typing.Env.fstar_env" ], 0, - "b5068b97151e004fe513ed2d2d024ef0" + "1d3e680d9b9cc4f8fa36e3dcd55b6c46" ], [ "Pulse.Typing.Env.remove_binding_aux", @@ -1038,8 +1037,8 @@ "binder_x_9ba725e659103f1da74a80dba88155b4_4", "binder_x_a1bb3a393c4d7b3f27fd2889c765afc0_1", "binder_x_fd8ab4284b1e7b7206c3e0f923347f04_2", "bool_inversion", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "data_elim_Pulse.Typing.Env.Mkenv", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "data_elim_Pulse.Typing.Env.Mkenv", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -1136,7 +1135,7 @@ "typing_Pulse.Typing.Env.mk_env", "well-founded-ordering-on-nat" ], 0, - "c58f5346e48b969d1926c5002c03f9b2" + "5ad6ead6baefbe04afc5a12ab9f80362" ], [ "Pulse.Typing.Env.remove_binding", @@ -1181,7 +1180,7 @@ "typing_Pulse.Typing.Env.fstar_env" ], 0, - "012abc39f129953ea0e40c3a2b40022d" + "28dd9c6c257ec64c7f442822e506d937" ], [ "Pulse.Typing.Env.remove_binding", @@ -1213,7 +1212,7 @@ "typing_Pulse.Typing.Env.bindings" ], 0, - "d95c0ecdbc443a22f66e010e88abe535" + "31740e8a405e1714ba2a2a156aa8cc02" ], [ "Pulse.Typing.Env.remove_latest_binding", @@ -1228,7 +1227,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2b0bf753638cbf82796abfc1e4eed129" + "18ec01505995d17de93b71195ec8837d" ], [ "Pulse.Typing.Env.remove_latest_binding", @@ -1304,9 +1303,7 @@ "string_typing", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Map.sel", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_Pulse.Syntax.Base.tm_unknown", "typing_Pulse.Typing.Env.__proj__Mkenv__item__m", @@ -1315,7 +1312,7 @@ "typing_Pulse.Typing.Env.dom" ], 0, - "84a4bb455531305f1cc5036b71eaf7e6" + "6fa97886e4c471692db00c040f8d9458" ], [ "Pulse.Typing.Env.extends_with", @@ -1324,7 +1321,7 @@ 1, [ "@query" ], 0, - "e9f71de17901a2b6c9b947f7920b0b99" + "71f3820d6a2695e89ec8e68a65f79701" ], [ "Pulse.Typing.Env.intro_env_extends", @@ -1338,7 +1335,7 @@ "fuel_guarded_inversion_Pulse.Typing.Env.env" ], 0, - "c14bd1a37bebe9c6d43d6a0feb6f626d" + "d5e4df5b6203163e395cffa8c862c7e5" ], [ "Pulse.Typing.Env.elim_env_extends", @@ -1356,7 +1353,201 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cf107e4d6564368bd7b02a2c7d30ba75" + "d375a868cedce91d9c1b3ef83f777154" + ], + [ + "Pulse.Typing.Env.elim_env_extends_tot", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_Pulse.Typing.Env.elim_env_extends", + "refinement_interpretation_Tm_refine_24560093d505552e63aa4eeca1ad2b93", + "typing_Pulse.Typing.Env.elim_env_extends" + ], + 0, + "b9037d217d999a93b0ca869d12d62dc7" + ], + [ + "Pulse.Typing.Env.diff_witness", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_319d0a376043eac9ac806dd397aee6fa_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.List.Tot.Base.op_At", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "string_typing", "subterm_ordering_Prims.Cons", + "typing_FStar.Ghost.reveal" + ], + 0, + "2a32d90b20594b29e55542fd073cefb8" + ], + [ + "Pulse.Typing.Env.create_m", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "binder_x_a1bb3a393c4d7b3f27fd2889c765afc0_0", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", + "equation_FStar.Map.const_on", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.tm_unknown", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.binding", + "equation_Pulse.Typing.Env.bmap", + "equation_Pulse.Typing.Env.empty_bmap", + "equation_Pulse.Typing.Env.related", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "function_token_typing_Pulse.Typing.Env.binding", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_Pulse.Syntax.Base.term@tok", "l_or-interp", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_55dab297964a16c007971d652a009b78", + "refinement_interpretation_Tm_refine_f6495363ef01175de7b156c23404a876", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", "typing_FStar.Map.const", + "typing_FStar.Map.contains", "typing_FStar.Map.sel", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_Pulse.Syntax.Base.tm_unknown" + ], + 0, + "cc6dfd305995c756793efab906910753" + ], + [ + "Pulse.Typing.Env.diff_names", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.length" + ], + 0, + "fa0bb05457f082b8665f1b07d5cd09db" + ], + [ + "Pulse.Typing.Env.diff", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f9ba16c6212a483d195bbb8ceec3eef1", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "Pulse.Typing.Env_pretyping_1ad99e5433effa849e32ef9adfa111a0", + "data_elim_Pulse.Typing.Env.Mkenv", "equation_Prims.nat", + "equation_Pulse.Typing.Env.binding", + "equation_Pulse.Typing.Env.bindings", + "equation_Pulse.Typing.Env.env_bindings", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.equal", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Env.fstar_env", + "equation_Pulse.Typing.Env.push_env", + "fuel_guarded_inversion_Pulse.Typing.Env.env", + "function_token_typing_FStar.List.Tot.Base.rev", + "function_token_typing_Pulse.Typing.Env.binding", + "function_token_typing_Pulse.Typing.Env.env_bindings", + "int_inversion", "int_typing", + "kinding_Pulse.Syntax.Base.ppname@tok", + "kinding_Pulse.Typing.Env.env@tok", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.List.Tot.Properties.append_length", + "lemma_Pulse.Typing.Env.equal_elim", "primitive_Prims.op_Addition", + "primitive_Prims.op_Subtraction", + "proj_equation_Pulse.Typing.Env.Mkenv_bs", + "proj_equation_Pulse.Typing.Env.Mkenv_f", + "proj_equation_Pulse.Typing.Env.Mkenv_names", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Pulse.Typing.Env.Mkenv_bs", + "projection_inverse_Pulse.Typing.Env.Mkenv_f", + "projection_inverse_Pulse.Typing.Env.Mkenv_names", + "refinement_interpretation_Tm_refine_4fc87ab0b84d54ee4ca41ebb93c47fbc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6cda9c4e8a0e976c6654fdccaac4111e", + "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.Ghost.elift1", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", + "typing_FStar.List.Tot.Base.op_At", + "typing_Pulse.Typing.Env.__proj__Mkenv__item__bs", + "typing_Pulse.Typing.Env.__proj__Mkenv__item__names" + ], + 0, + "1c0c972ee66c7d1def83e4314fa808fd" ], [ "Pulse.Typing.Env.env_extends_refl", @@ -1399,7 +1590,7 @@ "typing_Pulse.Typing.Env.dom" ], 0, - "2d11efa6e453618f91708fbbf48a98db" + "2da73453da6ef2001298edb0f70bafca" ], [ "Pulse.Typing.Env.env_extends_trans", @@ -1449,7 +1640,7 @@ "typing_Pulse.Typing.Env.dom" ], 0, - "aac18f5b73c31a69f841d5cd193c155b" + "b22e1236f7c52bb3d9c4562fc01d263b" ], [ "Pulse.Typing.Env.env_extends_push", @@ -1464,7 +1655,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a4b1d73118ae54019a26db462935c1cd" + "8a0c0318d469fdedbb28082051449a0c" ], [ "Pulse.Typing.Env.env_extends_push", @@ -1479,7 +1670,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e851174855ea7b9c7fb74e1b91002fb7" + "44bf50f3bd5c2a07eafac425f4a432f5" ], [ "Pulse.Typing.Env.env_extends_push", @@ -1493,7 +1684,7 @@ "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_elim_Pulse.Typing.Env.Mkenv", "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Map.const_on", + "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Reflection.Typing.fstar_top_env", @@ -1512,6 +1703,7 @@ "equation_Pulse.Typing.Env.mk_env", "equation_Pulse.Typing.Env.push_binding", "equation_Pulse.Typing.Env.push_env", + "equation_Pulse.Typing.Env.related", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "fuel_guarded_inversion_Pulse.Syntax.Base.ppname", "fuel_guarded_inversion_Pulse.Syntax.Base.term", @@ -1519,14 +1711,11 @@ "function_token_typing_Pulse.Typing.Env.binding", "int_inversion", "int_typing", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConstMap", - "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_Pulse.Typing.Env.equal_elim", + "lemma_FStar.Set.mem_intersect", "lemma_Pulse.Typing.Env.equal_elim", "lemma_Pulse.Typing.Env.mk_env_dom", "lemma_Pulse.Typing.Env.push_binding_as_map", "lemma_Pulse.Typing.Env.push_env_fstar_env", @@ -1551,11 +1740,12 @@ "refinement_interpretation_Tm_refine_30687c6bbf76a4ea67eae131536eafd7", "refinement_interpretation_Tm_refine_484fe0819d1383a2c20d94ae027baa5f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6cda9c4e8a0e976c6654fdccaac4111e", "refinement_interpretation_Tm_refine_bdfbe5897ff6a303f04b18f05813407d", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.const", "typing_FStar.Map.const_on", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Pervasives.Native.snd", + "typing_FStar.Map.const_on", "typing_FStar.Map.domain", + "typing_FStar.Map.upd", "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Pervasives.Native.snd", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", @@ -1567,7 +1757,7 @@ "typing_Pulse.Typing.Env.push_binding" ], 0, - "359c696d6f982862220c0de1147f2f1d" + "d008b57aa1ba416946752bcef0a14f95" ], [ "Pulse.Typing.Env.extends_with_push", @@ -1598,7 +1788,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "c375a0eade5d68de40b0cfd20d66487b" + "5db3c5924abc18a18c0159d103147d69" ], [ "Pulse.Typing.Env.extends_with_push", @@ -1613,7 +1803,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3d325c0e29e7a5d75f84b8121796b6d4" + "adf52a4caf2d210152954fbe9734c477" ], [ "Pulse.Typing.Env.extends_with_push", @@ -1666,8 +1856,7 @@ "lemma_FStar.Sealed.Inhabited.sealed_singleton", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_Pulse.Typing.Env.equal_elim", + "lemma_FStar.Set.mem_intersect", "lemma_Pulse.Typing.Env.equal_elim", "lemma_Pulse.Typing.Env.push_env_as_map", "lemma_Pulse.Typing.Env.push_env_fstar_env", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -1696,6 +1885,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.upd", + "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", @@ -1706,7 +1896,7 @@ "typing_Pulse.Typing.Env.push_binding" ], 0, - "9e1483aeb7905c17367ef2dc23ac5981" + "88b0e9c422aee9b12d10bd0b106ad18a" ], [ "Pulse.Typing.Env.push_context", @@ -1737,7 +1927,7 @@ "typing_Pulse.Typing.Env.__proj__Mkenv__item__ctxt" ], 0, - "4cdd3818854431bdd09216125a75fe1c" + "18066fa22baebab131d0c44aeb78491c" ], [ "Pulse.Typing.Env.push_context_no_range", @@ -1766,7 +1956,7 @@ "typing_Pulse.Typing.Env.__proj__Mkenv__item__ctxt" ], 0, - "fcf0922447afd86290cbaf72928ae442" + "00fa32402baf102f79f0e0a0289c3f8f" ], [ "Pulse.Typing.Env.range_of_env", @@ -1781,7 +1971,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "e5b8a1c9f1fa9b328b838514b38b2021" + "e81e138e631c844a4ad883b885f6f701" ], [ "Pulse.Typing.Env.ctxt_elt_to_string", @@ -1801,7 +1991,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "ab9e0fc62ecd724b42471d5631a8fda0" + "b9572ff1d98a24143092814eed9642f4" ], [ "Pulse.Typing.Env.ctx_to_string", @@ -1822,7 +2012,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "string_typing" ], 0, - "7ade0e01ea47e98b0c52e94cbb75c0cf" + "7113cafd336da2398c362b8594b2fea0" ], [ "Pulse.Typing.Env.print_context", @@ -1843,7 +2033,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "string_typing" ], 0, - "09a0fc5ff3599fe9a61eef94cd79483e" + "c23469370a28c0ede8b259ee4feed1be" ], [ "Pulse.Typing.Env.print_issue", @@ -1876,7 +2066,7 @@ "string_typing" ], 0, - "7343186dee14e81beacce7cefad1937e" + "ac0b347185c50449dd1b0a0b82914e2a" ], [ "Pulse.Typing.Env.env_to_string", @@ -1890,7 +2080,7 @@ "string_typing" ], 0, - "b76370cd55246dafb8e0904248a58627" + "fc58935722e9053da55b9cb6e0b54024" ], [ "Pulse.Typing.Env.fail", @@ -1902,7 +2092,7 @@ "data_typing_intro_FStar.Tactics.Result.Failed@tok" ], 0, - "d979e499b6f9971e3496658d5ce87ae6" + "b20913b275fd47acae90411037ba213f" ], [ "Pulse.Typing.Env.fail", @@ -1941,7 +2131,7 @@ "string_typing" ], 0, - "6e1d1e5d2e767b343fc2f0a5766647e8" + "76c2ea41777280e81adcdc7902415177" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Typing.Env.fsti.hints b/lib/steel/pulse/Pulse.Typing.Env.fsti.hints index 4fefe4921..411a08535 100644 --- a/lib/steel/pulse/Pulse.Typing.Env.fsti.hints +++ b/lib/steel/pulse/Pulse.Typing.Env.fsti.hints @@ -1,5 +1,5 @@ [ - ")܋\u0015O.>\u000f", + "}T)`˾\u007f\u0007\u0013Հ", [ [ "Pulse.Typing.Env.as_map", @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "00ab1b5ce5b2a4915ab07d3c1d9c29c7" + "24c90a8e939eb99015fdc01fdc47f1ff" ], [ "Pulse.Typing.Env.is_related_to", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e5ddd7b01324e4366c9137e933bf76d7" + "2a3987b5bb631bc27f05b62a083141b1" ], [ "Pulse.Typing.Env.is_related_to", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "685701fe3f01ccac5d91aef505060a10" + "b5efdd114ffae2eaefa8516fb52c6c14" ], [ "Pulse.Typing.Env.dom", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0d2783b8fa9ca29487e84c5c4c614464" + "9a0419586780473e6c082d40d715c9b9" ], [ "Pulse.Typing.Env.mk_env_dom", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "77dfe5a79a887eb51e1e10fa90fa1239" + "3881060e08d13a1c9518ec443080754b" ], [ "Pulse.Typing.Env.push_binding", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d19efa1bcc8affa0c44e381e1e1139a6" + "031253dd18a2ee8e170f1f00fb00a2f2" ], [ "Pulse.Typing.Env.push_binding_def", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1872bca9a17c95db91b6564cdf374627" + "bfd6222636fb0d1900d35ea768ae3b02" ], [ "Pulse.Typing.Env.push_binding_bs", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "aa0c79b2c2131da4d6ea321dd960299c" + "a636f8aaaad1e9575b485b96f5501e78" ], [ "Pulse.Typing.Env.push_binding_as_map", @@ -134,7 +134,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "457b8e7d6690681bfb724aba70a45247" + "209aed492203365780a52ca79dd7ac81" ], [ "Pulse.Typing.Env.lookup", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2282b5ea87c123e944d3a97daf48f9a4" + "1cb969b432680fff691eb96391e1b913" ], [ "Pulse.Typing.Env.fresh", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a5ec4dd85ecf12bd844e4810e7ddf21a" + "90b1e5db5d2c1ed7824f19628265ce96" ], [ "Pulse.Typing.Env.contains", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "65399b790a9bc04f9fd9032b68175f55" + "312364baa850642d24a52f86d55166d9" ], [ "Pulse.Typing.Env.disjoint", @@ -194,7 +194,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "549537da79c5c53ac2c15f84dd70851c" + "6d2914bca911229a171bb1cc9a790d92" ], [ "Pulse.Typing.Env.disjoint_dom", @@ -210,7 +210,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c1ea0cf8d123eaa0337f7194d8174c17" + "2a5d27251fc813a6b92f9be95b4b2649" ], [ "Pulse.Typing.Env.push_env_bindings", @@ -222,7 +222,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ab93afce9e48859366b392b0d72601a3" + "1d91c83eb07197b7bdc06953b4bc594b" ], [ "Pulse.Typing.Env.push_env_as_map", @@ -238,7 +238,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5bde16ef423369acd84a02deff91c773" + "6d7809437e290b3f9707ed150bb8785a" ], [ "Pulse.Typing.Env.push_env_assoc", @@ -270,7 +270,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "3ac368c78b99d0ab3525e5296d843496" + "0064d5a91097c495fe83dac614915548" ], [ "Pulse.Typing.Env.remove_binding", @@ -307,7 +307,7 @@ "typing_Pulse.Typing.Env.fstar_env", "typing_Pulse.Typing.Env.mk_env" ], 0, - "c5d78364e618b6bd16cfc638619b9a43" + "4749ac2a35c661b065229570604d20d6" ], [ "Pulse.Typing.Env.remove_latest_binding", @@ -322,7 +322,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "22fa46d22a869f6e42d66afee4239178" + "c8b34963bf97e507f3fdfcb7f4ee61d2" ], [ "Pulse.Typing.Env.extends_with", @@ -331,7 +331,7 @@ 1, [ "@query" ], 0, - "7df9166a87426ca648732adca7da645b" + "1f81006d5d4acea774dd3d3db660e696" ], [ "Pulse.Typing.Env.env_extends_push", @@ -346,7 +346,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "409cc1f9dcde0ee58f25676c25d2f846" + "5c83059d3b4a0bbf78b7d13543e30175" ], [ "Pulse.Typing.Env.extends_with_push", @@ -374,7 +374,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "35170f17b0ecc1c67216f586461c3736" + "5db3c5924abc18a18c0159d103147d69" ], [ "Pulse.Typing.Env.fail", @@ -386,7 +386,7 @@ "data_typing_intro_FStar.Tactics.Result.Failed@tok" ], 0, - "84c34201987fe146b99978ab7ceaea1c" + "80933249c0df95a76a4c1d8afbbd9fb1" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Typing.FV.fst.hints b/lib/steel/pulse/Pulse.Typing.FV.fst.hints index 39b96f3b0..1689a979e 100644 --- a/lib/steel/pulse/Pulse.Typing.FV.fst.hints +++ b/lib/steel/pulse/Pulse.Typing.FV.fst.hints @@ -1,5 +1,5 @@ [ - "D\u000b\u0003\u0012\u000ekFiVҢ)CՏ#", [ [ "Pulse.Typing.Metatheory.comp_typing_u", @@ -19,7 +19,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "9efcf0f6735af97c38f29032a89ba2ec" + "fc14b04a5c6ad7377456f4cd2ab16795" ], [ "Pulse.Typing.Metatheory.comp_typing_inversion", @@ -39,37 +39,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "042c555ea4fb428f88f7cd49eb3a77e2" - ], - [ - "Pulse.Typing.Metatheory.fresh_wrt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "cdeabd0651ae91cfa5cfc9a2479bcfb0" - ], - [ - "Pulse.Typing.Metatheory.fresh_wrt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "1b8a9c64f28c104b22e2b643229a394e" + "5ab99c4ac0af08422d88aaef00843707" ], [ "Pulse.Typing.Metatheory.st_comp_typing_inversion_cofinite", @@ -83,16 +53,16 @@ "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.Metatheory.fresh_wrt", + "equation_Pulse.Typing.fresh_wrt", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Map.lemma_ContainsDom", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_df4c639aa9a827ee3d5d909cba8bbb01", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "2fe7ed8584705506e0a2ce17ca90dd1a" + "5d5e7594596379280b2bd365dded2d48" ], [ "Pulse.Typing.Metatheory.st_comp_typing_inversion", @@ -106,16 +76,16 @@ "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.Metatheory.fresh_wrt", + "equation_Pulse.Typing.fresh_wrt", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Map.lemma_ContainsDom", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_df4c639aa9a827ee3d5d909cba8bbb01", + "refinement_interpretation_Tm_refine_c66fdd97364ac13701a9ea2a206028a8", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "6d2d133b07c5f93b7188faed66e393cf" + "b27b4126daebb5ea01effba7aa6912b8" ], [ "Pulse.Typing.Metatheory.tm_exists_inversion", @@ -129,16 +99,16 @@ "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.Metatheory.fresh_wrt", + "equation_Pulse.Typing.fresh_wrt", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Map.lemma_ContainsDom", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f89852bbf8989ad7c1e4dbaeb25e36e0", + "refinement_interpretation_Tm_refine_5decb6aa26ec21455bdbf1ef967a5856", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "2bcc36fa93897f76fa75f75f02cbefe2" + "788dc67acbbd2c8f53e86a069bcda036" ], [ "Pulse.Typing.Metatheory.tot_typing_weakening", @@ -153,19 +123,18 @@ "equation_Prims.nat", "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.Metatheory.fresh_wrt", - "function_token_typing_Prims.int", + "equation_Pulse.Typing.fresh_wrt", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Map.lemma_ContainsDom", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_356d7afdfe093fa68350ffe4fb20df1e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f8102de3d07173f2476af6ab14722b53", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "48bfa3a3a98b649740a4885e8245742a" + "19499076a776cd1a3f0486bc3b4caaad" ], [ "Pulse.Typing.Metatheory.pure_typing_inversion", @@ -193,7 +162,7 @@ "typing_Pulse.Syntax.Base.tm_vprop" ], 0, - "175d588ebb5c18ad71b7138829c59257" + "7a4651690b38bb056f1d4ee211e2d617" ], [ "Pulse.Typing.Metatheory.comp_st_with_post", @@ -224,7 +193,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "3094d33b4541320d572b4405fb2b7a57" + "1754ba3f8776e76f6a61731c9df87731" ], [ "Pulse.Typing.Metatheory.comp_st_with_pre", @@ -246,70 +215,73 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "904bce665dfe1d74d5952311bae3223b" + "615dd9ff35c89df193f5c24479e37e21" ], [ - "Pulse.Typing.Metatheory.vprop_equiv_x", + "Pulse.Typing.Metatheory.st_typing_weakening", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", - "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", - "equation_Pulse.Typing.Metatheory.fresh_wrt", - "kinding_Pulse.Syntax.Base.term@tok", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f89852bbf8989ad7c1e4dbaeb25e36e0", - "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "refinement_interpretation_Tm_refine_478810302d3261f456fa9b0eb16ba8e8", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "82d50cafac97387b8678a3f30845a8e7" - ], - [ - "Pulse.Typing.Metatheory.st_typing_equiv_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Pulse.Syntax.Base.C_ST", - "disc_equation_Pulse.Syntax.Base.C_STAtomic", - "disc_equation_Pulse.Syntax.Base.C_STGhost", - "disc_equation_Pulse.Syntax.Base.C_Tot", - "equation_Pulse.Syntax.Base.comp_st", - "equation_Pulse.Syntax.Base.stateful_comp", - "fuel_guarded_inversion_Pulse.Syntax.Base.comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" - ], - 0, - "cea03465cb26fb81209d36c1536554b9" + "aa729e06fe17586a5769b39d653b69f7" ], [ - "Pulse.Typing.Metatheory.st_typing_equiv_pre", + "Pulse.Typing.Metatheory.veq_weakening", 1, 2, 1, [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Pulse.Syntax.Base.C_ST", - "disc_equation_Pulse.Syntax.Base.C_STAtomic", - "disc_equation_Pulse.Syntax.Base.C_STGhost", - "disc_equation_Pulse.Syntax.Base.C_Tot", - "equation_Pulse.Syntax.Base.comp_st", - "equation_Pulse.Syntax.Base.stateful_comp", - "fuel_guarded_inversion_Pulse.Syntax.Base.comp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "int_inversion", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", + "lemma_Pulse.Typing.Env.push_env_as_map", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_478810302d3261f456fa9b0eb16ba8e8", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "bba6b104e795ed2bec44023df266f6aa" + "8122d56501f567eb12106c95b11f0be0" ], [ "Pulse.Typing.Metatheory.singleton_env", @@ -323,7 +295,7 @@ "typing_FStar.Reflection.V2.Data.var" ], 0, - "1f48783f055f393d04d78a5ff2115846" + "6f440ae7cc1d76b0dee82d84cbea23d1" ], [ "Pulse.Typing.Metatheory.subst_env", @@ -338,7 +310,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e8d59a9481fa52c88bcba1b9b6d7dce9" + "3f34c911b195009d59bf0f5810a2dccb" ], [ "Pulse.Typing.Metatheory.st_typing_subst", @@ -376,7 +348,7 @@ "typing_Pulse.Typing.Metatheory.singleton_env" ], 0, - "faac155242d28285c77f37ac55d3d892" + "d4cbc07157d9009d5cb5518a0b788c9c" ], [ "Pulse.Typing.Metatheory.st_typing_subst", @@ -392,7 +364,61 @@ "refinement_interpretation_Tm_refine_d0cbf185f53471ab94597d0f4191e07f" ], 0, - "a317ae709d3f2cb4eb52be1476085cb5" + "81c54fd13c73cab83f75f9a4b30caa4a" + ], + [ + "Pulse.Typing.Metatheory.vprop_equiv_subst", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Set.disjoint", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "equation_Pulse.Typing.Metatheory.singleton_env", + "fuel_guarded_inversion_Pulse.Syntax.Base.term", "int_inversion", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "lemma_Pulse.Typing.Env.mk_env_dom", + "lemma_Pulse.Typing.Env.push_env_as_map", + "lemma_Pulse.Typing.Env.push_env_fstar_env", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_530c8dba59115f16314c44e7c3c4f062", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5640c3b1e6dbb4f6537716200df8bd14", + "refinement_interpretation_Tm_refine_d0cbf185f53471ab94597d0f4191e07f", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.intersect", "typing_FStar.Set.mem", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom", + "typing_Pulse.Typing.Env.fstar_env", + "typing_Pulse.Typing.Metatheory.singleton_env" + ], + 0, + "ac9f94d892af32315a0badfae95d1855" + ], + [ + "Pulse.Typing.Metatheory.vprop_equiv_subst", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.disjoint", + "equation_Pulse.Typing.Metatheory.pairwise_disjoint", + "equation_Pulse.Typing.Metatheory.singleton_env", + "refinement_interpretation_Tm_refine_d0cbf185f53471ab94597d0f4191e07f" + ], + 0, + "96e2864565aa229ecdac0907f982f991" ] ] ] \ No newline at end of file diff --git a/lib/steel/pulse/Pulse.Typing.fst.hints b/lib/steel/pulse/Pulse.Typing.fst.hints index d735085cb..e43f5352b 100644 --- a/lib/steel/pulse/Pulse.Typing.fst.hints +++ b/lib/steel/pulse/Pulse.Typing.fst.hints @@ -1,6 +1,18 @@ [ - "A\u0002N\u0004\u001e+$", + "\u0001\b\u0014Hit*&\u0017", [ + [ + "Pulse.Typing.debug_log", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "fuel_guarded_inversion_FStar.Tactics.Result.__result" + ], + 0, + "ea45a066bc18de878b03e5829023284d" + ], [ "Pulse.Typing.tm_prop", 1, @@ -21,7 +33,7 @@ "typing_FStar.Reflection.V2.Builtins.pack_fv" ], 0, - "015650a9eb7227a1a73ce870cdc831e7" + "c2e7701cbfa3c9cb7b1c418825c1f266" ], [ "Pulse.Typing.comp_return", @@ -37,7 +49,90 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5abf9731f78494a6025ae358c1396e37" + "fe8aff91923ec43267f9ac850a975cdb" + ], + [ + "Pulse.Typing.all_fresh", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "binder_x_1ad99e5433effa849e32ef9adfa111a0_0", + "binder_x_cd8328d6bad7f78649a4f8b79fe2e105_1", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.binding", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.lookup", "equation_Pulse.Typing.freshv", + "fuel_guarded_inversion_Prims.list", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "projection_inverse_BoxBool_proj_0", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Typing.Env.as_map" + ], + 0, + "4b5e2fc9f4790086b5efe830bbabaf68" + ], + [ + "Pulse.Typing.push_bindings", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Typing.all_fresh.fuel_instrumented", + "@fuel_irrelevance_Pulse.Typing.all_fresh.fuel_instrumented", + "@query", "b2t_def", "binder_x_1ad99e5433effa849e32ef9adfa111a0_0", + "binder_x_1fdabad2c48d5ffe21f229d1600ed854_1", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Prims.Cons", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.ppname_default", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.binding", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Env.lookup", "equation_Pulse.Typing.freshv", + "equation_with_fuel_Pulse.Typing.all_fresh.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "int_typing", + "kinding_Pulse.Syntax.Base.term@tok", "l_and-interp", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_Pulse.Typing.Env.env_extends_push", + "lemma_Pulse.Typing.Env.env_extends_refl", + "lemma_Pulse.Typing.Env.env_extends_trans", + "lemma_Pulse.Typing.Env.push_env_as_map", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_0e05a441736ee1a990510e8440d3b4d7", + "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", + "refinement_interpretation_Tm_refine_6498ebe98efabc18304b897d8945e37a", + "refinement_interpretation_Tm_refine_8426dd34ef781f8d75c3a9a4565381e8", + "refinement_interpretation_Tm_refine_91af5c587b6679e2a2a1d734cb0e71bd", + "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Syntax.Base.ppname_default", + "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.fstar_env" + ], + 0, + "22256e6a1268df892563119b1e3d6dbc" ], [ "Pulse.Typing.elab_push_binding", @@ -52,7 +147,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ebdf42a1fa0ce1e9e340f9ebb396bc13" + "3f78ed9ffd88c2a7b539b4fb821e43de" ], [ "Pulse.Typing.elab_push_binding", @@ -102,7 +197,7 @@ "typing_Tm_abs_9de830881eb0b7299cb605b2cfe97562" ], 0, - "03b6bd7a678147a862383fc6065cfccb" + "d57aeb7c2110ffa29fbeea529ae4fecd" ], [ "Pulse.Typing.add_frame", @@ -124,7 +219,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "73bf4911f24b9e7f2947156c8ed2fe5a" + "1b36d4d578471ab22f1bd5b9ec261ffe" ], [ "Pulse.Typing.bind_comp_pre", @@ -148,7 +243,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "ea5958eab04c341b1aafe2e299a0dfda" + "2b326233f0daca1bdcf03347dd36929f" ], [ "Pulse.Typing.bind_comp_out", @@ -178,7 +273,7 @@ "refinement_interpretation_Tm_refine_a41402aefde1a5be417941dd8bd92b31" ], 0, - "300d48c057d29e096983d622fa3ca792" + "28796c79874dce962bd745cc3283eaa5" ], [ "Pulse.Typing.bind_comp_ghost_l_pre", @@ -202,7 +297,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "8203a490ea0e6155a4abab9e4a5eb4e9" + "408c29c0dd6c34fb16765a2c3f03c380" ], [ "Pulse.Typing.bind_comp_ghost_l_out", @@ -233,7 +328,7 @@ "typing_Pulse.Syntax.Base.stateful_comp" ], 0, - "933ecf2b0c199c9c0fb825b22ff54823" + "8abc29b6a7a188a0b656bca80b40250c" ], [ "Pulse.Typing.bind_comp_ghost_r_pre", @@ -257,7 +352,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "a7f337d3afa4285295b4f825e6e3e7ea" + "20d1d333b28b59c6593afa0cb741aca6" ], [ "Pulse.Typing.bind_comp_ghost_r_out", @@ -288,7 +383,7 @@ "typing_Pulse.Syntax.Base.stateful_comp" ], 0, - "4931caf720c36a9581cb59e57f38e6f4" + "abe02b0a12cd2f1c9ac9e46d2c52cad7" ], [ "Pulse.Typing.st_equiv_pre", @@ -308,7 +403,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "07bf7c2e44bf1dc5c73aead69c214e30" + "3e091134ec9ce0ffae42210a097ca0b6" ], [ "Pulse.Typing.comp_par", @@ -323,7 +418,7 @@ "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" ], 0, - "296f988aacd46ebd8ed346c7416cc863" + "156f88337fe55ca15126b8dc57b0b431" ], [ "Pulse.Typing.comp_withlocal_body", @@ -338,7 +433,7 @@ "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" ], 0, - "19678b4e9a39d14babe0074fb3d851d8" + "a4a8be41f0b06c8ce99fe092d2de4339" ], [ "Pulse.Typing.comp_admit", @@ -354,7 +449,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "926c18c53fe2e0bb3035cf589168744f" + "550fd26a0283090339d71faec413964f" ], [ "Pulse.Typing.non_informative_c", @@ -374,7 +469,7 @@ "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" ], 0, - "4ea854b1318320f265a57ef960954d25" + "32dc0340338b959355218e63fb8543d1" ], [ "Pulse.Typing.st_equiv", @@ -408,7 +503,7 @@ "typing_Pulse.Typing.Env.as_map" ], 0, - "7d5fba32fecc1aa1a55fb5381d0ee19f" + "02bd512f2ec4df4df20b6b186473b4cf" ], [ "Pulse.Typing.__proj__ST_VPropEquiv__item__x", @@ -439,7 +534,7 @@ "typing_Pulse.Syntax.Base.uu___is_C_Tot" ], 0, - "de9d108945d1ff3ac2db00707d35fcb4" + "c0a6c7ed02f5b4cd820ce653c1fc11c0" ], [ "Pulse.Typing.__proj__ST_VPropEquiv__item___4", @@ -460,7 +555,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "bbf93d4a9ae3423b32bc515b5ccd63aa" + "e27d2de3cf076e67dbf8ea88988ebf2d" ], [ "Pulse.Typing.__proj__ST_VPropEquiv__item___5", @@ -481,7 +576,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9050e006a4c0610e386e265eab42be20" + "9f2eb12902bd62bf297df657c7d4788f" ], [ "Pulse.Typing.__proj__ST_VPropEquiv__item___6", @@ -522,7 +617,7 @@ "typing_Pulse.Typing.__proj__ST_VPropEquiv__item__x" ], 0, - "9a3f4d2750b6dff5ae8fbc49aaf18d39" + "c240ac9ffdf08184f10e790110617b18" ], [ "Pulse.Typing.__proj__ST_VPropEquiv__item___7", @@ -555,7 +650,7 @@ "typing_Pulse.Syntax.Base.comp_u", "unit_typing" ], 0, - "c8b7fd551958a48865ae0ba3d284a2f1" + "50b43f02641c33b0c8ee8b2be7d63ce2" ], [ "Pulse.Typing.__proj__ST_VPropEquiv__item___8", @@ -599,7 +694,7 @@ "typing_Pulse.Typing.__proj__ST_VPropEquiv__item__x" ], 0, - "d9f50cdf66df30fb57bd621a53260c72" + "99ab90c268f36218ba1f50f6b5e05087" ], [ "Pulse.Typing.bind_comp", @@ -633,7 +728,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "458cd201dd0f9fa6c23de97d5903cf86" + "e112e8e339f75b4d3a2338608d3970c1" ], [ "Pulse.Typing.bind_comp", @@ -642,7 +737,7 @@ 1, [ "@query", "equation_Pulse.Typing.bind_comp_ghost_r_pre" ], 0, - "8d1ac84e7e4f6646eb59f1c5475f3359" + "5d7490bcdad14d6b79fcb74fee5299cd" ], [ "Pulse.Typing.bind_comp", @@ -676,7 +771,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "4787db55c0f07e50ce30ea054ceaf1bd" + "9bd24bf31caf0dad8a8ad321e5b9a229" ], [ "Pulse.Typing.bind_comp", @@ -685,7 +780,7 @@ 1, [ "@query", "equation_Pulse.Typing.bind_comp_ghost_l_pre" ], 0, - "ad6d16247c31559de7935225a40450bd" + "364b8d1ee32191e4c87de37bb8f24de8" ], [ "Pulse.Typing.bind_comp", @@ -719,7 +814,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "7cc518fe2adc4e1506020adab666e0c5" + "7976c2b6d95a4c842d842c3984cff3c9" ], [ "Pulse.Typing.bind_comp", @@ -728,7 +823,7 @@ 1, [ "@query", "equation_Pulse.Typing.bind_comp_pre" ], 0, - "4c263ef192841a288734d7c7881203d3" + "129caf8103c5f790599fac061479239d" ], [ "Pulse.Typing.__proj__Bind_comp__item___4", @@ -752,7 +847,7 @@ "typing_Pulse.Typing.__proj__Bind_comp__item__c2" ], 0, - "373049db1bdf7eecd6896a1d97d7e704" + "e5b81c748714d40cafb62e0825dff6d5" ], [ "Pulse.Typing.__proj__Bind_comp__item__y", @@ -779,7 +874,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "64f8197d149faad14e836e7418254076" + "81692bba32917cd49e5bd35e16641e79" ], [ "Pulse.Typing.__proj__Bind_comp__item___6", @@ -823,7 +918,7 @@ "typing_Pulse.Typing.__proj__Bind_comp__item__y" ], 0, - "3a1ccf035eb542048bd7e00e7144f45b" + "1f2ed38cee7c1541b66ee065f0327e84" ], [ "Pulse.Typing.__proj__Bind_comp_ghost_l__item___5", @@ -847,7 +942,7 @@ "typing_Pulse.Typing.__proj__Bind_comp_ghost_l__item__c2" ], 0, - "7ce816625e5c9a6de267b268227fe837" + "78b452240131eb88a832ab10915d1de5" ], [ "Pulse.Typing.__proj__Bind_comp_ghost_l__item__y", @@ -876,7 +971,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "23fa6195e425607657ba3674a6488e7b" + "d90f273e19a4c729620eeda68ba753d0" ], [ "Pulse.Typing.__proj__Bind_comp_ghost_l__item___7", @@ -920,7 +1015,7 @@ "typing_Pulse.Typing.__proj__Bind_comp_ghost_l__item__y" ], 0, - "9a68e762517c6bae04047578ba16dbd2" + "9ba28f006769c1293a52220e97d081c0" ], [ "Pulse.Typing.__proj__Bind_comp_ghost_r__item___5", @@ -944,7 +1039,7 @@ "typing_Pulse.Typing.__proj__Bind_comp_ghost_r__item__c2" ], 0, - "c46afee5c218d72f74bcb7341bc93046" + "2444a48f884b4ed9a7348d106c043c68" ], [ "Pulse.Typing.__proj__Bind_comp_ghost_r__item__y", @@ -973,7 +1068,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3b6ac3f6233adc41360add5320468203" + "8716e0b7ed8e66008885a06342dcc3d7" ], [ "Pulse.Typing.__proj__Bind_comp_ghost_r__item___7", @@ -1017,7 +1112,7 @@ "typing_Pulse.Typing.__proj__Bind_comp_ghost_r__item__y" ], 0, - "56260e713f29dcab77975933caa3c092" + "7303cc6e7eb3d972111ce6b7927d3b56" ], [ "Pulse.Typing.lift_comp", @@ -1030,7 +1125,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "7a63bc698c9e47c89273dd4a4296c310" + "ac99e189dbfff4de914f1c3ce8c468a3" ], [ "Pulse.Typing.lift_comp", @@ -1039,7 +1134,7 @@ 1, [ "@query" ], 0, - "5b1cc049ac57dce8ae3b1b767b90f2ad" + "6330aa568a329b881005d62bf7434da8" ], [ "Pulse.Typing.lift_comp", @@ -1052,7 +1147,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "94a268069c4da3a084192c02103a051e" + "ab22c3efb72131f948f09a3f522c1647" ], [ "Pulse.Typing.__proj__Lift_STAtomic_ST__item__c", @@ -1061,7 +1156,7 @@ 1, [ "@query" ], 0, - "856d434ade4c434916eeb9a04d529462" + "b385fd18780a4d374ba8a48c3860456c" ], [ "Pulse.Typing.wr", @@ -1070,7 +1165,7 @@ 1, [ "@query", "equation_Pulse.Syntax.Base.range_singleton_trigger" ], 0, - "772197f67353efdeb578f066bf39f62b" + "043252598b3f5d8464b326850a9c5360" ], [ "Pulse.Typing.st_comp_typing", @@ -1097,7 +1192,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "21f1f1f00576eb3f112042db21f2ff1d" + "a6e37a4f28ccaab85f0fe9dc7c2ecd77" ], [ "Pulse.Typing.__proj__STC__item__x", @@ -1112,7 +1207,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e313a59e40ff7e67988e1a0a2999fb58" + "0063dd59204525176f706b98d849e7e6" ], [ "Pulse.Typing.__proj__STC__item___5", @@ -1138,13 +1233,79 @@ "typing_Pulse.Typing.__proj__STC__item__x" ], 0, - "c95dcd99016b93c8920fa4fd44f2cb18" + "bfd6f40a6384a411f6697f1c5f379a08" + ], + [ + "Pulse.Typing.tr_binding", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "b5171e372e244fc438bcf6a13b06981f" + ], + [ + "Pulse.Typing.readback_binding", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equation_FStar.Reflection.Typing.tun", + "equation_Pulse.Syntax.Base.host_term", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "lemma_FStar.Reflection.Typing.inspect_pack", + "refinement_interpretation_Tm_refine_23dfcaa69174c552645c49ff9c2a2ea7", + "typing_FStar.Reflection.Typing.tun", + "typing_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok" + ], + 0, + "51ff0461e3166a1ca5dd8d818388e73a" ], [ "Pulse.Typing.st_typing", 1, 2, 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Typing.all_fresh.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.nat", + "equation_Prims.squash", "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.range_singleton_trigger", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.dom", "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.freshv", "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_31f0431eec32a7971b33471ec380e558", + "refinement_interpretation_Tm_refine_5f4e815ddfeb3d0c9882ff3a1fb18eac", + "refinement_interpretation_Tm_refine_7ad5682d990eaec6510764d663af54de", + "string_typing", "true_interp", "typing_FStar.Map.contains", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Typing.Env.as_map" + ], + 0, + "4a57a95359c498f127c9e284b0ef14bb" + ], + [ + "Pulse.Typing.st_typing", + 2, + 2, + 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1167,11 +1328,11 @@ "typing_Pulse.Typing.Env.as_map" ], 0, - "c8c1038089a933aac7cd24783cb2ffac" + "642cb402e535db074892773f8352c7de" ], [ "Pulse.Typing.st_typing", - 2, + 3, 2, 1, [ @@ -1182,20 +1343,20 @@ "refinement_interpretation_Tm_refine_d79470205dca7f56c9b5a5da9d23b961" ], 0, - "0fc8fb5821c897b24102988a1a3d335f" + "1e0c623aecd500d10de61dfec8996211" ], [ "Pulse.Typing.st_typing", - 3, + 4, 2, 1, [ "@query" ], 0, - "99843839059811f0382b36df4e9044ad" + "180f30461d59892ad52ddffece5aedc0" ], [ "Pulse.Typing.st_typing", - 4, + 5, 2, 1, [ @@ -1218,11 +1379,11 @@ "typing_Pulse.Typing.Env.as_map" ], 0, - "dd63fd0166a2bbf36a1f919913055908" + "41dc163477151812f6342f432b7b1a6b" ], [ "Pulse.Typing.st_typing", - 5, + 6, 2, 1, [ @@ -1245,11 +1406,11 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "87f00927d959a33bfefae864c404efeb" + "3d9fbb1a13c0fbe6a6851226e37cf7be" ], [ "Pulse.Typing.st_typing", - 6, + 7, 2, 1, [ @@ -1279,11 +1440,11 @@ "typing_Pulse.Typing.Env.as_map" ], 0, - "2965dfb48118a8cc0ca3f591df18ca04" + "a97614d52d4fa135f41480a2b1d17f57" ], [ "Pulse.Typing.st_typing", - 7, + 8, 2, 1, [ @@ -1306,11 +1467,11 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "ec6aee40146ab7cc81da9010dd638b19" + "01c92cf7ddecc2f93a11bcb13439f40d" ], [ "Pulse.Typing.st_typing", - 8, + 9, 2, 1, [ @@ -1332,7 +1493,7 @@ "typing_Pulse.Typing.Env.as_map", "typing_Pulse.Typing.Env.dom" ], 0, - "c944738200723ed23bd08cf5833b2e5b" + "2c15749d3dd352ff1aeb76228c0749bb" ], [ "Pulse.Typing.__proj__T_Abs__item__body", @@ -1347,7 +1508,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "90177e48302c6addbc3550b8e520549c" + "d7a51609fe234d44a00785c2934e9e2a" ], [ "Pulse.Typing.__proj__T_Abs__item___8", @@ -1373,7 +1534,7 @@ "typing_Pulse.Typing.__proj__T_Abs__item__x" ], 0, - "fe8b21b5fb0f5eb812b9f53160c9f111" + "a004710397112380dedb49ca0fd308d9" ], [ "Pulse.Typing.__proj__T_Return__item__x", @@ -1388,7 +1549,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "921c2ca471ccd05fd217788603e5a8ab" + "0aab8aa119098d0520232107ccee2c6a" ], [ "Pulse.Typing.__proj__T_Return__item___10", @@ -1414,7 +1575,7 @@ "typing_Pulse.Typing.__proj__T_Return__item__x" ], 0, - "b350dd395d6d0216cca02333889011c5" + "90d563ffc7646000216af8c12efe66f3" ], [ "Pulse.Typing.__proj__T_Bind__item__x", @@ -1429,7 +1590,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eedc273f0b471b9cb1e40dda18906313" + "9221320e15065b6dd7721e177fcb0414" ], [ "Pulse.Typing.__proj__T_Bind__item___9", @@ -1451,7 +1612,7 @@ "typing_Pulse.Typing.__proj__T_Bind__item__c1" ], 0, - "2d2291dd3791f36bc9bfb1be4560fe9e" + "ae279400599babf23bea18c4559a6c0b" ], [ "Pulse.Typing.__proj__T_Bind__item___10", @@ -1477,7 +1638,7 @@ "typing_Pulse.Typing.__proj__T_Bind__item__x" ], 0, - "0885bcf53cdac20aa2b2f3073f34437c" + "0e1dea9a8fd632bafa1d00b81eeb5e6d" ], [ "Pulse.Typing.__proj__T_TotBind__item__x", @@ -1492,7 +1653,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a06c3dd2c84fa6e42cc284799540ce1b" + "d33cd011ce750bebb8df4dc702859e39" ], [ "Pulse.Typing.__proj__T_TotBind__item___7", @@ -1518,7 +1679,7 @@ "typing_Pulse.Typing.__proj__T_TotBind__item__x" ], 0, - "470372f89247f14e04a604e8d5159e99" + "e419742a6ce0695913317a55b2449d67" ], [ "Pulse.Typing.__proj__T_If__item__hyp", @@ -1533,7 +1694,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2c3fefdc4e683e473a9345ecc32368fc" + "b78113d121f23cada72b14820732925c" ], [ "Pulse.Typing.__proj__T_If__item___8", @@ -1559,7 +1720,7 @@ "typing_Pulse.Typing.__proj__T_If__item__hyp" ], 0, - "14a2391d9faa8b43150467cc4edda4d4" + "1b218f685079dd135b18c387969095c7" ], [ "Pulse.Typing.__proj__T_If__item___9", @@ -1585,7 +1746,7 @@ "typing_Pulse.Typing.__proj__T_If__item__hyp" ], 0, - "57624bcacdffeeba6c6be724982d5616" + "167312cdad35334eaf30f008af34fdf7" ], [ "Pulse.Typing.__proj__T_Par__item__cR", @@ -1606,7 +1767,7 @@ "typing_Pulse.Syntax.Base.uu___is_C_ST" ], 0, - "b966f29d73359305be104cf019dd760d" + "288e3fe06bfef35d090747ae78bf4859" ], [ "Pulse.Typing.__proj__T_Par__item___6", @@ -1619,7 +1780,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "0cc7004c0dc52151405a3652acb5ef72" + "c7a91d5d0e56d4e9a748f032643ca6db" ], [ "Pulse.Typing.__proj__T_Par__item___7", @@ -1632,7 +1793,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "f036ce4b4666dbaceac6f6b2f7362342" + "d3083695aa76b49a9339a0f5c4232841" ], [ "Pulse.Typing.__proj__T_WithLocal__item__x", @@ -1647,7 +1808,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "56e153d0cc7a0c5f2ffd0642dcccdda5" + "a061b75818e067664e994c81986e5548" ], [ "Pulse.Typing.__proj__T_WithLocal__item___8", @@ -1660,7 +1821,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "03acc62acfd68695cb694bfcfc41e3d4" + "4b1de113b79e0365dd5ddc44508a6593" ], [ "Pulse.Typing.__proj__T_WithLocal__item___9", @@ -1686,7 +1847,306 @@ "typing_Pulse.Typing.__proj__T_WithLocal__item__x" ], 0, - "f456048bcfac4fe3a09ac3fd4c1c79e3" + "909ccb1ddd43a8df6421aa6182fd39cd" + ], + [ + "Pulse.Typing.__proj__TBR__item__uu___2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_Pulse.Typing.TBR", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_Prims.squash", + "fuel_guarded_inversion_Pulse.Typing.br_typing", + "proj_equation_Pulse.Typing.TBR_bs", + "proj_equation_Pulse.Typing.TBR_p", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "512ecd39c7db855d9a3206d136c12cdb" + ], + [ + "Pulse.Typing.__proj__TBR__item__hyp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Typing.all_fresh.fuel_instrumented", + "@query", "data_elim_Pulse.Typing.TBR", "equation_Prims.squash", + "equation_Pulse.Typing.Env.binding", + "fuel_guarded_inversion_Pulse.Typing.br_typing", + "proj_equation_Pulse.Typing.TBR_bs", + "proj_equation_Pulse.Typing.TBR_g", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "6da8aafc63cde68e99a3a73b64110271" + ], + [ + "Pulse.Typing.__proj__TBR__item___12", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_Pulse.Typing.all_fresh.fuel_instrumented", + "@fuel_correspondence_Pulse.Typing.push_bindings.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "data_elim_Pulse.Typing.TBR", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equation_FStar.Reflection.Const.squash_qn", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.nat", + "equation_Prims.squash", "equation_Pulse.Syntax.Base.as_fv", + "equation_Pulse.Syntax.Base.not_tv_unknown", + "equation_Pulse.Syntax.Base.range", "equation_Pulse.Syntax.Base.typ", + "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.binding", "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Env.lookup", "equation_Pulse.Typing.freshv", + "fuel_guarded_inversion_Pulse.Typing.br_typing", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_Pulse.Typing.Env.push_env_as_map", + "proj_equation_Pulse.Syntax.Base.Mkfv_fv_range", + "proj_equation_Pulse.Typing.TBR_bs", + "proj_equation_Pulse.Typing.TBR_g", + "proj_equation_Pulse.Typing.TBR_hyp", + "proj_equation_Pulse.Typing.TBR_p", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Pulse.Syntax.Base.Mkfv_fv_range", + "refinement_interpretation_Tm_refine_0faf2a577fe8fb5a45a515dbf8759b2d", + "refinement_interpretation_Tm_refine_2c0925ab5edb3b116133bde5e8316561", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_31f0431eec32a7971b33471ec380e558", + "refinement_interpretation_Tm_refine_5f4e815ddfeb3d0c9882ff3a1fb18eac", + "refinement_interpretation_Tm_refine_8c22aa61a47c16d0229ef090894097c8", + "string_typing", "true_interp", "typing_FStar.Map.contains", + "typing_FStar.Reflection.Const.squash_qn", + "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Syntax.Base.__proj__Mkfv__item__fv_range", + "typing_Pulse.Syntax.Base.as_fv", "typing_Pulse.Typing.Env.as_map", + "typing_Pulse.Typing.__proj__TBR__item__hyp" + ], + 0, + "1904e042cf0b59cc8cc5c1b73b0bbe0b" + ], + [ + "Pulse.Typing.post_hint_for_env_extends", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "5e36c057ed66712ec74d8e33d12295c0" + ], + [ + "Pulse.Typing.post_hint_for_env_extends", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.post_hint_for_env_p", + "lemma_Pulse.Typing.Env.env_extends_trans", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", + "refinement_interpretation_Tm_refine_484fe0819d1383a2c20d94ae027baa5f", + "typing_Pulse.Syntax.Base.ppname_default", + "typing_Pulse.Typing.Env.push_binding", + "typing_Pulse.Typing.__proj__Mkpost_hint_t__item__g" + ], + 0, + "6b5ea2c0f19073498e27cab03f4b324d" + ], + [ + "Pulse.Typing.post_hint_opt", + 1, + 2, + 1, + [ + "@query", "kinding_Pulse.Typing.post_hint_t@tok", + "lemma_FStar.Pervasives.invertOption" + ], + 0, + "bbf0ee23208138b149e4a7fee0442929" + ], + [ + "Pulse.Typing.post_hint_typing_t", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "e350b9f33d84997535af44a3321fc704" + ], + [ + "Pulse.Typing.__proj__Mkpost_hint_typing_t__item__ty_typing", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "e31f52a22270886f88be1963fb8c264e" + ], + [ + "Pulse.Typing.__proj__Mkpost_hint_typing_t__item__ty_typing", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "75556634148f8a51100f3dc9c5df82ec" + ], + [ + "Pulse.Typing.__proj__Mkpost_hint_typing_t__item__post_typing", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "7042db7b3e74718b34a069d22d57e4e9" + ], + [ + "Pulse.Typing.__proj__Mkpost_hint_typing_t__item__post_typing", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "2fb669a689b479eeca47fdf47cbf990b" + ], + [ + "Pulse.Typing.fresh_wrt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "d98cf800810b230681c2891e8666e299" + ], + [ + "Pulse.Typing.fresh_wrt", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Pulse.Syntax.Base.var", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "c662d03253a5f818cd93b5b030e9480b" + ], + [ + "Pulse.Typing.post_hint_typing", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Pulse.Syntax.Base.typ", "equation_Pulse.Syntax.Base.var", + "equation_Pulse.Typing.Env.dom", + "equation_Pulse.Typing.Env.env_extends", + "equation_Pulse.Typing.Env.extends_with", + "equation_Pulse.Typing.Env.lookup", + "equation_Pulse.Typing.fresh_wrt", + "equation_Pulse.Typing.post_hint_for_env", + "equation_Pulse.Typing.post_hint_for_env_p", + "fuel_guarded_inversion_Pulse.Typing.post_hint_t", + "kinding_Pulse.Syntax.Base.term@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "proj_equation_Pulse.Typing.Mkpost_hint_t_g", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_0eda9d6b46b8665438ff6a846b3eed41", + "refinement_interpretation_Tm_refine_6e8e5238aadfc712ef5fa6bc6310c384", + "typing_FStar.Map.contains", "typing_FStar.Reflection.V2.Data.var", + "typing_Pulse.Typing.Env.as_map" + ], + 0, + "30cddadb3ed3eed4c82f239c4bc5ef56" + ], + [ + "Pulse.Typing.comp_post_matches_hint", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Pulse.Syntax.Base.C_ST", + "disc_equation_Pulse.Syntax.Base.C_STAtomic", + "disc_equation_Pulse.Syntax.Base.C_STGhost", + "disc_equation_Pulse.Syntax.Base.C_Tot", + "equation_Pulse.Syntax.Base.comp_st", + "equation_Pulse.Syntax.Base.stateful_comp", + "fuel_guarded_inversion_Pulse.Syntax.Base.comp", + "kinding_Pulse.Typing.post_hint_t@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_BarBar", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_78cf9fabb706bab7e54de904b7db9d2a" + ], + 0, + "7599f739c440767473fc73e60fcb31bf" ] ] ] \ No newline at end of file From 146600df16c3c719123703538ef3ee0c2635a392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= Date: Thu, 20 Jul 2023 17:08:38 -0700 Subject: [PATCH 08/15] Use "ensures" for if/match instead of "returns" --- src/ocaml/plugin/pulseparser.mly | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ocaml/plugin/pulseparser.mly b/src/ocaml/plugin/pulseparser.mly index aa36615c5..1790de197 100644 --- a/src/ocaml/plugin/pulseparser.mly +++ b/src/ocaml/plugin/pulseparser.mly @@ -113,9 +113,9 @@ pulseStmtNoSeq: { PulseSugar.mk_let_binding q i typOpt (Some tm) } | LBRACE s=pulseStmt RBRACE { PulseSugar.mk_block s } - | IF tm=appTermNoRecordExp vp=option(returnsVprop) LBRACE th=pulseStmt RBRACE e=option(elseBlock) + | IF tm=appTermNoRecordExp vp=option(ensuresVprop) LBRACE th=pulseStmt RBRACE e=option(elseBlock) { PulseSugar.mk_if tm vp th e } - | MATCH tm=appTermNoRecordExp c=option(returnsVprop) LBRACE brs=list(pulseMatchBranch) RBRACE + | MATCH tm=appTermNoRecordExp c=option(ensuresVprop) LBRACE brs=list(pulseMatchBranch) RBRACE { PulseSugar.mk_match tm c brs } | WHILE LPAREN tm=pulseStmt RPAREN INVARIANT i=lident DOT v=pulseVprop LBRACE body=pulseStmt RBRACE { PulseSugar.mk_while tm i v body } @@ -144,9 +144,8 @@ withBindersOpt: { List.flatten bs } | { [] } -/* TODO: change to ENSURES */ -returnsVprop: - | RETURNS s=pulseVprop +ensuresVprop: + | ENSURES s=pulseVprop { s } pulseMatchBranch: From 807fc9b104f6406152e8a65bcf51eecd35c21ad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= Date: Thu, 20 Jul 2023 17:11:35 -0700 Subject: [PATCH 09/15] remove an easy admit --- lib/steel/pulse/Pulse.Common.fst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/steel/pulse/Pulse.Common.fst b/lib/steel/pulse/Pulse.Common.fst index 292662a65..14d714b6c 100644 --- a/lib/steel/pulse/Pulse.Common.fst +++ b/lib/steel/pulse/Pulse.Common.fst @@ -89,10 +89,12 @@ let rec lemma_map_opt_dec_len #a #b #z (top:z) (f : (x:a{x << top}) -> option b) // = Classical.forall_intro (Classical.move_requires (__lemma_map_opt_index f xs ys)) -let dec_index #a (top:'z) (l : list a{l << top}) (i : nat{i < L.length l}) +let rec dec_index #a (top:'z) (l : list a{l << top}) (i : nat{i < L.length l}) : Lemma (l `L.index` i << top) [SMTPat (l `L.index` i << top)] -= admit() += match l, i with + | _, 0 -> () + | _::l, _ -> dec_index top l (i-1) From 56db44705d067a6c25dab02c955f2d2e338fc79e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= Date: Thu, 20 Jul 2023 18:07:04 -0700 Subject: [PATCH 10/15] wip proofs --- lib/steel/pulse/Pulse.Common.fst | 4 ++-- lib/steel/pulse/Pulse.Syntax.Naming.fsti | 7 +++++-- lib/steel/pulse/Pulse.Typing.LN.fst | 20 ++++++++++++++++++-- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/lib/steel/pulse/Pulse.Common.fst b/lib/steel/pulse/Pulse.Common.fst index 14d714b6c..81ed89518 100644 --- a/lib/steel/pulse/Pulse.Common.fst +++ b/lib/steel/pulse/Pulse.Common.fst @@ -20,10 +20,10 @@ let (let?) (f:option 'a) (g:'a -> option 'b) : option 'b = // [SMTPat (Some? ((let?) x f))] // = () -let rec for_all_dec (top:'a) (f : (x:'b{x << top} -> bool)) (l : list 'b{l << top}) : bool = +let rec for_all_dec (top:'a) (l : list 'b{l << top}) (f : (x:'b{x << l} -> bool)) : bool = match l with | [] -> true - | x::xs -> f x && for_all_dec top f xs + | x::xs -> f x && for_all_dec top xs f let rec map_dec (top:'a) (l : list 'b{l << top}) (f : (x:'b{x << l} -> 'c)) : list 'c = match l with diff --git a/lib/steel/pulse/Pulse.Syntax.Naming.fsti b/lib/steel/pulse/Pulse.Syntax.Naming.fsti index b1bfade20..b136317d7 100644 --- a/lib/steel/pulse/Pulse.Syntax.Naming.fsti +++ b/lib/steel/pulse/Pulse.Syntax.Naming.fsti @@ -205,7 +205,7 @@ let rec ln_st' (t:st_term) (i:int) | Tm_Match {sc; returns_; brs } -> ln' sc i && ln_opt' returns_ i && - for_all_dec t (ln_branch i) brs + ln_branches' t brs i | Tm_IntroPure { p } | Tm_ElimExists { p } -> @@ -249,7 +249,7 @@ let rec ln_st' (t:st_term) (i:int) ln' v (i + n) && ln_st' t (i + n) -and ln_branch (i:int) (b : pattern & st_term) : Tot bool (decreases b) = +and ln_branch' (b : pattern & st_term) (i:int) : Tot bool (decreases b) = let (p, e) = b in match p with | Pat_Cons fv l -> ln_st' e (i + length l) @@ -258,6 +258,9 @@ and ln_branch (i:int) (b : pattern & st_term) : Tot bool (decreases b) = | Pat_Dot_Term None -> true | Pat_Dot_Term (Some e) -> false // FIXME come back to this +and ln_branches' (t:st_term) (brs : list branch{brs << t}) (i:int) : Tot bool (decreases brs) = + for_all_dec t brs (fun b -> ln_branch' b i) + let ln (t:term) = ln' t (-1) let ln_st (t:st_term) = ln_st' t (-1) let ln_c (c:comp) = ln_c' c (-1) diff --git a/lib/steel/pulse/Pulse.Typing.LN.fst b/lib/steel/pulse/Pulse.Typing.LN.fst index c92ff30a3..17e86935a 100644 --- a/lib/steel/pulse/Pulse.Typing.LN.fst +++ b/lib/steel/pulse/Pulse.Typing.LN.fst @@ -89,6 +89,10 @@ let open_term_ln_opt' (t:option term) (x:term) (i:index) | None -> () | Some t -> open_term_ln' t x i +// aux +let __brs_of (t:st_term{Tm_Match? t.term}) : list branch = + let Tm_Match {brs} = t.term in + brs let rec open_term_ln_list' (t:list term) (x:term) (i:index) : Lemma @@ -139,8 +143,9 @@ let rec open_st_term_ln' (e:st_term) | Tm_Match {sc;returns_;brs} -> open_term_ln' sc x i; open_term_ln_opt' returns_ x i; - // TODO: this is pretty cumbersome, but should not be conceptually hard - admit() + assert (__brs_of e == brs); + open_branches_ln' e brs x i; + () | Tm_IntroPure { p } | Tm_ElimExists { p } -> @@ -184,6 +189,17 @@ let rec open_st_term_ln' (e:st_term) open_term_ln' v x (i + n); open_st_term_ln' t x (i + n) +// The Tm_Match? and __brs_of conditions are to prove that the ln_branches' below +// satisfies the termination refinment. +and open_branches_ln' (t:st_term{Tm_Match? t.term}) (brs:list branch{brs << t /\ __brs_of t == brs}) (x:term) (i:index) + : Lemma + (requires ( + assert (subst_branches t [DT i x] brs == __brs_of (subst_st_term t [DT i x])); // hint + ln_branches' (open_st_term' t x i) (subst_branches t [DT i x] brs) (i - 1))) + (ensures ln_branches' t brs i) + (decreases brs) + = admit () + let open_term_ln (e:term) (v:var) : Lemma (requires ln (open_term e v)) From ca2526b4cc14e8d828b1ab11f091d191894cab78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= Date: Thu, 20 Jul 2023 22:53:29 -0700 Subject: [PATCH 11/15] another proof --- lib/steel/pulse/Pulse.Syntax.Naming.fsti | 2 +- lib/steel/pulse/Pulse.Typing.LN.fst | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/steel/pulse/Pulse.Syntax.Naming.fsti b/lib/steel/pulse/Pulse.Syntax.Naming.fsti index b136317d7..a73840dc0 100644 --- a/lib/steel/pulse/Pulse.Syntax.Naming.fsti +++ b/lib/steel/pulse/Pulse.Syntax.Naming.fsti @@ -255,7 +255,7 @@ and ln_branch' (b : pattern & st_term) (i:int) : Tot bool (decreases b) = | Pat_Cons fv l -> ln_st' e (i + length l) | Pat_Constant _ -> ln_st' e i | Pat_Var _ -> ln_st' e (i+1) - | Pat_Dot_Term None -> true + | Pat_Dot_Term None -> ln_st' e i | Pat_Dot_Term (Some e) -> false // FIXME come back to this and ln_branches' (t:st_term) (brs : list branch{brs << t}) (i:int) : Tot bool (decreases brs) = diff --git a/lib/steel/pulse/Pulse.Typing.LN.fst b/lib/steel/pulse/Pulse.Typing.LN.fst index 17e86935a..827f2aa18 100644 --- a/lib/steel/pulse/Pulse.Typing.LN.fst +++ b/lib/steel/pulse/Pulse.Typing.LN.fst @@ -198,7 +198,23 @@ and open_branches_ln' (t:st_term{Tm_Match? t.term}) (brs:list branch{brs << t /\ ln_branches' (open_st_term' t x i) (subst_branches t [DT i x] brs) (i - 1))) (ensures ln_branches' t brs i) (decreases brs) - = admit () + = match brs with + | [] -> () + | br::brs -> + assume (ln_branch' (subst_branch [DT i x] br) (i - 1)); // Should be immediate. Unfold + open_branch_ln' br x i; + admit () + +and open_branch_ln' (br : branch) (x:term) (i:index) + : Lemma + (requires ln_branch' (subst_branch [DT i x] br) (i - 1)) + (ensures ln_branch' br i) + = let (p, e) = br in + match p with + | Pat_Constant _ -> open_st_term_ln' e x i + | Pat_Dot_Term _ -> open_st_term_ln' e x i + | Pat_Var v -> open_st_term_ln' e x (i+1) + | Pat_Cons _ subpats -> open_st_term_ln' e x (i + L.length subpats) let open_term_ln (e:term) (v:var) : Lemma From 400cd6ac829d3dccbc1c824f4c098a37c2806653 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= Date: Thu, 20 Jul 2023 22:59:04 -0700 Subject: [PATCH 12/15] snap --- src/ocaml/plugin/generated/Pulse_Common.ml | 8 +++---- .../plugin/generated/Pulse_Syntax_Naming.ml | 23 +++++++++++-------- src/ocaml/plugin/generated/Pulse_Typing_LN.ml | 11 ++++++++- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/ocaml/plugin/generated/Pulse_Common.ml b/src/ocaml/plugin/generated/Pulse_Common.ml index 3ef8eb9b1..70859b6ff 100644 --- a/src/ocaml/plugin/generated/Pulse_Common.ml +++ b/src/ocaml/plugin/generated/Pulse_Common.ml @@ -11,11 +11,11 @@ let op_let_Question : | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some x -> g x let rec for_all_dec : - 'a 'b . 'a -> ('b -> Prims.bool) -> 'b Prims.list -> Prims.bool = + 'a 'b . 'a -> 'b Prims.list -> ('b -> Prims.bool) -> Prims.bool = fun top -> - fun f -> - fun l -> - match l with | [] -> true | x::xs -> (f x) && (for_all_dec top f xs) + fun l -> + fun f -> + match l with | [] -> true | x::xs -> (f x) && (for_all_dec top xs f) let rec map_dec : 'a 'b 'c . 'a -> 'b Prims.list -> ('b -> 'c) -> 'c Prims.list = fun top -> diff --git a/src/ocaml/plugin/generated/Pulse_Syntax_Naming.ml b/src/ocaml/plugin/generated/Pulse_Syntax_Naming.ml index 972c11b11..272c6e385 100644 --- a/src/ocaml/plugin/generated/Pulse_Syntax_Naming.ml +++ b/src/ocaml/plugin/generated/Pulse_Syntax_Naming.ml @@ -246,9 +246,7 @@ let rec (ln_st' : Pulse_Syntax_Base.st_term -> Prims.int -> Prims.bool) = | Pulse_Syntax_Base.Tm_Match { Pulse_Syntax_Base.sc = sc; Pulse_Syntax_Base.returns_ = returns_; Pulse_Syntax_Base.brs = brs;_} - -> - ((ln' sc i) && (ln_opt' returns_ i)) && - (Pulse_Common.for_all_dec t (ln_branch i) brs) + -> ((ln' sc i) && (ln_opt' returns_ i)) && (ln_branches' t brs i) | Pulse_Syntax_Base.Tm_IntroPure { Pulse_Syntax_Base.p = p; Pulse_Syntax_Base.should_check = uu___;_} @@ -302,12 +300,12 @@ let rec (ln_st' : Pulse_Syntax_Base.st_term -> Prims.int -> Prims.bool) = -> let n = FStar_List_Tot_Base.length binders in (ln' v (i + n)) && (ln_st' t1 (i + n)) -and (ln_branch : - Prims.int -> - (Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term) -> Prims.bool) +and (ln_branch' : + (Pulse_Syntax_Base.pattern * Pulse_Syntax_Base.st_term) -> + Prims.int -> Prims.bool) = - fun i -> - fun b -> + fun b -> + fun i -> let uu___ = b in match uu___ with | (p, e) -> @@ -317,9 +315,16 @@ and (ln_branch : | Pulse_Syntax_Base.Pat_Constant uu___1 -> ln_st' e i | Pulse_Syntax_Base.Pat_Var uu___1 -> ln_st' e (i + Prims.int_one) | Pulse_Syntax_Base.Pat_Dot_Term (FStar_Pervasives_Native.None) -> - true + ln_st' e i | Pulse_Syntax_Base.Pat_Dot_Term (FStar_Pervasives_Native.Some e1) -> false) +and (ln_branches' : + Pulse_Syntax_Base.st_term -> + Pulse_Syntax_Base.branch Prims.list -> Prims.int -> Prims.bool) + = + fun t -> + fun brs -> + fun i -> Pulse_Common.for_all_dec t brs (fun b -> ln_branch' b i) let (ln : Pulse_Syntax_Base.term -> Prims.bool) = fun t -> ln' t (Prims.of_int (-1)) let (ln_st : Pulse_Syntax_Base.st_term -> Prims.bool) = diff --git a/src/ocaml/plugin/generated/Pulse_Typing_LN.ml b/src/ocaml/plugin/generated/Pulse_Typing_LN.ml index e8306abed..a463bf0b7 100644 --- a/src/ocaml/plugin/generated/Pulse_Typing_LN.ml +++ b/src/ocaml/plugin/generated/Pulse_Typing_LN.ml @@ -1 +1,10 @@ -open Prims \ No newline at end of file +open Prims +let (__brs_of : + Pulse_Syntax_Base.st_term -> Pulse_Syntax_Base.branch Prims.list) = + fun t -> + let uu___ = t.Pulse_Syntax_Base.term1 in + match uu___ with + | Pulse_Syntax_Base.Tm_Match + { Pulse_Syntax_Base.sc = uu___1; Pulse_Syntax_Base.returns_ = uu___2; + Pulse_Syntax_Base.brs = brs;_} + -> brs \ No newline at end of file From e71eda7168172a3391d1bc0a5d272599b50233e6 Mon Sep 17 00:00:00 2001 From: Tahina Ramananandro Date: Mon, 24 Jul 2023 14:22:38 -0700 Subject: [PATCH 13/15] (TEMP) CI: use FStarLang/karamel#361 --- src/ci/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/config.json b/src/ci/config.json index d970166e7..900348cb0 100644 --- a/src/ci/config.json +++ b/src/ci/config.json @@ -1,7 +1,7 @@ { "RepoVersions" : { "fstar": "master", - "karamel" : "master" + "karamel" : "protz_anonymous_unions" }, "NotificationChannel" : "#steel-build" } From a68379205816924cb4b5f649ffe57adc7738bdf3 Mon Sep 17 00:00:00 2001 From: Tahina Ramananandro Date: Mon, 24 Jul 2023 15:30:33 -0700 Subject: [PATCH 14/15] FAIL -> OK --- share/steel/examples/steelc/MutualUnion.fst | 32 +++++++++------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/share/steel/examples/steelc/MutualUnion.fst b/share/steel/examples/steelc/MutualUnion.fst index 7562138fa..4878b20bf 100644 --- a/share/steel/examples/steelc/MutualUnion.fst +++ b/share/steel/examples/steelc/MutualUnion.fst @@ -22,7 +22,7 @@ type test_union_OK = union_t "MutualUnion.test_union_OK" ( field_description_nil)) ) -(* The following SHOULD extract to something like: +(* The following extracts to something like: << typedef struct MutualUnion_test_struct_s MutualUnion_test_struct; @@ -31,74 +31,70 @@ typedef union { uint32_t as_u32; MutualUnion_test_struct *as_ptr; } -MutualUnion_test_union_FAIL; +MutualUnion_test_union1_OK; typedef struct MutualUnion_test_struct_s { bool tag; - MutualUnion_test_union_FAIL payload; + MutualUnion_test_union1_OK payload; } MutualUnion_test_struct; >> -But right now, KaRaMel generates the struct before the union, so the generated C code fails to compile. *) noeq -type test_union_FAIL = union_t "MutualUnion.test_union_FAIL" ( +type test_union1_OK = union_t "MutualUnion.test_union1_OK" ( field_description_cons "as_u32" (scalar U32.t) ( field_description_cons "as_ptr" (scalar (ptr_gen test_struct)) ( field_description_nil)) ) and test_struct = { tag: bool; - payload: test_union_FAIL; + payload: test_union1_OK; } #push-options "--__no_positivity" -(* The following SHOULD extract to something like: +(* The following extracts to something like: << -typedef union MutualUnion_test_union2_FAIL_u MutualUnion_test_union2_FAIL; +typedef union MutualUnion_test_union2_OK_u MutualUnion_test_union2_OK; typedef struct MutualUnion_test_struct2_before_s { bool tag; - MutualUnion_test_union2_FAIL *payload; + MutualUnion_test_union2_OK *payload; } MutualUnion_test_struct2_before; typedef struct MutualUnion_test_struct2_after_s MutualUnion_test_struct2_after; -typedef union MutualUnion_test_union2_FAIL_u { +typedef union MutualUnion_test_union2_OK_u { MutualUnion_test_struct2_before as_struct; MutualUnion_test_struct2_after *as_ptr; } -MutualUnion_test_union2_FAIL; +MutualUnion_test_union2_OK; typedef struct MutualUnion_test_struct2_after_s { bool tag; - MutualUnion_test_union2_FAIL payload; + MutualUnion_test_union2_OK payload; } MutualUnion_test_struct2_after; >> -But right now, KaRaMel generates struct2_after before the union, and -does not generate any forward declaration for union2, so the generated -C code fails to compile. *) noeq type test_struct2_before = { tag: bool; - payload: ptr_gen test_union2_FAIL; + payload: ptr_gen test_union2_OK; } -and test_union2_FAIL = union_t "MutualUnion.test_union2_FAIL" ( +and test_union2_OK = union_t "MutualUnion.test_union2_OK" ( field_description_cons "as_struct" (scalar test_struct2_before (* TODO TR: solve positivity issue here, independently of extraction *)) ( field_description_cons "as_ptr" (scalar (ptr_gen test_struct2_after)) ( field_description_nil)) ) and test_struct2_after = { tag: bool; - payload: test_union2_FAIL; + payload: test_union2_OK; } #pop-options From c42b63a9df03f44bed15732dfdac95922937cd3d Mon Sep 17 00:00:00 2001 From: Tahina Ramananandro Date: Mon, 24 Jul 2023 16:16:27 -0700 Subject: [PATCH 15/15] Revert "(TEMP) CI: use FStarLang/karamel#361" This reverts commit e71eda7168172a3391d1bc0a5d272599b50233e6. --- src/ci/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/config.json b/src/ci/config.json index 900348cb0..d970166e7 100644 --- a/src/ci/config.json +++ b/src/ci/config.json @@ -1,7 +1,7 @@ { "RepoVersions" : { "fstar": "master", - "karamel" : "protz_anonymous_unions" + "karamel" : "master" }, "NotificationChannel" : "#steel-build" }