summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSon Ho2022-11-15 15:23:16 +0100
committerSon HO2022-11-16 15:45:32 +0100
commitbd5706896dec0a1aef1accdf51f93af00c5dc6fe (patch)
tree09dd5431d351c8ef894092ea25fd9d2af54d3d6e
parentdbb5d549176edd60440e689fd28c529944bc6e51 (diff)
Improve formatting
-rw-r--r--compiler/Extract.ml211
-rw-r--r--compiler/Translate.ml8
-rw-r--r--tests/coq/betree/BetreeMain__Funs.v141
-rw-r--r--tests/coq/betree/BetreeMain__Opaque.v18
-rw-r--r--tests/coq/betree/BetreeMain__Types.v52
-rw-r--r--tests/coq/hashmap/Hashmap__Funs.v130
-rw-r--r--tests/coq/hashmap/Hashmap__Types.v23
-rw-r--r--tests/coq/hashmap_on_disk/HashmapMain__Funs.v150
-rw-r--r--tests/coq/hashmap_on_disk/HashmapMain__Opaque.v10
-rw-r--r--tests/coq/hashmap_on_disk/HashmapMain__Types.v23
-rw-r--r--tests/coq/misc/Constants.v124
-rw-r--r--tests/coq/misc/External__Funs.v39
-rw-r--r--tests/coq/misc/External__Opaque.v24
-rw-r--r--tests/coq/misc/External__Types.v4
-rw-r--r--tests/coq/misc/NoNestedBorrows.v307
-rw-r--r--tests/coq/misc/Paper.v69
-rw-r--r--tests/coq/misc/PoloniusList.v10
-rw-r--r--tests/fstar/betree/BetreeMain.Funs.fst16
-rw-r--r--tests/fstar/betree_back_stateful/BetreeMain.Funs.fst30
19 files changed, 707 insertions, 682 deletions
diff --git a/compiler/Extract.ml b/compiler/Extract.ml
index 9daea15b..4770d16d 100644
--- a/compiler/Extract.ml
+++ b/compiler/Extract.ml
@@ -511,7 +511,6 @@ let mk_formatter (ctx : trans_ctx) (crate_name : string)
if sv.PV.value >= Z.of_int 0 then
F.pp_print_string fmt (Z.to_string sv.PV.value)
else F.pp_print_string fmt ("(" ^ Z.to_string sv.PV.value ^ ")");
- F.pp_print_space fmt ();
F.pp_print_string fmt ("%" ^ int_name sv.PV.int_ty);
if inside then F.pp_print_string fmt ")")
| Bool b ->
@@ -573,7 +572,7 @@ let mk_formatter_and_names_map (ctx : trans_ctx) (crate_name : string)
(** In Coq, a group of definitions must be ended with a "." *)
let print_decl_end_delimiter (fmt : F.formatter) (kind : decl_kind) =
if !backend = Coq && decl_is_last_from_group kind then (
- F.pp_print_space fmt ();
+ F.pp_print_cut fmt ();
F.pp_print_string fmt ".")
(** [inside] constrols whether we should add parentheses or not around type
@@ -813,16 +812,16 @@ let extract_type_decl_struct_body (ctx : extraction_ctx) (fmt : F.formatter)
*)
(* Note that we already printed: [type t =] *)
let is_rec = decl_is_from_rec_group kind in
- (* If Coq: print the constructor name *)
- if !backend = Coq && not is_rec then (
- F.pp_print_space fmt ();
- F.pp_print_string fmt (ctx_get_struct (AdtId def.def_id) ctx));
let _ =
if !backend = FStar && fields = [] then (
F.pp_print_space fmt ();
F.pp_print_string fmt "unit")
else if (not is_rec) || !backend = FStar then (
F.pp_print_space fmt ();
+ (* If Coq: print the constructor name *)
+ if !backend = Coq && not is_rec then (
+ F.pp_print_string fmt (ctx_get_struct (AdtId def.def_id) ctx);
+ F.pp_print_string fmt " ");
F.pp_print_string fmt "{";
F.pp_print_break fmt 1 ctx.indent_incr;
(* The body itself *)
@@ -962,72 +961,76 @@ let extract_type_decl_extra_info (ctx : extraction_ctx) (fmt : F.formatter)
match !backend with
| FStar -> ()
| Coq -> (
- (* Add the type params - note that we need those bindings only for the
- * body translation (they are not top-level) *)
- let _ctx_body, type_params = ctx_add_type_params decl.type_params ctx in
- (* Auxiliary function to extract an [Arguments Cons {T} _ _.] instruction *)
- let extract_arguments_info (cons_name : string) (fields : 'a list) : unit
- =
- (* Add a break before *)
- F.pp_print_break fmt 0 0;
- (* Open a box *)
- F.pp_open_hovbox fmt ctx.indent_incr;
- (* Small utility *)
- let print_type_vars () =
- List.iter
- (fun (var : string) ->
- F.pp_print_string fmt ("{" ^ var ^ "}");
- F.pp_print_space fmt ())
- type_params
- in
- let print_fields () =
- List.iter
- (fun _ ->
- F.pp_print_string fmt "_";
- F.pp_print_space fmt ())
- fields
- in
- F.pp_print_break fmt 0 0;
- F.pp_print_string fmt "Arguments";
- F.pp_print_space fmt ();
- F.pp_print_string fmt cons_name;
- F.pp_print_space fmt ();
- print_type_vars ();
- print_fields ();
- F.pp_print_space fmt ();
- F.pp_print_string fmt ".";
+ if
+ (* Generate the [Arguments] instruction - this is useful only if there
+ are type parameters *)
+ decl.type_params = []
+ then ()
+ else
+ (* Add the type params - note that we need those bindings only for the
+ * body translation (they are not top-level) *)
+ let _ctx_body, type_params = ctx_add_type_params decl.type_params ctx in
+ (* Auxiliary function to extract an [Arguments Cons {T} _ _.] instruction *)
+ let extract_arguments_info (cons_name : string) (fields : 'a list) :
+ unit =
+ (* Add a break before *)
+ F.pp_print_break fmt 0 0;
+ (* Open a box *)
+ F.pp_open_hovbox fmt ctx.indent_incr;
+ (* Small utility *)
+ let print_type_vars () =
+ List.iter
+ (fun (var : string) ->
+ F.pp_print_space fmt ();
+ F.pp_print_string fmt ("{" ^ var ^ "}"))
+ type_params
+ in
+ let print_fields () =
+ List.iter
+ (fun _ ->
+ F.pp_print_space fmt ();
+ F.pp_print_string fmt "_")
+ fields
+ in
+ F.pp_print_break fmt 0 0;
+ F.pp_print_string fmt "Arguments";
+ F.pp_print_space fmt ();
+ F.pp_print_string fmt cons_name;
+ print_type_vars ();
+ print_fields ();
+ F.pp_print_string fmt ".";
- (* Close the box *)
- F.pp_close_box fmt ()
- in
+ (* Close the box *)
+ F.pp_close_box fmt ()
+ in
- (* Generate the [Arguments] instruction *)
- match decl.kind with
- | Opaque -> ()
- | Struct fields ->
- let adt_id = AdtId decl.def_id in
- (* Generate the instruction for the record constructor *)
- let cons_name = ctx_get_struct adt_id ctx in
- extract_arguments_info cons_name fields;
- (* Generate the instruction for the record projectors, if there are *)
- let is_rec = decl_is_from_rec_group kind in
- if not is_rec then
- FieldId.iteri
- (fun fid _ ->
- let cons_name = ctx_get_field adt_id fid ctx in
- extract_arguments_info cons_name [])
- fields;
- (* Add breaks to insert new lines between definitions *)
- F.pp_print_break fmt 0 0
- | Enum variants ->
- (* Generate the instructions *)
- VariantId.iteri
- (fun vid (v : variant) ->
- let cons_name = ctx_get_variant (AdtId decl.def_id) vid ctx in
- extract_arguments_info cons_name v.fields)
- variants;
- (* Add breaks to insert new lines between definitions *)
- F.pp_print_break fmt 0 0)
+ (* Generate the [Arguments] instruction *)
+ match decl.kind with
+ | Opaque -> ()
+ | Struct fields ->
+ let adt_id = AdtId decl.def_id in
+ (* Generate the instruction for the record constructor *)
+ let cons_name = ctx_get_struct adt_id ctx in
+ extract_arguments_info cons_name fields;
+ (* Generate the instruction for the record projectors, if there are *)
+ let is_rec = decl_is_from_rec_group kind in
+ if not is_rec then
+ FieldId.iteri
+ (fun fid _ ->
+ let cons_name = ctx_get_field adt_id fid ctx in
+ extract_arguments_info cons_name [])
+ fields;
+ (* Add breaks to insert new lines between definitions *)
+ F.pp_print_break fmt 0 0
+ | Enum variants ->
+ (* Generate the instructions *)
+ VariantId.iteri
+ (fun vid (v : variant) ->
+ let cons_name = ctx_get_variant (AdtId decl.def_id) vid ctx in
+ extract_arguments_info cons_name v.fields)
+ variants;
+ (* Add breaks to insert new lines between definitions *)
+ F.pp_print_break fmt 0 0)
(** Extract the state type declaration. *)
let extract_state_type (fmt : F.formatter) (ctx : extraction_ctx)
@@ -1595,14 +1598,18 @@ and extract_Switch (ctx : extraction_ctx) (fmt : F.formatter) (inside : bool)
(* Close the box for the whole expression *)
F.pp_close_box fmt ()
+(** Insert a space, if necessary *)
+let insert_req_space (fmt : F.formatter) (space : bool ref) : unit =
+ if !space then space := false else F.pp_print_space fmt ()
+
(** A small utility to print the parameters of a function signature.
We return two contexts:
- the context augmented with bindings for the type parameters
- the previous context augmented with bindings for the input values
*)
-let extract_fun_parameters (ctx : extraction_ctx) (fmt : F.formatter)
- (def : fun_decl) : extraction_ctx * extraction_ctx =
+let extract_fun_parameters (space : bool ref) (ctx : extraction_ctx)
+ (fmt : F.formatter) (def : fun_decl) : extraction_ctx * extraction_ctx =
(* Add the type parameters - note that we need those bindings only for the
* body translation (they are not top-level) *)
let ctx, _ = ctx_add_type_params def.signature.type_params ctx in
@@ -1612,6 +1619,7 @@ let extract_fun_parameters (ctx : extraction_ctx) (fmt : F.formatter)
if def.signature.type_params <> [] then (
(* Open a box for the type parameters *)
F.pp_open_hovbox fmt 0;
+ insert_req_space fmt space;
F.pp_print_string fmt "(";
List.iter
(fun (p : type_var) ->
@@ -1624,8 +1632,7 @@ let extract_fun_parameters (ctx : extraction_ctx) (fmt : F.formatter)
let type_keyword = match !backend with FStar -> "Type0" | Coq -> "Type" in
F.pp_print_string fmt (type_keyword ^ ")");
(* Close the box for the type parameters *)
- F.pp_close_box fmt ();
- F.pp_print_space fmt ());
+ F.pp_close_box fmt ());
(* The input parameters - note that doing this adds bindings to the context *)
let ctx_body =
match def.body with
@@ -1633,6 +1640,7 @@ let extract_fun_parameters (ctx : extraction_ctx) (fmt : F.formatter)
| Some body ->
List.fold_left
(fun ctx (lv : typed_pattern) ->
+ insert_req_space fmt space;
(* Open a box for the input parameter *)
F.pp_open_hovbox fmt 0;
F.pp_print_string fmt "(";
@@ -1644,7 +1652,6 @@ let extract_fun_parameters (ctx : extraction_ctx) (fmt : F.formatter)
F.pp_print_string fmt ")";
(* Close the box for the input parameters *)
F.pp_close_box fmt ();
- F.pp_print_space fmt ();
ctx)
ctx body.inputs_lvs
in
@@ -1708,7 +1715,9 @@ let extract_template_decreases_clause (ctx : extraction_ctx) (fmt : F.formatter)
F.pp_print_string fmt ("let " ^ def_name);
F.pp_print_space fmt ();
(* Extract the parameters *)
- let _, _ = extract_fun_parameters ctx fmt def in
+ let space = ref true in
+ let _, _ = extract_fun_parameters space ctx fmt def in
+ insert_req_space fmt space;
F.pp_print_string fmt ":";
(* Print the signature *)
F.pp_print_space fmt ();
@@ -1748,8 +1757,9 @@ let extract_fun_decl (ctx : extraction_ctx) (fmt : F.formatter)
F.pp_print_string fmt
("(** [" ^ Print.fun_name_to_string def.basename ^ "] *)");
F.pp_print_space fmt ();
- (* Open a box for the definition, so that whenever possible it gets printed on
- * one line *)
+ (* Open two boxes for the definition, so that whenever possible it gets printed on
+ * one line and indents are correct *)
+ F.pp_open_hvbox fmt 0;
F.pp_open_hvbox fmt ctx.indent_incr;
(* Open a box for "let FUN_NAME (PARAMS) : EFFECT =" *)
F.pp_open_hovbox fmt ctx.indent_incr;
@@ -1772,18 +1782,22 @@ let extract_fun_decl (ctx : extraction_ctx) (fmt : F.formatter)
F.pp_print_string fmt "forall");
(* Open a box for "(PARAMS) : EFFECT =" *)
F.pp_open_hvbox fmt 0;
- (* Open a box for "(PARAMS)" *)
+ (* Open a box for "(PARAMS) :" *)
F.pp_open_hovbox fmt 0;
- let ctx, ctx_body = extract_fun_parameters ctx fmt def in
- (* Close the box for "(PARAMS)" *)
- F.pp_close_box fmt ();
+ let space = ref true in
+ let ctx, ctx_body = extract_fun_parameters space ctx fmt def in
(* Print the return type - note that we have to be careful when
* printing the input values for the decrease clause, because
* it introduces bindings in the context... We thus "forget"
* the bindings we introduced above.
* TODO: figure out a cleaner way *)
let _ =
- if use_forall then F.pp_print_string fmt "," else F.pp_print_string fmt ":";
+ if use_forall then F.pp_print_string fmt ","
+ else (
+ insert_req_space fmt space;
+ F.pp_print_string fmt ":");
+ (* Close the box for "(PARAMS) :" *)
+ F.pp_close_box fmt ();
F.pp_print_space fmt ();
(* Open a box for the EFFECT *)
F.pp_open_hvbox fmt 0;
@@ -1807,12 +1821,13 @@ let extract_fun_decl (ctx : extraction_ctx) (fmt : F.formatter)
if has_decreases_clause then (
assert (!backend = FStar);
F.pp_print_space fmt ();
- (* Open a box for the decrease clause *)
- F.pp_open_hovbox fmt 0;
+ (* Open a box for the decreases clause *)
+ F.pp_open_hovbox fmt ctx.indent_incr;
(* *)
- F.pp_print_string fmt "(decreases";
- F.pp_print_space fmt ();
- F.pp_print_string fmt "(";
+ F.pp_print_string fmt "(decreases (";
+ F.pp_print_cut fmt ();
+ (* Open a box for the decreases term *)
+ F.pp_open_hovbox fmt ctx.indent_incr;
(* The name of the decrease clause *)
let decr_name = ctx_get_decreases_clause def.def_id ctx in
F.pp_print_string fmt decr_name;
@@ -1847,7 +1862,9 @@ let extract_fun_decl (ctx : extraction_ctx) (fmt : F.formatter)
ctx inputs_lvs
in
F.pp_print_string fmt "))";
- (* Close the box for the decrease clause *)
+ (* Close the box for the decreases term *)
+ F.pp_close_box fmt ();
+ (* Close the box for the decreases clause *)
F.pp_close_box fmt ());
(* Close the box for the EFFECT *)
F.pp_close_box fmt ()
@@ -1867,13 +1884,13 @@ let extract_fun_decl (ctx : extraction_ctx) (fmt : F.formatter)
F.pp_open_hvbox fmt 0;
(* Extract the body *)
let _ = extract_texpression ctx_body fmt false (Option.get def.body).body in
- (* Coq: add a "." *)
- print_decl_end_delimiter fmt kind;
(* Close the box for the body *)
F.pp_close_box fmt ());
+ (* Close the inner box for the definition *)
+ F.pp_close_box fmt ();
(* Coq: add a "." *)
- if is_opaque_coq then print_decl_end_delimiter fmt kind;
- (* Close the box for the definition *)
+ print_decl_end_delimiter fmt kind;
+ (* Close the outer box for the definition *)
F.pp_close_box fmt ();
(* Add breaks to insert new lines between definitions *)
F.pp_print_break fmt 0 0
@@ -1886,7 +1903,8 @@ let extract_global_decl_body (ctx : extraction_ctx) (fmt : F.formatter)
(extract_body : (F.formatter -> unit) Option.t) : unit =
let is_opaque = Option.is_none extract_body in
- (* Open the definition box (depth=0) *)
+ (* Open the definition boxes (depth=0) *)
+ F.pp_open_hvbox fmt 0;
F.pp_open_hvbox fmt ctx.indent_incr;
(* Open "QUALIF NAME : TYPE =" box (depth=1) *)
@@ -1929,10 +1947,13 @@ let extract_global_decl_body (ctx : extraction_ctx) (fmt : F.formatter)
(* Close "BODY" box (depth=1) *)
F.pp_close_box fmt ());
+ (* Close the inner definition box (depth=0) *)
+ F.pp_close_box fmt ();
+
(* Coq: add a "." *)
print_decl_end_delimiter fmt Declared;
- (* Close the definition box (depth=0) *)
+ (* Close the outer definition box (depth=0) *)
F.pp_close_box fmt ()
(** Extract a global declaration.
diff --git a/compiler/Translate.ml b/compiler/Translate.ml
index 7ed9859a..012669dc 100644
--- a/compiler/Translate.ml
+++ b/compiler/Translate.ml
@@ -585,15 +585,15 @@ let extract_file (config : gen_config) (ctx : gen_ctx) (filename : string)
(* Add the custom imports *)
List.iter
- (fun m -> Printf.fprintf out "Require Import %s .\n" m)
+ (fun m -> Printf.fprintf out "Require Import %s.\n" m)
custom_imports;
(* Add the custom includes *)
List.iter
(fun m ->
- Printf.fprintf out "Require Export %s .\n" m;
- Printf.fprintf out "Import %s .\n" m)
+ Printf.fprintf out "Require Export %s.\n" m;
+ Printf.fprintf out "Import %s.\n" m)
custom_includes;
- Printf.fprintf out "Module %s .\n" module_name);
+ Printf.fprintf out "Module %s.\n" module_name);
(* From now onwards, we use the formatter *)
(* Set the margin *)
Format.pp_set_margin fmt 80;
diff --git a/tests/coq/betree/BetreeMain__Funs.v b/tests/coq/betree/BetreeMain__Funs.v
index a8bb9b74..3ce86f6b 100644
--- a/tests/coq/betree/BetreeMain__Funs.v
+++ b/tests/coq/betree/BetreeMain__Funs.v
@@ -4,11 +4,11 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Require Export BetreeMain__Types .
-Import BetreeMain__Types .
-Require Export BetreeMain__Opaque .
-Import BetreeMain__Opaque .
-Module BetreeMain__Funs .
+Require Export BetreeMain__Types.
+Import BetreeMain__Types.
+Require Export BetreeMain__Opaque.
+Import BetreeMain__Opaque.
+Module BetreeMain__Funs.
(** [betree_main::betree::load_internal_node] *)
Definition betree_load_internal_node_fwd
@@ -18,7 +18,7 @@ Definition betree_load_internal_node_fwd
p <- betree_utils_load_internal_node_fwd id st;
let (st0, l) := p in
Return (st0, l)
- .
+.
(** [betree_main::betree::store_internal_node] *)
Definition betree_store_internal_node_fwd
@@ -28,7 +28,7 @@ Definition betree_store_internal_node_fwd
p <- betree_utils_store_internal_node_fwd id content st;
let (st0, _) := p in
Return (st0, tt)
- .
+.
(** [betree_main::betree::load_leaf_node] *)
Definition betree_load_leaf_node_fwd
@@ -36,7 +36,7 @@ Definition betree_load_leaf_node_fwd
p <- betree_utils_load_leaf_node_fwd id st;
let (st0, l) := p in
Return (st0, l)
- .
+.
(** [betree_main::betree::store_leaf_node] *)
Definition betree_store_leaf_node_fwd
@@ -46,43 +46,46 @@ Definition betree_store_leaf_node_fwd
p <- betree_utils_store_leaf_node_fwd id content st;
let (st0, _) := p in
Return (st0, tt)
- .
+.
(** [betree_main::betree::fresh_node_id] *)
Definition betree_fresh_node_id_fwd (counter : u64) : result u64 :=
- i <- u64_add counter 1 %u64; let _ := i in Return counter .
+ i <- u64_add counter 1%u64; let _ := i in Return counter
+.
(** [betree_main::betree::fresh_node_id] *)
Definition betree_fresh_node_id_back (counter : u64) : result u64 :=
- counter0 <- u64_add counter 1 %u64; Return counter0 .
+ counter0 <- u64_add counter 1%u64; Return counter0
+.
(** [betree_main::betree::NodeIdCounter::{0}::new] *)
Definition betree_node_id_counter_new_fwd : result Betree_node_id_counter_t :=
- Return (mkBetree_node_id_counter_t (0 %u64)) .
+ Return (mkBetree_node_id_counter_t (0%u64))
+.
(** [betree_main::betree::NodeIdCounter::{0}::fresh_id] *)
Definition betree_node_id_counter_fresh_id_fwd
(self : Betree_node_id_counter_t) : result u64 :=
match self with
| mkBetree_node_id_counter_t id =>
- i <- u64_add id 1 %u64; let _ := i in Return id
+ i <- u64_add id 1%u64; let _ := i in Return id
end
- .
+.
(** [betree_main::betree::NodeIdCounter::{0}::fresh_id] *)
Definition betree_node_id_counter_fresh_id_back
(self : Betree_node_id_counter_t) : result Betree_node_id_counter_t :=
match self with
| mkBetree_node_id_counter_t id =>
- i <- u64_add id 1 %u64; Return (mkBetree_node_id_counter_t i)
+ i <- u64_add id 1%u64; Return (mkBetree_node_id_counter_t i)
end
- .
+.
(** [core::num::u64::{10}::MAX] *)
Definition core_num_u64_max_body : result u64 :=
- Return (18446744073709551615 %u64)
- .
-Definition core_num_u64_max_c : u64 := core_num_u64_max_body%global .
+ Return (18446744073709551615%u64)
+.
+Definition core_num_u64_max_c : u64 := core_num_u64_max_body%global.
(** [betree_main::betree::upsert_update] *)
Definition betree_upsert_update_fwd
@@ -91,7 +94,7 @@ Definition betree_upsert_update_fwd
| None =>
match st with
| BetreeUpsertFunStateAdd v => Return v
- | BetreeUpsertFunStateSub i => Return (0 %u64)
+ | BetreeUpsertFunStateSub i => Return (0%u64)
end
| Some prev0 =>
match st with
@@ -101,10 +104,10 @@ Definition betree_upsert_update_fwd
then (i <- u64_add prev0 v; Return i)
else Return core_num_u64_max_c
| BetreeUpsertFunStateSub v =>
- if prev0 s>= v then (i <- u64_sub prev0 v; Return i) else Return (0 %u64)
+ if prev0 s>= v then (i <- u64_sub prev0 v; Return i) else Return (0%u64)
end
end
- .
+.
(** [betree_main::betree::List::{1}::len] *)
Fixpoint betree_list_len_fwd
@@ -114,11 +117,11 @@ Fixpoint betree_list_len_fwd
| S n0 =>
match self with
| BetreeListCons t tl =>
- i <- betree_list_len_fwd T n0 tl; i0 <- u64_add 1 %u64 i; Return i0
- | BetreeListNil => Return (0 %u64)
+ i <- betree_list_len_fwd T n0 tl; i0 <- u64_add 1%u64 i; Return i0
+ | BetreeListNil => Return (0%u64)
end
end
- .
+.
(** [betree_main::betree::List::{1}::split_at] *)
Fixpoint betree_list_split_at_fwd
@@ -128,12 +131,12 @@ Fixpoint betree_list_split_at_fwd
match n with
| O => Fail_ OutOfFuel
| S n1 =>
- if n0 s= 0 %u64
+ if n0 s= 0%u64
then Return (BetreeListNil, self)
else
match self with
| BetreeListCons hd tl =>
- i <- u64_sub n0 1 %u64;
+ i <- u64_sub n0 1%u64;
p <- betree_list_split_at_fwd T n1 tl i;
let (ls0, ls1) := p in
let l := ls0 in
@@ -141,7 +144,7 @@ Fixpoint betree_list_split_at_fwd
| BetreeListNil => Fail_ Failure
end
end
- .
+.
(** [betree_main::betree::List::{1}::push_front] *)
Definition betree_list_push_front_fwd_back
@@ -149,7 +152,7 @@ Definition betree_list_push_front_fwd_back
let tl := mem_replace_fwd (Betree_list_t T) self BetreeListNil in
let l := tl in
Return (BetreeListCons x l)
- .
+.
(** [betree_main::betree::List::{1}::pop_front] *)
Definition betree_list_pop_front_fwd
@@ -159,7 +162,7 @@ Definition betree_list_pop_front_fwd
| BetreeListCons x tl => Return x
| BetreeListNil => Fail_ Failure
end
- .
+.
(** [betree_main::betree::List::{1}::pop_front] *)
Definition betree_list_pop_front_back
@@ -169,7 +172,7 @@ Definition betree_list_pop_front_back
| BetreeListCons x tl => Return tl
| BetreeListNil => Fail_ Failure
end
- .
+.
(** [betree_main::betree::List::{1}::hd] *)
Definition betree_list_hd_fwd (T : Type) (self : Betree_list_t T) : result T :=
@@ -177,7 +180,7 @@ Definition betree_list_hd_fwd (T : Type) (self : Betree_list_t T) : result T :=
| BetreeListCons hd l => Return hd
| BetreeListNil => Fail_ Failure
end
- .
+.
(** [betree_main::betree::List::{2}::head_has_key] *)
Definition betree_list_head_has_key_fwd
@@ -186,7 +189,7 @@ Definition betree_list_head_has_key_fwd
| BetreeListCons hd l => let (i, _) := hd in Return (i s= key)
| BetreeListNil => Return false
end
- .
+.
(** [betree_main::betree::List::{2}::partition_at_pivot] *)
Fixpoint betree_list_partition_at_pivot_fwd
@@ -209,7 +212,7 @@ Fixpoint betree_list_partition_at_pivot_fwd
| BetreeListNil => Return (BetreeListNil, BetreeListNil)
end
end
- .
+.
(** [betree_main::betree::Leaf::{3}::split] *)
Definition betree_leaf_split_fwd
@@ -242,7 +245,7 @@ Definition betree_leaf_split_fwd
end
end
end
- .
+.
(** [betree_main::betree::Leaf::{3}::split] *)
Definition betree_leaf_split_back
@@ -274,7 +277,7 @@ Definition betree_leaf_split_back
end
end
end
- .
+.
(** [betree_main::betree::Node::{5}::lookup_in_bindings] *)
Fixpoint betree_node_lookup_in_bindings_fwd
@@ -296,7 +299,7 @@ Fixpoint betree_node_lookup_in_bindings_fwd
| BetreeListNil => Return None
end
end
- .
+.
(** [betree_main::betree::Node::{5}::lookup_first_message_for_key] *)
Fixpoint betree_node_lookup_first_message_for_key_fwd
@@ -317,7 +320,7 @@ Fixpoint betree_node_lookup_first_message_for_key_fwd
| BetreeListNil => Return BetreeListNil
end
end
- .
+.
(** [betree_main::betree::Node::{5}::lookup_first_message_for_key] *)
Fixpoint betree_node_lookup_first_message_for_key_back
@@ -340,7 +343,7 @@ Fixpoint betree_node_lookup_first_message_for_key_back
| BetreeListNil => Return ret
end
end
- .
+.
(** [betree_main::betree::Node::{5}::apply_upserts] *)
Fixpoint betree_node_apply_upserts_fwd
@@ -375,7 +378,7 @@ Fixpoint betree_node_apply_upserts_fwd
let _ := l in
Return (st0, v))
end
- .
+.
(** [betree_main::betree::Node::{5}::apply_upserts] *)
Fixpoint betree_node_apply_upserts_back
@@ -408,7 +411,7 @@ Fixpoint betree_node_apply_upserts_back
BetreeMessageInsert v);
Return msgs0)
end
- .
+.
(** [betree_main::betree::Node::{5}::lookup] *)
Fixpoint betree_node_lookup_fwd
@@ -632,7 +635,7 @@ with betree_internal_lookup_in_children_back
Return (mkBetree_internal_t i i0 n1 n3))
end
end
- .
+.
(** [betree_main::betree::Node::{5}::lookup_mut_in_bindings] *)
Fixpoint betree_node_lookup_mut_in_bindings_fwd
@@ -651,7 +654,7 @@ Fixpoint betree_node_lookup_mut_in_bindings_fwd
| BetreeListNil => Return BetreeListNil
end
end
- .
+.
(** [betree_main::betree::Node::{5}::lookup_mut_in_bindings] *)
Fixpoint betree_node_lookup_mut_in_bindings_back
@@ -673,7 +676,7 @@ Fixpoint betree_node_lookup_mut_in_bindings_back
| BetreeListNil => Return ret
end
end
- .
+.
(** [betree_main::betree::Node::{5}::apply_to_leaf] *)
Definition betree_node_apply_to_leaf_fwd_back
@@ -733,7 +736,7 @@ Definition betree_node_apply_to_leaf_fwd_back
Return bindings2
end
end
- .
+.
(** [betree_main::betree::Node::{5}::apply_messages_to_leaf] *)
Fixpoint betree_node_apply_messages_to_leaf_fwd_back
@@ -754,7 +757,7 @@ Fixpoint betree_node_apply_messages_to_leaf_fwd_back
| BetreeListNil => Return bindings
end
end
- .
+.
(** [betree_main::betree::Node::{5}::filter_messages_for_key] *)
Fixpoint betree_node_filter_messages_for_key_fwd_back
@@ -778,7 +781,7 @@ Fixpoint betree_node_filter_messages_for_key_fwd_back
| BetreeListNil => Return BetreeListNil
end
end
- .
+.
(** [betree_main::betree::Node::{5}::lookup_first_message_after_key] *)
Fixpoint betree_node_lookup_first_message_after_key_fwd
@@ -799,7 +802,7 @@ Fixpoint betree_node_lookup_first_message_after_key_fwd
| BetreeListNil => Return BetreeListNil
end
end
- .
+.
(** [betree_main::betree::Node::{5}::lookup_first_message_after_key] *)
Fixpoint betree_node_lookup_first_message_after_key_back
@@ -822,7 +825,7 @@ Fixpoint betree_node_lookup_first_message_after_key_back
| BetreeListNil => Return ret
end
end
- .
+.
(** [betree_main::betree::Node::{5}::apply_to_internal] *)
Definition betree_node_apply_to_internal_fwd_back
@@ -895,7 +898,7 @@ Definition betree_node_apply_to_internal_fwd_back
msgs2 <- betree_node_lookup_first_message_for_key_back n0 key msgs msgs1;
Return msgs2)
end
- .
+.
(** [betree_main::betree::Node::{5}::apply_messages_to_internal] *)
Fixpoint betree_node_apply_messages_to_internal_fwd_back
@@ -916,7 +919,7 @@ Fixpoint betree_node_apply_messages_to_internal_fwd_back
| BetreeListNil => Return msgs
end
end
- .
+.
(** [betree_main::betree::Node::{5}::apply_messages] *)
Fixpoint betree_node_apply_messages_fwd
@@ -971,7 +974,7 @@ Fixpoint betree_node_apply_messages_fwd
len <- betree_list_len_fwd (u64 * u64) n0 content0;
match params with
| mkBetree_params_t i1 i2 =>
- i3 <- u64_mul 2 %u64 i2;
+ i3 <- u64_mul 2%u64 i2;
if len s>= i3
then (
p0 <-
@@ -1045,7 +1048,7 @@ with betree_node_apply_messages_back
len <- betree_list_len_fwd (u64 * u64) n0 content0;
match params with
| mkBetree_params_t i1 i2 =>
- i3 <- u64_mul 2 %u64 i2;
+ i3 <- u64_mul 2%u64 i2;
if len s>= i3
then (
p0 <-
@@ -1168,7 +1171,7 @@ with betree_internal_flush_back
end
end
end
- .
+.
(** [betree_main::betree::Node::{5}::apply] *)
Definition betree_node_apply_fwd
@@ -1191,7 +1194,7 @@ Definition betree_node_apply_fwd
let (_, _) := p0 in
Return (st0, tt)
end
- .
+.
(** [betree_main::betree::Node::{5}::apply] *)
Definition betree_node_apply_back
@@ -1210,7 +1213,7 @@ Definition betree_node_apply_back
let (self0, node_id_cnt0) := p in
Return (self0, node_id_cnt0)
end
- .
+.
(** [betree_main::betree::BeTree::{6}::new] *)
Definition betree_be_tree_new_fwd
@@ -1223,8 +1226,8 @@ Definition betree_be_tree_new_fwd
let (st0, _) := p in
node_id_cnt0 <- betree_node_id_counter_fresh_id_back node_id_cnt;
Return (st0, mkBetree_be_tree_t (mkBetree_params_t min_flush_size split_size)
- node_id_cnt0 (BetreeNodeLeaf (mkBetree_leaf_t id (0 %u64))))
- .
+ node_id_cnt0 (BetreeNodeLeaf (mkBetree_leaf_t id (0%u64))))
+.
(** [betree_main::betree::BeTree::{6}::apply] *)
Definition betree_be_tree_apply_fwd
@@ -1244,7 +1247,7 @@ Definition betree_be_tree_apply_fwd
Return (st0, tt)
end
end
- .
+.
(** [betree_main::betree::BeTree::{6}::apply] *)
Definition betree_be_tree_apply_back
@@ -1262,7 +1265,7 @@ Definition betree_be_tree_apply_back
Return (mkBetree_be_tree_t p nic0 n2)
end
end
- .
+.
(** [betree_main::betree::BeTree::{6}::insert] *)
Definition betree_be_tree_insert_fwd
@@ -1278,7 +1281,7 @@ Definition betree_be_tree_insert_fwd
let _ := bt in
Return (st0, tt)
end
- .
+.
(** [betree_main::betree::BeTree::{6}::insert] *)
Definition betree_be_tree_insert_back
@@ -1292,7 +1295,7 @@ Definition betree_be_tree_insert_back
betree_be_tree_apply_back n0 self key (BetreeMessageInsert value) st;
Return self0
end
- .
+.
(** [betree_main::betree::BeTree::{6}::delete] *)
Definition betree_be_tree_delete_fwd
@@ -1308,7 +1311,7 @@ Definition betree_be_tree_delete_fwd
let _ := bt in
Return (st0, tt)
end
- .
+.
(** [betree_main::betree::BeTree::{6}::delete] *)
Definition betree_be_tree_delete_back
@@ -1321,7 +1324,7 @@ Definition betree_be_tree_delete_back
self0 <- betree_be_tree_apply_back n0 self key BetreeMessageDelete st;
Return self0
end
- .
+.
(** [betree_main::betree::BeTree::{6}::upsert] *)
Definition betree_be_tree_upsert_fwd
@@ -1338,7 +1341,7 @@ Definition betree_be_tree_upsert_fwd
let _ := bt in
Return (st0, tt)
end
- .
+.
(** [betree_main::betree::BeTree::{6}::upsert] *)
Definition betree_be_tree_upsert_back
@@ -1353,7 +1356,7 @@ Definition betree_be_tree_upsert_back
betree_be_tree_apply_back n0 self key (BetreeMessageUpsert upd) st;
Return self0
end
- .
+.
(** [betree_main::betree::BeTree::{6}::lookup] *)
Definition betree_be_tree_lookup_fwd
@@ -1370,7 +1373,7 @@ Definition betree_be_tree_lookup_fwd
Return (st0, opt)
end
end
- .
+.
(** [betree_main::betree::BeTree::{6}::lookup] *)
Definition betree_be_tree_lookup_back
@@ -1386,9 +1389,9 @@ Definition betree_be_tree_lookup_back
Return (mkBetree_be_tree_t p nic n2)
end
end
- .
+.
(** [betree_main::main] *)
-Definition main_fwd : result unit := Return tt .
+Definition main_fwd : result unit := Return tt.
End BetreeMain__Funs .
diff --git a/tests/coq/betree/BetreeMain__Opaque.v b/tests/coq/betree/BetreeMain__Opaque.v
index 95d4b7c0..cbd8cfb3 100644
--- a/tests/coq/betree/BetreeMain__Opaque.v
+++ b/tests/coq/betree/BetreeMain__Opaque.v
@@ -4,35 +4,35 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Require Export BetreeMain__Types .
-Import BetreeMain__Types .
-Module BetreeMain__Opaque .
+Require Export BetreeMain__Types.
+Import BetreeMain__Types.
+Module BetreeMain__Opaque.
(** [betree_main::betree_utils::load_internal_node] *)
Axiom betree_utils_load_internal_node_fwd
: u64 -> state -> result (state * (Betree_list_t (u64 * Betree_message_t)))
- .
+.
(** [betree_main::betree_utils::store_internal_node] *)
Axiom betree_utils_store_internal_node_fwd
:
u64 -> Betree_list_t (u64 * Betree_message_t) -> state -> result (state *
unit)
- .
+.
(** [betree_main::betree_utils::load_leaf_node] *)
Axiom betree_utils_load_leaf_node_fwd
: u64 -> state -> result (state * (Betree_list_t (u64 * u64)))
- .
+.
(** [betree_main::betree_utils::store_leaf_node] *)
Axiom betree_utils_store_leaf_node_fwd
: u64 -> Betree_list_t (u64 * u64) -> state -> result (state * unit)
- .
+.
(** [core::option::Option::{0}::unwrap] *)
Axiom core_option_option_unwrap_fwd :
- forall(T : Type) , option T -> state -> result (state * T)
- .
+ forall(T : Type), option T -> state -> result (state * T)
+.
End BetreeMain__Opaque .
diff --git a/tests/coq/betree/BetreeMain__Types.v b/tests/coq/betree/BetreeMain__Types.v
index 7660a367..2ed0d324 100644
--- a/tests/coq/betree/BetreeMain__Types.v
+++ b/tests/coq/betree/BetreeMain__Types.v
@@ -4,7 +4,7 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Module BetreeMain__Types .
+Module BetreeMain__Types.
(** [betree_main::betree::List] *)
Inductive Betree_list_t (T : Type) :=
@@ -12,8 +12,8 @@ Inductive Betree_list_t (T : Type) :=
| BetreeListNil : Betree_list_t T
.
-Arguments BetreeListCons {T} _ _ .
-Arguments BetreeListNil {T} .
+Arguments BetreeListCons {T} _ _.
+Arguments BetreeListNil {T}.
(** [betree_main::betree::UpsertFunState] *)
Inductive Betree_upsert_fun_state_t :=
@@ -21,9 +21,6 @@ Inductive Betree_upsert_fun_state_t :=
| BetreeUpsertFunStateSub : u64 -> Betree_upsert_fun_state_t
.
-Arguments BetreeUpsertFunStateAdd _ .
-Arguments BetreeUpsertFunStateSub _ .
-
(** [betree_main::betree::Message] *)
Inductive Betree_message_t :=
| BetreeMessageInsert : u64 -> Betree_message_t
@@ -31,22 +28,13 @@ Inductive Betree_message_t :=
| BetreeMessageUpsert : Betree_upsert_fun_state_t -> Betree_message_t
.
-Arguments BetreeMessageInsert _ .
-Arguments BetreeMessageDelete .
-Arguments BetreeMessageUpsert _ .
-
(** [betree_main::betree::Leaf] *)
Record Betree_leaf_t :=
-mkBetree_leaf_t
-{
+mkBetree_leaf_t {
Betree_leaf_id : u64; Betree_leaf_size : u64;
}
.
-Arguments mkBetree_leaf_t _ _ .
-Arguments Betree_leaf_id .
-Arguments Betree_leaf_size .
-
(** [betree_main::betree::Node] *)
Inductive Betree_node_t :=
| BetreeNodeInternal : Betree_internal_t -> Betree_node_t
@@ -62,54 +50,34 @@ with Betree_internal_t :=
Betree_internal_t
.
-Arguments BetreeNodeInternal _ .
-Arguments BetreeNodeLeaf _ .
-
-Arguments mkBetree_internal_t _ _ _ _ .
-
(** [betree_main::betree::Params] *)
Record Betree_params_t :=
-mkBetree_params_t
-{
+mkBetree_params_t {
Betree_params_min_flush_size : u64; Betree_params_split_size : u64;
}
.
-Arguments mkBetree_params_t _ _ .
-Arguments Betree_params_min_flush_size .
-Arguments Betree_params_split_size .
-
(** [betree_main::betree::NodeIdCounter] *)
Record Betree_node_id_counter_t :=
-mkBetree_node_id_counter_t
-{
+mkBetree_node_id_counter_t {
Betree_node_id_counter_next_node_id : u64;
}
.
-Arguments mkBetree_node_id_counter_t _ .
-Arguments Betree_node_id_counter_next_node_id .
-
(** [betree_main::betree::BeTree] *)
Record Betree_be_tree_t :=
-mkBetree_be_tree_t
-{
+mkBetree_be_tree_t {
Betree_be_tree_params : Betree_params_t;
Betree_be_tree_node_id_cnt : Betree_node_id_counter_t;
Betree_be_tree_root : Betree_node_t;
}
.
-Arguments mkBetree_be_tree_t _ _ _ .
-Arguments Betree_be_tree_params .
-Arguments Betree_be_tree_node_id_cnt .
-Arguments Betree_be_tree_root .
-
(** [core::num::u64::{10}::MAX] *)
Definition core_num_u64_max_body : result u64 :=
- Return (18446744073709551615 %u64)
- .
-Definition core_num_u64_max_c : u64 := core_num_u64_max_body%global .
+ Return (18446744073709551615%u64)
+.
+Definition core_num_u64_max_c : u64 := core_num_u64_max_body%global.
(** The state type used in the state-error monad *)
Axiom state : Type.
diff --git a/tests/coq/hashmap/Hashmap__Funs.v b/tests/coq/hashmap/Hashmap__Funs.v
index 93aa389b..7d897c8a 100644
--- a/tests/coq/hashmap/Hashmap__Funs.v
+++ b/tests/coq/hashmap/Hashmap__Funs.v
@@ -4,12 +4,12 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Require Export Hashmap__Types .
-Import Hashmap__Types .
-Module Hashmap__Funs .
+Require Export Hashmap__Types.
+Import Hashmap__Types.
+Module Hashmap__Funs.
(** [hashmap::hash_key] *)
-Definition hash_key_fwd (k : usize) : result usize := Return k .
+Definition hash_key_fwd (k : usize) : result usize := Return k.
(** [hashmap::HashMap::{0}::allocate_slots] *)
Fixpoint hash_map_allocate_slots_fwd
@@ -19,15 +19,15 @@ Fixpoint hash_map_allocate_slots_fwd
match n with
| O => Fail_ OutOfFuel
| S n1 =>
- if n0 s= 0 %usize
+ if n0 s= 0%usize
then Return slots
else (
slots0 <- vec_push_back (List_t T) slots ListNil;
- i <- usize_sub n0 1 %usize;
+ i <- usize_sub n0 1%usize;
v <- hash_map_allocate_slots_fwd T n1 slots0 i;
Return v)
end
- .
+.
(** [hashmap::HashMap::{0}::new_with_capacity] *)
Definition hash_map_new_with_capacity_fwd
@@ -42,21 +42,20 @@ Definition hash_map_new_with_capacity_fwd
slots <- hash_map_allocate_slots_fwd T n0 v capacity;
i <- usize_mul capacity max_load_dividend;
i0 <- usize_div i max_load_divisor;
- Return (mkHash_map_t (0 %usize) (max_load_dividend, max_load_divisor) i0
+ Return (mkHash_map_t (0%usize) (max_load_dividend, max_load_divisor) i0
slots)
end
- .
+.
(** [hashmap::HashMap::{0}::new] *)
Definition hash_map_new_fwd (T : Type) (n : nat) : result (Hash_map_t T) :=
match n with
| O => Fail_ OutOfFuel
| S n0 =>
- hm <-
- hash_map_new_with_capacity_fwd T n0 (32 %usize) (4 %usize) (5 %usize);
+ hm <- hash_map_new_with_capacity_fwd T n0 (32%usize) (4%usize) (5%usize);
Return hm
end
- .
+.
(** [hashmap::HashMap::{0}::clear_slots] *)
Fixpoint hash_map_clear_slots_fwd_back
@@ -70,12 +69,12 @@ Fixpoint hash_map_clear_slots_fwd_back
if i s< i0
then (
slots0 <- vec_index_mut_back (List_t T) slots i ListNil;
- i1 <- usize_add i 1 %usize;
+ i1 <- usize_add i 1%usize;
slots1 <- hash_map_clear_slots_fwd_back T n0 slots0 i1;
Return slots1)
else Return slots
end
- .
+.
(** [hashmap::HashMap::{0}::clear] *)
Definition hash_map_clear_fwd_back
@@ -85,15 +84,16 @@ Definition hash_map_clear_fwd_back
| S n0 =>
match self with
| mkHash_map_t i p i0 v =>
- v0 <- hash_map_clear_slots_fwd_back T n0 v (0 %usize);
- Return (mkHash_map_t (0 %usize) p i0 v0)
+ v0 <- hash_map_clear_slots_fwd_back T n0 v (0%usize);
+ Return (mkHash_map_t (0%usize) p i0 v0)
end
end
- .
+.
(** [hashmap::HashMap::{0}::len] *)
Definition hash_map_len_fwd (T : Type) (self : Hash_map_t T) : result usize :=
- match self with | mkHash_map_t i p i0 v => Return i end .
+ match self with | mkHash_map_t i p i0 v => Return i end
+.
(** [hashmap::HashMap::{0}::insert_in_list] *)
Fixpoint hash_map_insert_in_list_fwd
@@ -111,7 +111,7 @@ Fixpoint hash_map_insert_in_list_fwd
| ListNil => Return true
end
end
- .
+.
(** [hashmap::HashMap::{0}::insert_in_list] *)
Fixpoint hash_map_insert_in_list_back
@@ -131,7 +131,7 @@ Fixpoint hash_map_insert_in_list_back
| ListNil => let l := ListNil in Return (ListCons key value l)
end
end
- .
+.
(** [hashmap::HashMap::{0}::insert_no_resize] *)
Definition hash_map_insert_no_resize_fwd_back
@@ -150,7 +150,7 @@ Definition hash_map_insert_no_resize_fwd_back
inserted <- hash_map_insert_in_list_fwd T n0 key value l;
if inserted
then (
- i2 <- usize_add i 1 %usize;
+ i2 <- usize_add i 1%usize;
l0 <- hash_map_insert_in_list_back T n0 key value l;
v0 <- vec_index_mut_back (List_t T) v hash_mod l0;
Return (mkHash_map_t i2 p i0 v0))
@@ -160,11 +160,11 @@ Definition hash_map_insert_no_resize_fwd_back
Return (mkHash_map_t i p i0 v0))
end
end
- .
+.
(** [core::num::u32::{9}::MAX] *)
-Definition core_num_u32_max_body : result u32 := Return (4294967295 %u32) .
-Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global .
+Definition core_num_u32_max_body : result u32 := Return (4294967295%u32).
+Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global.
(** [hashmap::HashMap::{0}::move_elements_from_list] *)
Fixpoint hash_map_move_elements_from_list_fwd_back
@@ -182,7 +182,7 @@ Fixpoint hash_map_move_elements_from_list_fwd_back
| ListNil => Return ntable
end
end
- .
+.
(** [hashmap::HashMap::{0}::move_elements] *)
Fixpoint hash_map_move_elements_fwd_back
@@ -201,13 +201,13 @@ Fixpoint hash_map_move_elements_fwd_back
ntable0 <- hash_map_move_elements_from_list_fwd_back T n0 ntable ls;
let l0 := mem_replace_back (List_t T) l ListNil in
slots0 <- vec_index_mut_back (List_t T) slots i l0;
- i1 <- usize_add i 1 %usize;
+ i1 <- usize_add i 1%usize;
p <- hash_map_move_elements_fwd_back T n0 ntable0 slots0 i1;
let (ntable1, slots1) := p in
Return (ntable1, slots1))
else Return (ntable, slots)
end
- .
+.
(** [hashmap::HashMap::{0}::try_resize] *)
Definition hash_map_try_resize_fwd_back
@@ -219,14 +219,14 @@ Definition hash_map_try_resize_fwd_back
match self with
| mkHash_map_t i p i0 v =>
let capacity := vec_len (List_t T) v in
- n1 <- usize_div max_usize 2 %usize;
+ n1 <- usize_div max_usize 2%usize;
let (i1, i2) := p in
i3 <- usize_div n1 i1;
if capacity s<= i3
then (
- i4 <- usize_mul capacity 2 %usize;
+ i4 <- usize_mul capacity 2%usize;
ntable <- hash_map_new_with_capacity_fwd T n0 i4 i1 i2;
- p0 <- hash_map_move_elements_fwd_back T n0 ntable v (0 %usize);
+ p0 <- hash_map_move_elements_fwd_back T n0 ntable v (0%usize);
let (ntable0, _) := p0 in
match ntable0 with
| mkHash_map_t i5 p1 i6 v0 => Return (mkHash_map_t i (i1, i2) i6 v0)
@@ -234,7 +234,7 @@ Definition hash_map_try_resize_fwd_back
else Return (mkHash_map_t i (i1, i2) i0 v)
end
end
- .
+.
(** [hashmap::HashMap::{0}::insert] *)
Definition hash_map_insert_fwd_back
@@ -255,7 +255,7 @@ Definition hash_map_insert_fwd_back
else Return (mkHash_map_t i0 p i1 v)
end
end
- .
+.
(** [hashmap::HashMap::{0}::contains_key_in_list] *)
Fixpoint hash_map_contains_key_in_list_fwd
@@ -271,7 +271,7 @@ Fixpoint hash_map_contains_key_in_list_fwd
| ListNil => Return false
end
end
- .
+.
(** [hashmap::HashMap::{0}::contains_key] *)
Definition hash_map_contains_key_fwd
@@ -289,7 +289,7 @@ Definition hash_map_contains_key_fwd
Return b
end
end
- .
+.
(** [hashmap::HashMap::{0}::get_in_list] *)
Fixpoint hash_map_get_in_list_fwd
@@ -305,7 +305,7 @@ Fixpoint hash_map_get_in_list_fwd
| ListNil => Fail_ Failure
end
end
- .
+.
(** [hashmap::HashMap::{0}::get] *)
Definition hash_map_get_fwd
@@ -323,7 +323,7 @@ Definition hash_map_get_fwd
Return t
end
end
- .
+.
(** [hashmap::HashMap::{0}::get_mut_in_list] *)
Fixpoint hash_map_get_mut_in_list_fwd
@@ -339,7 +339,7 @@ Fixpoint hash_map_get_mut_in_list_fwd
| ListNil => Fail_ Failure
end
end
- .
+.
(** [hashmap::HashMap::{0}::get_mut_in_list] *)
Fixpoint hash_map_get_mut_in_list_back
@@ -359,7 +359,7 @@ Fixpoint hash_map_get_mut_in_list_back
| ListNil => Fail_ Failure
end
end
- .
+.
(** [hashmap::HashMap::{0}::get_mut] *)
Definition hash_map_get_mut_fwd
@@ -377,7 +377,7 @@ Definition hash_map_get_mut_fwd
Return t
end
end
- .
+.
(** [hashmap::HashMap::{0}::get_mut] *)
Definition hash_map_get_mut_back
@@ -398,7 +398,7 @@ Definition hash_map_get_mut_back
Return (mkHash_map_t i p i0 v0)
end
end
- .
+.
(** [hashmap::HashMap::{0}::remove_from_list] *)
Fixpoint hash_map_remove_from_list_fwd
@@ -419,7 +419,7 @@ Fixpoint hash_map_remove_from_list_fwd
| ListNil => Return None
end
end
- .
+.
(** [hashmap::HashMap::{0}::remove_from_list] *)
Fixpoint hash_map_remove_from_list_back
@@ -442,7 +442,7 @@ Fixpoint hash_map_remove_from_list_back
| ListNil => Return ListNil
end
end
- .
+.
(** [hashmap::HashMap::{0}::remove] *)
Definition hash_map_remove_fwd
@@ -461,11 +461,11 @@ Definition hash_map_remove_fwd
x <- hash_map_remove_from_list_fwd T n0 key l;
match x with
| None => Return None
- | Some x0 => i2 <- usize_sub i 1 %usize; let _ := i2 in Return (Some x0)
+ | Some x0 => i2 <- usize_sub i 1%usize; let _ := i2 in Return (Some x0)
end
end
end
- .
+.
(** [hashmap::HashMap::{0}::remove] *)
Definition hash_map_remove_back
@@ -488,14 +488,14 @@ Definition hash_map_remove_back
v0 <- vec_index_mut_back (List_t T) v hash_mod l0;
Return (mkHash_map_t i p i0 v0)
| Some x0 =>
- i2 <- usize_sub i 1 %usize;
+ i2 <- usize_sub i 1%usize;
l0 <- hash_map_remove_from_list_back T n0 key l;
v0 <- vec_index_mut_back (List_t T) v hash_mod l0;
Return (mkHash_map_t i2 p i0 v0)
end
end
end
- .
+.
(** [hashmap::test1] *)
Definition test1_fwd (n : nat) : result unit :=
@@ -503,39 +503,39 @@ Definition test1_fwd (n : nat) : result unit :=
| O => Fail_ OutOfFuel
| S n0 =>
hm <- hash_map_new_fwd u64 n0;
- hm0 <- hash_map_insert_fwd_back u64 n0 hm (0 %usize) (42 %u64);
- hm1 <- hash_map_insert_fwd_back u64 n0 hm0 (128 %usize) (18 %u64);
- hm2 <- hash_map_insert_fwd_back u64 n0 hm1 (1024 %usize) (138 %u64);
- hm3 <- hash_map_insert_fwd_back u64 n0 hm2 (1056 %usize) (256 %u64);
- i <- hash_map_get_fwd u64 n0 hm3 (128 %usize);
- if negb (i s= 18 %u64)
+ hm0 <- hash_map_insert_fwd_back u64 n0 hm (0%usize) (42%u64);
+ hm1 <- hash_map_insert_fwd_back u64 n0 hm0 (128%usize) (18%u64);
+ hm2 <- hash_map_insert_fwd_back u64 n0 hm1 (1024%usize) (138%u64);
+ hm3 <- hash_map_insert_fwd_back u64 n0 hm2 (1056%usize) (256%u64);
+ i <- hash_map_get_fwd u64 n0 hm3 (128%usize);
+ if negb (i s= 18%u64)
then Fail_ Failure
else (
- hm4 <- hash_map_get_mut_back u64 n0 hm3 (1024 %usize) (56 %u64);
- i0 <- hash_map_get_fwd u64 n0 hm4 (1024 %usize);
- if negb (i0 s= 56 %u64)
+ hm4 <- hash_map_get_mut_back u64 n0 hm3 (1024%usize) (56%u64);
+ i0 <- hash_map_get_fwd u64 n0 hm4 (1024%usize);
+ if negb (i0 s= 56%u64)
then Fail_ Failure
else (
- x <- hash_map_remove_fwd u64 n0 hm4 (1024 %usize);
+ x <- hash_map_remove_fwd u64 n0 hm4 (1024%usize);
match x with
| None => Fail_ Failure
| Some x0 =>
- if negb (x0 s= 56 %u64)
+ if negb (x0 s= 56%u64)
then Fail_ Failure
else (
- hm5 <- hash_map_remove_back u64 n0 hm4 (1024 %usize);
- i1 <- hash_map_get_fwd u64 n0 hm5 (0 %usize);
- if negb (i1 s= 42 %u64)
+ hm5 <- hash_map_remove_back u64 n0 hm4 (1024%usize);
+ i1 <- hash_map_get_fwd u64 n0 hm5 (0%usize);
+ if negb (i1 s= 42%u64)
then Fail_ Failure
else (
- i2 <- hash_map_get_fwd u64 n0 hm5 (128 %usize);
- if negb (i2 s= 18 %u64)
+ i2 <- hash_map_get_fwd u64 n0 hm5 (128%usize);
+ if negb (i2 s= 18%u64)
then Fail_ Failure
else (
- i3 <- hash_map_get_fwd u64 n0 hm5 (1056 %usize);
- if negb (i3 s= 256 %u64) then Fail_ Failure else Return tt)))
+ i3 <- hash_map_get_fwd u64 n0 hm5 (1056%usize);
+ if negb (i3 s= 256%u64) then Fail_ Failure else Return tt)))
end))
end
- .
+.
End Hashmap__Funs .
diff --git a/tests/coq/hashmap/Hashmap__Types.v b/tests/coq/hashmap/Hashmap__Types.v
index b665179e..e1add060 100644
--- a/tests/coq/hashmap/Hashmap__Types.v
+++ b/tests/coq/hashmap/Hashmap__Types.v
@@ -4,7 +4,7 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Module Hashmap__Types .
+Module Hashmap__Types.
(** [hashmap::List] *)
Inductive List_t (T : Type) :=
@@ -12,13 +12,12 @@ Inductive List_t (T : Type) :=
| ListNil : List_t T
.
-Arguments ListCons {T} _ _ _ .
-Arguments ListNil {T} .
+Arguments ListCons {T} _ _ _.
+Arguments ListNil {T}.
(** [hashmap::HashMap] *)
Record Hash_map_t (T : Type) :=
-mkHash_map_t
-{
+mkHash_map_t {
Hash_map_num_entries : usize;
Hash_map_max_load_factor : (usize * usize);
Hash_map_max_load : usize;
@@ -26,14 +25,14 @@ mkHash_map_t
}
.
-Arguments mkHash_map_t {T} _ _ _ _ .
-Arguments Hash_map_num_entries {T} .
-Arguments Hash_map_max_load_factor {T} .
-Arguments Hash_map_max_load {T} .
-Arguments Hash_map_slots {T} .
+Arguments mkHash_map_t {T} _ _ _ _.
+Arguments Hash_map_num_entries {T}.
+Arguments Hash_map_max_load_factor {T}.
+Arguments Hash_map_max_load {T}.
+Arguments Hash_map_slots {T}.
(** [core::num::u32::{9}::MAX] *)
-Definition core_num_u32_max_body : result u32 := Return (4294967295 %u32) .
-Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global .
+Definition core_num_u32_max_body : result u32 := Return (4294967295%u32).
+Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global.
End Hashmap__Types .
diff --git a/tests/coq/hashmap_on_disk/HashmapMain__Funs.v b/tests/coq/hashmap_on_disk/HashmapMain__Funs.v
index c390ac1d..249adbe9 100644
--- a/tests/coq/hashmap_on_disk/HashmapMain__Funs.v
+++ b/tests/coq/hashmap_on_disk/HashmapMain__Funs.v
@@ -4,14 +4,14 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Require Export HashmapMain__Types .
-Import HashmapMain__Types .
-Require Export HashmapMain__Opaque .
-Import HashmapMain__Opaque .
-Module HashmapMain__Funs .
+Require Export HashmapMain__Types.
+Import HashmapMain__Types.
+Require Export HashmapMain__Opaque.
+Import HashmapMain__Opaque.
+Module HashmapMain__Funs.
(** [hashmap_main::hashmap::hash_key] *)
-Definition hashmap_hash_key_fwd (k : usize) : result usize := Return k .
+Definition hashmap_hash_key_fwd (k : usize) : result usize := Return k.
(** [hashmap_main::hashmap::HashMap::{0}::allocate_slots] *)
Fixpoint hashmap_hash_map_allocate_slots_fwd
@@ -21,15 +21,15 @@ Fixpoint hashmap_hash_map_allocate_slots_fwd
match n with
| O => Fail_ OutOfFuel
| S n1 =>
- if n0 s= 0 %usize
+ if n0 s= 0%usize
then Return slots
else (
slots0 <- vec_push_back (Hashmap_list_t T) slots HashmapListNil;
- i <- usize_sub n0 1 %usize;
+ i <- usize_sub n0 1%usize;
v <- hashmap_hash_map_allocate_slots_fwd T n1 slots0 i;
Return v)
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::new_with_capacity] *)
Definition hashmap_hash_map_new_with_capacity_fwd
@@ -44,10 +44,10 @@ Definition hashmap_hash_map_new_with_capacity_fwd
slots <- hashmap_hash_map_allocate_slots_fwd T n0 v capacity;
i <- usize_mul capacity max_load_dividend;
i0 <- usize_div i max_load_divisor;
- Return (mkHashmap_hash_map_t (0 %usize) (max_load_dividend,
+ Return (mkHashmap_hash_map_t (0%usize) (max_load_dividend,
max_load_divisor) i0 slots)
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::new] *)
Definition hashmap_hash_map_new_fwd
@@ -56,11 +56,11 @@ Definition hashmap_hash_map_new_fwd
| O => Fail_ OutOfFuel
| S n0 =>
hm <-
- hashmap_hash_map_new_with_capacity_fwd T n0 (32 %usize) (4 %usize) (5
- %usize);
+ hashmap_hash_map_new_with_capacity_fwd T n0 (32%usize) (4%usize)
+ (5%usize);
Return hm
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::clear_slots] *)
Fixpoint hashmap_hash_map_clear_slots_fwd_back
@@ -74,12 +74,12 @@ Fixpoint hashmap_hash_map_clear_slots_fwd_back
if i s< i0
then (
slots0 <- vec_index_mut_back (Hashmap_list_t T) slots i HashmapListNil;
- i1 <- usize_add i 1 %usize;
+ i1 <- usize_add i 1%usize;
slots1 <- hashmap_hash_map_clear_slots_fwd_back T n0 slots0 i1;
Return slots1)
else Return slots
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::clear] *)
Definition hashmap_hash_map_clear_fwd_back
@@ -91,16 +91,17 @@ Definition hashmap_hash_map_clear_fwd_back
| S n0 =>
match self with
| mkHashmap_hash_map_t i p i0 v =>
- v0 <- hashmap_hash_map_clear_slots_fwd_back T n0 v (0 %usize);
- Return (mkHashmap_hash_map_t (0 %usize) p i0 v0)
+ v0 <- hashmap_hash_map_clear_slots_fwd_back T n0 v (0%usize);
+ Return (mkHashmap_hash_map_t (0%usize) p i0 v0)
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::len] *)
Definition hashmap_hash_map_len_fwd
(T : Type) (self : Hashmap_hash_map_t T) : result usize :=
- match self with | mkHashmap_hash_map_t i p i0 v => Return i end .
+ match self with | mkHashmap_hash_map_t i p i0 v => Return i end
+.
(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list] *)
Fixpoint hashmap_hash_map_insert_in_list_fwd
@@ -119,7 +120,7 @@ Fixpoint hashmap_hash_map_insert_in_list_fwd
| HashmapListNil => Return true
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list] *)
Fixpoint hashmap_hash_map_insert_in_list_back
@@ -140,11 +141,12 @@ Fixpoint hashmap_hash_map_insert_in_list_back
let l := HashmapListNil in Return (HashmapListCons key value l)
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::insert_no_resize] *)
Definition hashmap_hash_map_insert_no_resize_fwd_back
- (T : Type) (n : nat) (self : Hashmap_hash_map_t T) (key : usize) (value : T) :
+ (T : Type) (n : nat) (self : Hashmap_hash_map_t T) (key : usize) (value : T)
+ :
result (Hashmap_hash_map_t T)
:=
match n with
@@ -159,7 +161,7 @@ Definition hashmap_hash_map_insert_no_resize_fwd_back
inserted <- hashmap_hash_map_insert_in_list_fwd T n0 key value l;
if inserted
then (
- i2 <- usize_add i 1 %usize;
+ i2 <- usize_add i 1%usize;
l0 <- hashmap_hash_map_insert_in_list_back T n0 key value l;
v0 <- vec_index_mut_back (Hashmap_list_t T) v hash_mod l0;
Return (mkHashmap_hash_map_t i2 p i0 v0))
@@ -169,15 +171,16 @@ Definition hashmap_hash_map_insert_no_resize_fwd_back
Return (mkHashmap_hash_map_t i p i0 v0))
end
end
- .
+.
(** [core::num::u32::{9}::MAX] *)
-Definition core_num_u32_max_body : result u32 := Return (4294967295 %u32) .
-Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global .
+Definition core_num_u32_max_body : result u32 := Return (4294967295%u32).
+Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global.
(** [hashmap_main::hashmap::HashMap::{0}::move_elements_from_list] *)
Fixpoint hashmap_hash_map_move_elements_from_list_fwd_back
- (T : Type) (n : nat) (ntable : Hashmap_hash_map_t T) (ls : Hashmap_list_t T) :
+ (T : Type) (n : nat) (ntable : Hashmap_hash_map_t T) (ls : Hashmap_list_t T)
+ :
result (Hashmap_hash_map_t T)
:=
match n with
@@ -192,7 +195,7 @@ Fixpoint hashmap_hash_map_move_elements_from_list_fwd_back
| HashmapListNil => Return ntable
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::move_elements] *)
Fixpoint hashmap_hash_map_move_elements_fwd_back
@@ -212,13 +215,13 @@ Fixpoint hashmap_hash_map_move_elements_fwd_back
hashmap_hash_map_move_elements_from_list_fwd_back T n0 ntable ls;
let l0 := mem_replace_back (Hashmap_list_t T) l HashmapListNil in
slots0 <- vec_index_mut_back (Hashmap_list_t T) slots i l0;
- i1 <- usize_add i 1 %usize;
+ i1 <- usize_add i 1%usize;
p <- hashmap_hash_map_move_elements_fwd_back T n0 ntable0 slots0 i1;
let (ntable1, slots1) := p in
Return (ntable1, slots1))
else Return (ntable, slots)
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::try_resize] *)
Definition hashmap_hash_map_try_resize_fwd_back
@@ -232,14 +235,14 @@ Definition hashmap_hash_map_try_resize_fwd_back
match self with
| mkHashmap_hash_map_t i p i0 v =>
let capacity := vec_len (Hashmap_list_t T) v in
- n1 <- usize_div max_usize 2 %usize;
+ n1 <- usize_div max_usize 2%usize;
let (i1, i2) := p in
i3 <- usize_div n1 i1;
if capacity s<= i3
then (
- i4 <- usize_mul capacity 2 %usize;
+ i4 <- usize_mul capacity 2%usize;
ntable <- hashmap_hash_map_new_with_capacity_fwd T n0 i4 i1 i2;
- p0 <- hashmap_hash_map_move_elements_fwd_back T n0 ntable v (0 %usize);
+ p0 <- hashmap_hash_map_move_elements_fwd_back T n0 ntable v (0%usize);
let (ntable0, _) := p0 in
match ntable0 with
| mkHashmap_hash_map_t i5 p1 i6 v0 =>
@@ -248,11 +251,12 @@ Definition hashmap_hash_map_try_resize_fwd_back
else Return (mkHashmap_hash_map_t i (i1, i2) i0 v)
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::insert] *)
Definition hashmap_hash_map_insert_fwd_back
- (T : Type) (n : nat) (self : Hashmap_hash_map_t T) (key : usize) (value : T) :
+ (T : Type) (n : nat) (self : Hashmap_hash_map_t T) (key : usize) (value : T)
+ :
result (Hashmap_hash_map_t T)
:=
match n with
@@ -271,7 +275,7 @@ Definition hashmap_hash_map_insert_fwd_back
else Return (mkHashmap_hash_map_t i0 p i1 v)
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::contains_key_in_list] *)
Fixpoint hashmap_hash_map_contains_key_in_list_fwd
@@ -288,7 +292,7 @@ Fixpoint hashmap_hash_map_contains_key_in_list_fwd
| HashmapListNil => Return false
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::contains_key] *)
Definition hashmap_hash_map_contains_key_fwd
@@ -308,7 +312,7 @@ Definition hashmap_hash_map_contains_key_fwd
Return b
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::get_in_list] *)
Fixpoint hashmap_hash_map_get_in_list_fwd
@@ -324,7 +328,7 @@ Fixpoint hashmap_hash_map_get_in_list_fwd
| HashmapListNil => Fail_ Failure
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::get] *)
Definition hashmap_hash_map_get_fwd
@@ -344,7 +348,7 @@ Definition hashmap_hash_map_get_fwd
Return t
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list] *)
Fixpoint hashmap_hash_map_get_mut_in_list_fwd
@@ -360,7 +364,7 @@ Fixpoint hashmap_hash_map_get_mut_in_list_fwd
| HashmapListNil => Fail_ Failure
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list] *)
Fixpoint hashmap_hash_map_get_mut_in_list_back
@@ -380,7 +384,7 @@ Fixpoint hashmap_hash_map_get_mut_in_list_back
| HashmapListNil => Fail_ Failure
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::get_mut] *)
Definition hashmap_hash_map_get_mut_fwd
@@ -400,7 +404,7 @@ Definition hashmap_hash_map_get_mut_fwd
Return t
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::get_mut] *)
Definition hashmap_hash_map_get_mut_back
@@ -421,7 +425,7 @@ Definition hashmap_hash_map_get_mut_back
Return (mkHashmap_hash_map_t i p i0 v0)
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list] *)
Fixpoint hashmap_hash_map_remove_from_list_fwd
@@ -447,7 +451,7 @@ Fixpoint hashmap_hash_map_remove_from_list_fwd
| HashmapListNil => Return None
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list] *)
Fixpoint hashmap_hash_map_remove_from_list_back
@@ -474,7 +478,7 @@ Fixpoint hashmap_hash_map_remove_from_list_back
| HashmapListNil => Return HashmapListNil
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::remove] *)
Definition hashmap_hash_map_remove_fwd
@@ -493,11 +497,11 @@ Definition hashmap_hash_map_remove_fwd
x <- hashmap_hash_map_remove_from_list_fwd T n0 key l;
match x with
| None => Return None
- | Some x0 => i2 <- usize_sub i 1 %usize; let _ := i2 in Return (Some x0)
+ | Some x0 => i2 <- usize_sub i 1%usize; let _ := i2 in Return (Some x0)
end
end
end
- .
+.
(** [hashmap_main::hashmap::HashMap::{0}::remove] *)
Definition hashmap_hash_map_remove_back
@@ -520,14 +524,14 @@ Definition hashmap_hash_map_remove_back
v0 <- vec_index_mut_back (Hashmap_list_t T) v hash_mod l0;
Return (mkHashmap_hash_map_t i p i0 v0)
| Some x0 =>
- i2 <- usize_sub i 1 %usize;
+ i2 <- usize_sub i 1%usize;
l0 <- hashmap_hash_map_remove_from_list_back T n0 key l;
v0 <- vec_index_mut_back (Hashmap_list_t T) v hash_mod l0;
Return (mkHashmap_hash_map_t i2 p i0 v0)
end
end
end
- .
+.
(** [hashmap_main::hashmap::test1] *)
Definition hashmap_test1_fwd (n : nat) : result unit :=
@@ -535,42 +539,40 @@ Definition hashmap_test1_fwd (n : nat) : result unit :=
| O => Fail_ OutOfFuel
| S n0 =>
hm <- hashmap_hash_map_new_fwd u64 n0;
- hm0 <- hashmap_hash_map_insert_fwd_back u64 n0 hm (0 %usize) (42 %u64);
- hm1 <- hashmap_hash_map_insert_fwd_back u64 n0 hm0 (128 %usize) (18 %u64);
- hm2 <-
- hashmap_hash_map_insert_fwd_back u64 n0 hm1 (1024 %usize) (138 %u64);
- hm3 <-
- hashmap_hash_map_insert_fwd_back u64 n0 hm2 (1056 %usize) (256 %u64);
- i <- hashmap_hash_map_get_fwd u64 n0 hm3 (128 %usize);
- if negb (i s= 18 %u64)
+ hm0 <- hashmap_hash_map_insert_fwd_back u64 n0 hm (0%usize) (42%u64);
+ hm1 <- hashmap_hash_map_insert_fwd_back u64 n0 hm0 (128%usize) (18%u64);
+ hm2 <- hashmap_hash_map_insert_fwd_back u64 n0 hm1 (1024%usize) (138%u64);
+ hm3 <- hashmap_hash_map_insert_fwd_back u64 n0 hm2 (1056%usize) (256%u64);
+ i <- hashmap_hash_map_get_fwd u64 n0 hm3 (128%usize);
+ if negb (i s= 18%u64)
then Fail_ Failure
else (
- hm4 <- hashmap_hash_map_get_mut_back u64 n0 hm3 (1024 %usize) (56 %u64);
- i0 <- hashmap_hash_map_get_fwd u64 n0 hm4 (1024 %usize);
- if negb (i0 s= 56 %u64)
+ hm4 <- hashmap_hash_map_get_mut_back u64 n0 hm3 (1024%usize) (56%u64);
+ i0 <- hashmap_hash_map_get_fwd u64 n0 hm4 (1024%usize);
+ if negb (i0 s= 56%u64)
then Fail_ Failure
else (
- x <- hashmap_hash_map_remove_fwd u64 n0 hm4 (1024 %usize);
+ x <- hashmap_hash_map_remove_fwd u64 n0 hm4 (1024%usize);
match x with
| None => Fail_ Failure
| Some x0 =>
- if negb (x0 s= 56 %u64)
+ if negb (x0 s= 56%u64)
then Fail_ Failure
else (
- hm5 <- hashmap_hash_map_remove_back u64 n0 hm4 (1024 %usize);
- i1 <- hashmap_hash_map_get_fwd u64 n0 hm5 (0 %usize);
- if negb (i1 s= 42 %u64)
+ hm5 <- hashmap_hash_map_remove_back u64 n0 hm4 (1024%usize);
+ i1 <- hashmap_hash_map_get_fwd u64 n0 hm5 (0%usize);
+ if negb (i1 s= 42%u64)
then Fail_ Failure
else (
- i2 <- hashmap_hash_map_get_fwd u64 n0 hm5 (128 %usize);
- if negb (i2 s= 18 %u64)
+ i2 <- hashmap_hash_map_get_fwd u64 n0 hm5 (128%usize);
+ if negb (i2 s= 18%u64)
then Fail_ Failure
else (
- i3 <- hashmap_hash_map_get_fwd u64 n0 hm5 (1056 %usize);
- if negb (i3 s= 256 %u64) then Fail_ Failure else Return tt)))
+ i3 <- hashmap_hash_map_get_fwd u64 n0 hm5 (1056%usize);
+ if negb (i3 s= 256%u64) then Fail_ Failure else Return tt)))
end))
end
- .
+.
(** [hashmap_main::insert_on_disk] *)
Definition insert_on_disk_fwd
@@ -585,10 +587,10 @@ Definition insert_on_disk_fwd
let (st1, _) := p0 in
Return (st1, tt)
end
- .
+.
(** [hashmap_main::main] *)
-Definition main_fwd : result unit := Return tt .
+Definition main_fwd : result unit := Return tt.
(** Unit test for [hashmap_main::main] *)
Check (main_fwd )%return.
diff --git a/tests/coq/hashmap_on_disk/HashmapMain__Opaque.v b/tests/coq/hashmap_on_disk/HashmapMain__Opaque.v
index f41c3ddf..4b6db927 100644
--- a/tests/coq/hashmap_on_disk/HashmapMain__Opaque.v
+++ b/tests/coq/hashmap_on_disk/HashmapMain__Opaque.v
@@ -4,18 +4,18 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Require Export HashmapMain__Types .
-Import HashmapMain__Types .
-Module HashmapMain__Opaque .
+Require Export HashmapMain__Types.
+Import HashmapMain__Types.
+Module HashmapMain__Opaque.
(** [hashmap_main::hashmap_utils::deserialize] *)
Axiom hashmap_utils_deserialize_fwd
: state -> result (state * (Hashmap_hash_map_t u64))
- .
+.
(** [hashmap_main::hashmap_utils::serialize] *)
Axiom hashmap_utils_serialize_fwd
: Hashmap_hash_map_t u64 -> state -> result (state * unit)
- .
+.
End HashmapMain__Opaque .
diff --git a/tests/coq/hashmap_on_disk/HashmapMain__Types.v b/tests/coq/hashmap_on_disk/HashmapMain__Types.v
index 8bdbd0bd..5d609937 100644
--- a/tests/coq/hashmap_on_disk/HashmapMain__Types.v
+++ b/tests/coq/hashmap_on_disk/HashmapMain__Types.v
@@ -4,7 +4,7 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Module HashmapMain__Types .
+Module HashmapMain__Types.
(** [hashmap_main::hashmap::List] *)
Inductive Hashmap_list_t (T : Type) :=
@@ -12,13 +12,12 @@ Inductive Hashmap_list_t (T : Type) :=
| HashmapListNil : Hashmap_list_t T
.
-Arguments HashmapListCons {T} _ _ _ .
-Arguments HashmapListNil {T} .
+Arguments HashmapListCons {T} _ _ _.
+Arguments HashmapListNil {T}.
(** [hashmap_main::hashmap::HashMap] *)
Record Hashmap_hash_map_t (T : Type) :=
-mkHashmap_hash_map_t
-{
+mkHashmap_hash_map_t {
Hashmap_hash_map_num_entries : usize;
Hashmap_hash_map_max_load_factor : (usize * usize);
Hashmap_hash_map_max_load : usize;
@@ -26,15 +25,15 @@ mkHashmap_hash_map_t
}
.
-Arguments mkHashmap_hash_map_t {T} _ _ _ _ .
-Arguments Hashmap_hash_map_num_entries {T} .
-Arguments Hashmap_hash_map_max_load_factor {T} .
-Arguments Hashmap_hash_map_max_load {T} .
-Arguments Hashmap_hash_map_slots {T} .
+Arguments mkHashmap_hash_map_t {T} _ _ _ _.
+Arguments Hashmap_hash_map_num_entries {T}.
+Arguments Hashmap_hash_map_max_load_factor {T}.
+Arguments Hashmap_hash_map_max_load {T}.
+Arguments Hashmap_hash_map_slots {T}.
(** [core::num::u32::{9}::MAX] *)
-Definition core_num_u32_max_body : result u32 := Return (4294967295 %u32) .
-Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global .
+Definition core_num_u32_max_body : result u32 := Return (4294967295%u32).
+Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global.
(** The state type used in the state-error monad *)
Axiom state : Type.
diff --git a/tests/coq/misc/Constants.v b/tests/coq/misc/Constants.v
index 677aae8c..c9ec0daf 100644
--- a/tests/coq/misc/Constants.v
+++ b/tests/coq/misc/Constants.v
@@ -4,135 +4,141 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Module Constants .
+Module Constants.
(** [constants::X0] *)
-Definition x0_body : result u32 := Return (0 %u32) .
-Definition x0_c : u32 := x0_body%global .
+Definition x0_body : result u32 := Return (0%u32).
+Definition x0_c : u32 := x0_body%global.
(** [core::num::u32::{9}::MAX] *)
-Definition core_num_u32_max_body : result u32 := Return (4294967295 %u32) .
-Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global .
+Definition core_num_u32_max_body : result u32 := Return (4294967295%u32).
+Definition core_num_u32_max_c : u32 := core_num_u32_max_body%global.
(** [constants::X1] *)
-Definition x1_body : result u32 := Return core_num_u32_max_c .
-Definition x1_c : u32 := x1_body%global .
+Definition x1_body : result u32 := Return core_num_u32_max_c.
+Definition x1_c : u32 := x1_body%global.
(** [constants::X2] *)
-Definition x2_body : result u32 := Return (3 %u32) .
-Definition x2_c : u32 := x2_body%global .
+Definition x2_body : result u32 := Return (3%u32).
+Definition x2_c : u32 := x2_body%global.
(** [constants::incr] *)
-Definition incr_fwd (n : u32) : result u32 := i <- u32_add n 1 %u32; Return i .
+Definition incr_fwd (n : u32) : result u32 := i <- u32_add n 1%u32; Return i.
(** [constants::X3] *)
-Definition x3_body : result u32 := i <- incr_fwd (32 %u32); Return i .
-Definition x3_c : u32 := x3_body%global .
+Definition x3_body : result u32 := i <- incr_fwd (32%u32); Return i.
+Definition x3_c : u32 := x3_body%global.
(** [constants::mk_pair0] *)
Definition mk_pair0_fwd (x : u32) (y : u32) : result (u32 * u32) :=
- Return (x, y) .
+ Return (x, y)
+.
(** [constants::Pair] *)
-Record Pair_t (T1 T2 : Type) := mkPair_t { Pair_x : T1; Pair_y : T2; } .
+Record Pair_t (T1 T2 : Type) := mkPair_t { Pair_x : T1; Pair_y : T2; }.
-Arguments mkPair_t {T1} {T2} _ _ .
-Arguments Pair_x {T1} {T2} .
-Arguments Pair_y {T1} {T2} .
+Arguments mkPair_t {T1} {T2} _ _.
+Arguments Pair_x {T1} {T2}.
+Arguments Pair_y {T1} {T2}.
(** [constants::mk_pair1] *)
Definition mk_pair1_fwd (x : u32) (y : u32) : result (Pair_t u32 u32) :=
- Return (mkPair_t x y) .
+ Return (mkPair_t x y)
+.
(** [constants::P0] *)
Definition p0_body : result (u32 * u32) :=
- p <- mk_pair0_fwd (0 %u32) (1 %u32); Return p
- .
-Definition p0_c : (u32 * u32) := p0_body%global .
+ p <- mk_pair0_fwd (0%u32) (1%u32); Return p
+.
+Definition p0_c : (u32 * u32) := p0_body%global.
(** [constants::P1] *)
Definition p1_body : result (Pair_t u32 u32) :=
- p <- mk_pair1_fwd (0 %u32) (1 %u32); Return p
- .
-Definition p1_c : Pair_t u32 u32 := p1_body%global .
+ p <- mk_pair1_fwd (0%u32) (1%u32); Return p
+.
+Definition p1_c : Pair_t u32 u32 := p1_body%global.
(** [constants::P2] *)
-Definition p2_body : result (u32 * u32) := Return (0 %u32, 1 %u32) .
-Definition p2_c : (u32 * u32) := p2_body%global .
+Definition p2_body : result (u32 * u32) := Return (0%u32, 1%u32).
+Definition p2_c : (u32 * u32) := p2_body%global.
(** [constants::P3] *)
Definition p3_body : result (Pair_t u32 u32) :=
- Return (mkPair_t (0 %u32) (1 %u32))
- .
-Definition p3_c : Pair_t u32 u32 := p3_body%global .
+ Return (mkPair_t (0%u32) (1%u32))
+.
+Definition p3_c : Pair_t u32 u32 := p3_body%global.
(** [constants::Wrap] *)
-Record Wrap_t (T : Type) := mkWrap_t { Wrap_val : T; } .
+Record Wrap_t (T : Type) := mkWrap_t { Wrap_val : T; }.
-Arguments mkWrap_t {T} _ .
-Arguments Wrap_val {T} .
+Arguments mkWrap_t {T} _.
+Arguments Wrap_val {T}.
(** [constants::Wrap::{0}::new] *)
Definition wrap_new_fwd (T : Type) (val : T) : result (Wrap_t T) :=
- Return (mkWrap_t val) .
+ Return (mkWrap_t val)
+.
(** [constants::Y] *)
Definition y_body : result (Wrap_t i32) :=
- w <- wrap_new_fwd i32 (2 %i32); Return w
- .
-Definition y_c : Wrap_t i32 := y_body%global .
+ w <- wrap_new_fwd i32 (2%i32); Return w
+.
+Definition y_c : Wrap_t i32 := y_body%global.
(** [constants::unwrap_y] *)
Definition unwrap_y_fwd : result i32 :=
- match y_c with | mkWrap_t i => Return i end .
+ match y_c with | mkWrap_t i => Return i end
+.
(** [constants::YVAL] *)
-Definition yval_body : result i32 := i <- unwrap_y_fwd; Return i .
-Definition yval_c : i32 := yval_body%global .
+Definition yval_body : result i32 := i <- unwrap_y_fwd; Return i.
+Definition yval_c : i32 := yval_body%global.
(** [constants::get_z1::Z1] *)
-Definition get_z1_z1_body : result i32 := Return (3 %i32) .
-Definition get_z1_z1_c : i32 := get_z1_z1_body%global .
+Definition get_z1_z1_body : result i32 := Return (3%i32).
+Definition get_z1_z1_c : i32 := get_z1_z1_body%global.
(** [constants::get_z1] *)
-Definition get_z1_fwd : result i32 := Return get_z1_z1_c .
+Definition get_z1_fwd : result i32 := Return get_z1_z1_c.
(** [constants::add] *)
Definition add_fwd (a : i32) (b : i32) : result i32 :=
- i <- i32_add a b; Return i .
+ i <- i32_add a b; Return i
+.
(** [constants::Q1] *)
-Definition q1_body : result i32 := Return (5 %i32) .
-Definition q1_c : i32 := q1_body%global .
+Definition q1_body : result i32 := Return (5%i32).
+Definition q1_c : i32 := q1_body%global.
(** [constants::Q2] *)
-Definition q2_body : result i32 := Return q1_c .
-Definition q2_c : i32 := q2_body%global .
+Definition q2_body : result i32 := Return q1_c.
+Definition q2_c : i32 := q2_body%global.
(** [constants::Q3] *)
-Definition q3_body : result i32 := i <- add_fwd q2_c (3 %i32); Return i .
-Definition q3_c : i32 := q3_body%global .
+Definition q3_body : result i32 := i <- add_fwd q2_c (3%i32); Return i.
+Definition q3_c : i32 := q3_body%global.
(** [constants::get_z2] *)
Definition get_z2_fwd : result i32 :=
- i <- get_z1_fwd; i0 <- add_fwd i q3_c; i1 <- add_fwd q1_c i0; Return i1 .
+ i <- get_z1_fwd; i0 <- add_fwd i q3_c; i1 <- add_fwd q1_c i0; Return i1
+.
(** [constants::S1] *)
-Definition s1_body : result u32 := Return (6 %u32) .
-Definition s1_c : u32 := s1_body%global .
+Definition s1_body : result u32 := Return (6%u32).
+Definition s1_c : u32 := s1_body%global.
(** [constants::S2] *)
-Definition s2_body : result u32 := i <- incr_fwd s1_c; Return i .
-Definition s2_c : u32 := s2_body%global .
+Definition s2_body : result u32 := i <- incr_fwd s1_c; Return i.
+Definition s2_c : u32 := s2_body%global.
(** [constants::S3] *)
-Definition s3_body : result (Pair_t u32 u32) := Return p3_c .
-Definition s3_c : Pair_t u32 u32 := s3_body%global .
+Definition s3_body : result (Pair_t u32 u32) := Return p3_c.
+Definition s3_c : Pair_t u32 u32 := s3_body%global.
(** [constants::S4] *)
Definition s4_body : result (Pair_t u32 u32) :=
- p <- mk_pair1_fwd (7 %u32) (8 %u32); Return p
- .
-Definition s4_c : Pair_t u32 u32 := s4_body%global .
+ p <- mk_pair1_fwd (7%u32) (8%u32); Return p
+.
+Definition s4_c : Pair_t u32 u32 := s4_body%global.
End Constants .
diff --git a/tests/coq/misc/External__Funs.v b/tests/coq/misc/External__Funs.v
index cc9e9461..e7020040 100644
--- a/tests/coq/misc/External__Funs.v
+++ b/tests/coq/misc/External__Funs.v
@@ -4,11 +4,11 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Require Export External__Types .
-Import External__Types .
-Require Export External__Opaque .
-Import External__Opaque .
-Module External__Funs .
+Require Export External__Types.
+Import External__Types.
+Require Export External__Opaque.
+Import External__Opaque.
+Module External__Funs.
(** [external::swap] *)
Definition swap_fwd
@@ -20,7 +20,7 @@ Definition swap_fwd
p1 <- core_mem_swap_back1 T x y st st1;
let (st2, _) := p1 in
Return (st2, tt)
- .
+.
(** [external::swap] *)
Definition swap_back
@@ -34,7 +34,7 @@ Definition swap_back
p1 <- core_mem_swap_back1 T x y st st2;
let (_, y0) := p1 in
Return (st0, (x0, y0))
- .
+.
(** [external::test_new_non_zero_u32] *)
Definition test_new_non_zero_u32_fwd
@@ -44,15 +44,15 @@ Definition test_new_non_zero_u32_fwd
p0 <- core_option_option_unwrap_fwd Core_num_nonzero_non_zero_u32_t opt st0;
let (st1, nzu) := p0 in
Return (st1, nzu)
- .
+.
(** [external::test_vec] *)
Definition test_vec_fwd : result unit :=
let v := vec_new u32 in
- v0 <- vec_push_back u32 v (0 %u32);
+ v0 <- vec_push_back u32 v (0%u32);
let _ := v0 in
Return tt
- .
+.
(** Unit test for [external::test_vec] *)
Check (test_vec_fwd )%return.
@@ -67,7 +67,7 @@ Definition custom_swap_fwd
p1 <- core_mem_swap_back1 T x y st st1;
let (st2, _) := p1 in
Return (st2, x0)
- .
+.
(** [external::custom_swap] *)
Definition custom_swap_back
@@ -81,33 +81,34 @@ Definition custom_swap_back
p1 <- core_mem_swap_back1 T x y st st2;
let (_, y0) := p1 in
Return (st0, (ret, y0))
- .
+.
(** [external::test_custom_swap] *)
Definition test_custom_swap_fwd
(x : u32) (y : u32) (st : state) : result (state * unit) :=
- p <- custom_swap_fwd u32 x y st; let (st0, _) := p in Return (st0, tt) .
+ p <- custom_swap_fwd u32 x y st; let (st0, _) := p in Return (st0, tt)
+.
(** [external::test_custom_swap] *)
Definition test_custom_swap_back
(x : u32) (y : u32) (st : state) (st0 : state) :
result (state * (u32 * u32))
:=
- p <- custom_swap_back u32 x y st (1 %u32) st0;
+ p <- custom_swap_back u32 x y st (1%u32) st0;
let (st1, p0) := p in
let (x0, y0) := p0 in
Return (st1, (x0, y0))
- .
+.
(** [external::test_swap_non_zero] *)
Definition test_swap_non_zero_fwd
(x : u32) (st : state) : result (state * u32) :=
- p <- swap_fwd u32 x (0 %u32) st;
+ p <- swap_fwd u32 x (0%u32) st;
let (st0, _) := p in
- p0 <- swap_back u32 x (0 %u32) st st0;
+ p0 <- swap_back u32 x (0%u32) st st0;
let (st1, p1) := p0 in
let (x0, _) := p1 in
- if x0 s= 0 %u32 then Fail_ Failure else Return (st1, x0)
- .
+ if x0 s= 0%u32 then Fail_ Failure else Return (st1, x0)
+.
End External__Funs .
diff --git a/tests/coq/misc/External__Opaque.v b/tests/coq/misc/External__Opaque.v
index 19111a37..93652450 100644
--- a/tests/coq/misc/External__Opaque.v
+++ b/tests/coq/misc/External__Opaque.v
@@ -4,33 +4,33 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Require Export External__Types .
-Import External__Types .
-Module External__Opaque .
+Require Export External__Types.
+Import External__Types.
+Module External__Opaque.
(** [core::mem::swap] *)
Axiom core_mem_swap_fwd :
- forall(T : Type) , T -> T -> state -> result (state * unit)
- .
+ forall(T : Type), T -> T -> state -> result (state * unit)
+.
(** [core::mem::swap] *)
Axiom core_mem_swap_back0 :
- forall(T : Type) , T -> T -> state -> state -> result (state * T)
- .
+ forall(T : Type), T -> T -> state -> state -> result (state * T)
+.
(** [core::mem::swap] *)
Axiom core_mem_swap_back1 :
- forall(T : Type) , T -> T -> state -> state -> result (state * T)
- .
+ forall(T : Type), T -> T -> state -> state -> result (state * T)
+.
(** [core::num::nonzero::NonZeroU32::{14}::new] *)
Axiom core_num_nonzero_non_zero_u32_new_fwd
: u32 -> state -> result (state * (option Core_num_nonzero_non_zero_u32_t))
- .
+.
(** [core::option::Option::{0}::unwrap] *)
Axiom core_option_option_unwrap_fwd :
- forall(T : Type) , option T -> state -> result (state * T)
- .
+ forall(T : Type), option T -> state -> result (state * T)
+.
End External__Opaque .
diff --git a/tests/coq/misc/External__Types.v b/tests/coq/misc/External__Types.v
index 1513ec4a..f4f74272 100644
--- a/tests/coq/misc/External__Types.v
+++ b/tests/coq/misc/External__Types.v
@@ -4,10 +4,10 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Module External__Types .
+Module External__Types.
(** [core::num::nonzero::NonZeroU32] *)
-Axiom Core_num_nonzero_non_zero_u32_t : Type .
+Axiom Core_num_nonzero_non_zero_u32_t : Type.
(** The state type used in the state-error monad *)
Axiom state : Type.
diff --git a/tests/coq/misc/NoNestedBorrows.v b/tests/coq/misc/NoNestedBorrows.v
index 6d7f7987..7c5212b2 100644
--- a/tests/coq/misc/NoNestedBorrows.v
+++ b/tests/coq/misc/NoNestedBorrows.v
@@ -4,14 +4,14 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Module NoNestedBorrows .
+Module NoNestedBorrows.
(** [no_nested_borrows::Pair] *)
-Record Pair_t (T1 T2 : Type) := mkPair_t { Pair_x : T1; Pair_y : T2; } .
+Record Pair_t (T1 T2 : Type) := mkPair_t { Pair_x : T1; Pair_y : T2; }.
-Arguments mkPair_t {T1} {T2} _ _ .
-Arguments Pair_x {T1} {T2} .
-Arguments Pair_y {T1} {T2} .
+Arguments mkPair_t {T1} {T2} _ _.
+Arguments Pair_x {T1} {T2}.
+Arguments Pair_y {T1} {T2}.
(** [no_nested_borrows::List] *)
Inductive List_t (T : Type) :=
@@ -19,29 +19,22 @@ Inductive List_t (T : Type) :=
| ListNil : List_t T
.
-Arguments ListCons {T} _ _ .
-Arguments ListNil {T} .
+Arguments ListCons {T} _ _.
+Arguments ListNil {T}.
(** [no_nested_borrows::One] *)
-Inductive One_t (T1 : Type) := | OneOne : T1 -> One_t T1 .
+Inductive One_t (T1 : Type) := | OneOne : T1 -> One_t T1.
-Arguments OneOne {T1} _ .
+Arguments OneOne {T1} _.
(** [no_nested_borrows::EmptyEnum] *)
-Inductive Empty_enum_t := | EmptyEnumEmpty : Empty_enum_t .
-
-Arguments EmptyEnumEmpty .
+Inductive Empty_enum_t := | EmptyEnumEmpty : Empty_enum_t.
(** [no_nested_borrows::Enum] *)
-Inductive Enum_t := | EnumVariant1 : Enum_t | EnumVariant2 : Enum_t .
-
-Arguments EnumVariant1 .
-Arguments EnumVariant2 .
+Inductive Enum_t := | EnumVariant1 : Enum_t | EnumVariant2 : Enum_t.
(** [no_nested_borrows::EmptyStruct] *)
-Record Empty_struct_t := mkEmpty_struct_t { } .
-
-Arguments mkEmpty_struct_t .
+Record Empty_struct_t := mkEmpty_struct_t { }.
(** [no_nested_borrows::Sum] *)
Inductive Sum_t (T1 T2 : Type) :=
@@ -49,136 +42,148 @@ Inductive Sum_t (T1 T2 : Type) :=
| SumRight : T2 -> Sum_t T1 T2
.
-Arguments SumLeft {T1} {T2} _ .
-Arguments SumRight {T1} {T2} _ .
+Arguments SumLeft {T1} {T2} _.
+Arguments SumRight {T1} {T2} _.
(** [no_nested_borrows::neg_test] *)
-Definition neg_test_fwd (x : i32) : result i32 := i <- i32_neg x; Return i .
+Definition neg_test_fwd (x : i32) : result i32 := i <- i32_neg x; Return i.
(** [no_nested_borrows::add_test] *)
Definition add_test_fwd (x : u32) (y : u32) : result u32 :=
- i <- u32_add x y; Return i .
+ i <- u32_add x y; Return i
+.
(** [no_nested_borrows::subs_test] *)
Definition subs_test_fwd (x : u32) (y : u32) : result u32 :=
- i <- u32_sub x y; Return i .
+ i <- u32_sub x y; Return i
+.
(** [no_nested_borrows::div_test] *)
Definition div_test_fwd (x : u32) (y : u32) : result u32 :=
- i <- u32_div x y; Return i .
+ i <- u32_div x y; Return i
+.
(** [no_nested_borrows::div_test1] *)
Definition div_test1_fwd (x : u32) : result u32 :=
- i <- u32_div x 2 %u32; Return i .
+ i <- u32_div x 2%u32; Return i
+.
(** [no_nested_borrows::rem_test] *)
Definition rem_test_fwd (x : u32) (y : u32) : result u32 :=
- i <- u32_rem x y; Return i .
+ i <- u32_rem x y; Return i
+.
(** [no_nested_borrows::cast_test] *)
Definition cast_test_fwd (x : u32) : result i32 :=
- i <- scalar_cast U32 I32 x; Return i .
+ i <- scalar_cast U32 I32 x; Return i
+.
(** [no_nested_borrows::test2] *)
Definition test2_fwd : result unit :=
- i <- u32_add 23 %u32 44 %u32; let _ := i in Return tt .
+ i <- u32_add 23%u32 44%u32; let _ := i in Return tt
+.
(** Unit test for [no_nested_borrows::test2] *)
Check (test2_fwd )%return.
(** [no_nested_borrows::get_max] *)
Definition get_max_fwd (x : u32) (y : u32) : result u32 :=
- if x s>= y then Return x else Return y .
+ if x s>= y then Return x else Return y
+.
(** [no_nested_borrows::test3] *)
Definition test3_fwd : result unit :=
- x <- get_max_fwd (4 %u32) (3 %u32);
- y <- get_max_fwd (10 %u32) (11 %u32);
+ x <- get_max_fwd (4%u32) (3%u32);
+ y <- get_max_fwd (10%u32) (11%u32);
z <- u32_add x y;
- if negb (z s= 15 %u32) then Fail_ Failure else Return tt
- .
+ if negb (z s= 15%u32) then Fail_ Failure else Return tt
+.
(** Unit test for [no_nested_borrows::test3] *)
Check (test3_fwd )%return.
(** [no_nested_borrows::test_neg1] *)
Definition test_neg1_fwd : result unit :=
- y <- i32_neg (3 %i32);
- if negb (y s= (-3) %i32) then Fail_ Failure else Return tt
- .
+ y <- i32_neg (3%i32);
+ if negb (y s= (-3)%i32) then Fail_ Failure else Return tt
+.
(** Unit test for [no_nested_borrows::test_neg1] *)
Check (test_neg1_fwd )%return.
(** [no_nested_borrows::refs_test1] *)
Definition refs_test1_fwd : result unit :=
- if negb (1 %i32 s= 1 %i32) then Fail_ Failure else Return tt .
+ if negb (1%i32 s= 1%i32) then Fail_ Failure else Return tt
+.
(** Unit test for [no_nested_borrows::refs_test1] *)
Check (refs_test1_fwd )%return.
(** [no_nested_borrows::refs_test2] *)
Definition refs_test2_fwd : result unit :=
- if negb (2 %i32 s= 2 %i32)
+ if negb (2%i32 s= 2%i32)
then Fail_ Failure
else
- if negb (0 %i32 s= 0 %i32)
+ if negb (0%i32 s= 0%i32)
then Fail_ Failure
else
- if negb (2 %i32 s= 2 %i32)
+ if negb (2%i32 s= 2%i32)
then Fail_ Failure
- else if negb (2 %i32 s= 2 %i32) then Fail_ Failure else Return tt
- .
+ else if negb (2%i32 s= 2%i32) then Fail_ Failure else Return tt
+.
(** Unit test for [no_nested_borrows::refs_test2] *)
Check (refs_test2_fwd )%return.
(** [no_nested_borrows::test_list1] *)
-Definition test_list1_fwd : result unit := Return tt .
+Definition test_list1_fwd : result unit := Return tt.
(** Unit test for [no_nested_borrows::test_list1] *)
Check (test_list1_fwd )%return.
(** [no_nested_borrows::test_box1] *)
Definition test_box1_fwd : result unit :=
- let b := 1 %i32 in
+ let b := 1%i32 in
let x := b in
- if negb (x s= 1 %i32) then Fail_ Failure else Return tt
- .
+ if negb (x s= 1%i32) then Fail_ Failure else Return tt
+.
(** Unit test for [no_nested_borrows::test_box1] *)
Check (test_box1_fwd )%return.
(** [no_nested_borrows::copy_int] *)
-Definition copy_int_fwd (x : i32) : result i32 := Return x .
+Definition copy_int_fwd (x : i32) : result i32 := Return x.
(** [no_nested_borrows::test_unreachable] *)
Definition test_unreachable_fwd (b : bool) : result unit :=
- if b then Fail_ Failure else Return tt .
+ if b then Fail_ Failure else Return tt
+.
(** [no_nested_borrows::test_panic] *)
Definition test_panic_fwd (b : bool) : result unit :=
- if b then Fail_ Failure else Return tt .
+ if b then Fail_ Failure else Return tt
+.
(** [no_nested_borrows::test_copy_int] *)
Definition test_copy_int_fwd : result unit :=
- y <- copy_int_fwd (0 %i32);
- if negb (0 %i32 s= y) then Fail_ Failure else Return tt
- .
+ y <- copy_int_fwd (0%i32);
+ if negb (0%i32 s= y) then Fail_ Failure else Return tt
+.
(** Unit test for [no_nested_borrows::test_copy_int] *)
Check (test_copy_int_fwd )%return.
(** [no_nested_borrows::is_cons] *)
Definition is_cons_fwd (T : Type) (l : List_t T) : result bool :=
- match l with | ListCons t l0 => Return true | ListNil => Return false end .
+ match l with | ListCons t l0 => Return true | ListNil => Return false end
+.
(** [no_nested_borrows::test_is_cons] *)
Definition test_is_cons_fwd : result unit :=
let l := ListNil in
- b <- is_cons_fwd i32 (ListCons (0 %i32) l);
+ b <- is_cons_fwd i32 (ListCons (0%i32) l);
if negb b then Fail_ Failure else Return tt
- .
+.
(** Unit test for [no_nested_borrows::test_is_cons] *)
Check (test_is_cons_fwd )%return.
@@ -190,48 +195,51 @@ Definition split_list_fwd
| ListCons hd tl => Return (hd, tl)
| ListNil => Fail_ Failure
end
- .
+.
(** [no_nested_borrows::test_split_list] *)
Definition test_split_list_fwd : result unit :=
let l := ListNil in
- p <- split_list_fwd i32 (ListCons (0 %i32) l);
+ p <- split_list_fwd i32 (ListCons (0%i32) l);
let (hd, _) := p in
- if negb (hd s= 0 %i32) then Fail_ Failure else Return tt
- .
+ if negb (hd s= 0%i32) then Fail_ Failure else Return tt
+.
(** Unit test for [no_nested_borrows::test_split_list] *)
Check (test_split_list_fwd )%return.
(** [no_nested_borrows::choose] *)
Definition choose_fwd (T : Type) (b : bool) (x : T) (y : T) : result T :=
- if b then Return x else Return y .
+ if b then Return x else Return y
+.
(** [no_nested_borrows::choose] *)
Definition choose_back
(T : Type) (b : bool) (x : T) (y : T) (ret : T) : result (T * T) :=
- if b then Return (ret, y) else Return (x, ret) .
+ if b then Return (ret, y) else Return (x, ret)
+.
(** [no_nested_borrows::choose_test] *)
Definition choose_test_fwd : result unit :=
- z <- choose_fwd i32 true (0 %i32) (0 %i32);
- z0 <- i32_add z 1 %i32;
- if negb (z0 s= 1 %i32)
+ z <- choose_fwd i32 true (0%i32) (0%i32);
+ z0 <- i32_add z 1%i32;
+ if negb (z0 s= 1%i32)
then Fail_ Failure
else (
- p <- choose_back i32 true (0 %i32) (0 %i32) z0;
+ p <- choose_back i32 true (0%i32) (0%i32) z0;
let (x, y) := p in
- if negb (x s= 1 %i32)
+ if negb (x s= 1%i32)
then Fail_ Failure
- else if negb (y s= 0 %i32) then Fail_ Failure else Return tt)
- .
+ else if negb (y s= 0%i32) then Fail_ Failure else Return tt)
+.
(** Unit test for [no_nested_borrows::choose_test] *)
Check (choose_test_fwd )%return.
(** [no_nested_borrows::test_char] *)
Definition test_char_fwd : result char :=
- Return (char_of_byte Coq.Init.Byte.x61) .
+ Return (char_of_byte Coq.Init.Byte.x61)
+.
(** [no_nested_borrows::NodeElem] *)
Inductive Node_elem_t (T : Type) :=
@@ -244,57 +252,57 @@ with Tree_t (T : Type) :=
| TreeNode : T -> Node_elem_t T -> Tree_t T -> Tree_t T
.
-Arguments NodeElemCons {T} _ _ .
-Arguments NodeElemNil {T} .
+Arguments NodeElemCons {T} _ _.
+Arguments NodeElemNil {T}.
-Arguments TreeLeaf {T} _ .
-Arguments TreeNode {T} _ _ _ .
+Arguments TreeLeaf {T} _.
+Arguments TreeNode {T} _ _ _.
(** [no_nested_borrows::list_length] *)
Fixpoint list_length_fwd (T : Type) (l : List_t T) : result u32 :=
match l with
| ListCons t l1 =>
- i <- list_length_fwd T l1; i0 <- u32_add 1 %u32 i; Return i0
- | ListNil => Return (0 %u32)
+ i <- list_length_fwd T l1; i0 <- u32_add 1%u32 i; Return i0
+ | ListNil => Return (0%u32)
end
- .
+.
(** [no_nested_borrows::list_nth_shared] *)
Fixpoint list_nth_shared_fwd (T : Type) (l : List_t T) (i : u32) : result T :=
match l with
| ListCons x tl =>
- if i s= 0 %u32
+ if i s= 0%u32
then Return x
- else (i0 <- u32_sub i 1 %u32; t <- list_nth_shared_fwd T tl i0; Return t)
+ else (i0 <- u32_sub i 1%u32; t <- list_nth_shared_fwd T tl i0; Return t)
| ListNil => Fail_ Failure
end
- .
+.
(** [no_nested_borrows::list_nth_mut] *)
Fixpoint list_nth_mut_fwd (T : Type) (l : List_t T) (i : u32) : result T :=
match l with
| ListCons x tl =>
- if i s= 0 %u32
+ if i s= 0%u32
then Return x
- else (i0 <- u32_sub i 1 %u32; t <- list_nth_mut_fwd T tl i0; Return t)
+ else (i0 <- u32_sub i 1%u32; t <- list_nth_mut_fwd T tl i0; Return t)
| ListNil => Fail_ Failure
end
- .
+.
(** [no_nested_borrows::list_nth_mut] *)
Fixpoint list_nth_mut_back
(T : Type) (l : List_t T) (i : u32) (ret : T) : result (List_t T) :=
match l with
| ListCons x tl =>
- if i s= 0 %u32
+ if i s= 0%u32
then Return (ListCons ret tl)
else (
- i0 <- u32_sub i 1 %u32;
+ i0 <- u32_sub i 1%u32;
tl0 <- list_nth_mut_back T tl i0 ret;
Return (ListCons x tl0))
| ListNil => Fail_ Failure
end
- .
+.
(** [no_nested_borrows::list_rev_aux] *)
Fixpoint list_rev_aux_fwd
@@ -303,48 +311,48 @@ Fixpoint list_rev_aux_fwd
| ListCons hd tl => l <- list_rev_aux_fwd T tl (ListCons hd lo); Return l
| ListNil => Return lo
end
- .
+.
(** [no_nested_borrows::list_rev] *)
Definition list_rev_fwd_back (T : Type) (l : List_t T) : result (List_t T) :=
let li := mem_replace_fwd (List_t T) l ListNil in
l0 <- list_rev_aux_fwd T li ListNil;
Return l0
- .
+.
(** [no_nested_borrows::test_list_functions] *)
Definition test_list_functions_fwd : result unit :=
let l := ListNil in
- let l0 := ListCons (2 %i32) l in
- let l1 := ListCons (1 %i32) l0 in
- i <- list_length_fwd i32 (ListCons (0 %i32) l1);
- if negb (i s= 3 %u32)
+ let l0 := ListCons (2%i32) l in
+ let l1 := ListCons (1%i32) l0 in
+ i <- list_length_fwd i32 (ListCons (0%i32) l1);
+ if negb (i s= 3%u32)
then Fail_ Failure
else (
- i0 <- list_nth_shared_fwd i32 (ListCons (0 %i32) l1) (0 %u32);
- if negb (i0 s= 0 %i32)
+ i0 <- list_nth_shared_fwd i32 (ListCons (0%i32) l1) (0%u32);
+ if negb (i0 s= 0%i32)
then Fail_ Failure
else (
- i1 <- list_nth_shared_fwd i32 (ListCons (0 %i32) l1) (1 %u32);
- if negb (i1 s= 1 %i32)
+ i1 <- list_nth_shared_fwd i32 (ListCons (0%i32) l1) (1%u32);
+ if negb (i1 s= 1%i32)
then Fail_ Failure
else (
- i2 <- list_nth_shared_fwd i32 (ListCons (0 %i32) l1) (2 %u32);
- if negb (i2 s= 2 %i32)
+ i2 <- list_nth_shared_fwd i32 (ListCons (0%i32) l1) (2%u32);
+ if negb (i2 s= 2%i32)
then Fail_ Failure
else (
- ls <- list_nth_mut_back i32 (ListCons (0 %i32) l1) (1 %u32) (3 %i32);
- i3 <- list_nth_shared_fwd i32 ls (0 %u32);
- if negb (i3 s= 0 %i32)
+ ls <- list_nth_mut_back i32 (ListCons (0%i32) l1) (1%u32) (3%i32);
+ i3 <- list_nth_shared_fwd i32 ls (0%u32);
+ if negb (i3 s= 0%i32)
then Fail_ Failure
else (
- i4 <- list_nth_shared_fwd i32 ls (1 %u32);
- if negb (i4 s= 3 %i32)
+ i4 <- list_nth_shared_fwd i32 ls (1%u32);
+ if negb (i4 s= 3%i32)
then Fail_ Failure
else (
- i5 <- list_nth_shared_fwd i32 ls (2 %u32);
- if negb (i5 s= 2 %i32) then Fail_ Failure else Return tt))))))
- .
+ i5 <- list_nth_shared_fwd i32 ls (2%u32);
+ if negb (i5 s= 2%i32) then Fail_ Failure else Return tt))))))
+.
(** Unit test for [no_nested_borrows::test_list_functions] *)
Check (test_list_functions_fwd )%return.
@@ -352,90 +360,102 @@ Check (test_list_functions_fwd )%return.
(** [no_nested_borrows::id_mut_pair1] *)
Definition id_mut_pair1_fwd
(T1 T2 : Type) (x : T1) (y : T2) : result (T1 * T2) :=
- Return (x, y) .
+ Return (x, y)
+.
(** [no_nested_borrows::id_mut_pair1] *)
Definition id_mut_pair1_back
(T1 T2 : Type) (x : T1) (y : T2) (ret : (T1 * T2)) : result (T1 * T2) :=
- let (t, t0) := ret in Return (t, t0) .
+ let (t, t0) := ret in Return (t, t0)
+.
(** [no_nested_borrows::id_mut_pair2] *)
Definition id_mut_pair2_fwd
(T1 T2 : Type) (p : (T1 * T2)) : result (T1 * T2) :=
- let (t, t0) := p in Return (t, t0) .
+ let (t, t0) := p in Return (t, t0)
+.
(** [no_nested_borrows::id_mut_pair2] *)
Definition id_mut_pair2_back
(T1 T2 : Type) (p : (T1 * T2)) (ret : (T1 * T2)) : result (T1 * T2) :=
- let (t, t0) := ret in Return (t, t0) .
+ let (t, t0) := ret in Return (t, t0)
+.
(** [no_nested_borrows::id_mut_pair3] *)
Definition id_mut_pair3_fwd
(T1 T2 : Type) (x : T1) (y : T2) : result (T1 * T2) :=
- Return (x, y) .
+ Return (x, y)
+.
(** [no_nested_borrows::id_mut_pair3] *)
Definition id_mut_pair3_back'a
(T1 T2 : Type) (x : T1) (y : T2) (ret : T1) : result T1 :=
- Return ret .
+ Return ret
+.
(** [no_nested_borrows::id_mut_pair3] *)
Definition id_mut_pair3_back'b
(T1 T2 : Type) (x : T1) (y : T2) (ret : T2) : result T2 :=
- Return ret .
+ Return ret
+.
(** [no_nested_borrows::id_mut_pair4] *)
Definition id_mut_pair4_fwd
(T1 T2 : Type) (p : (T1 * T2)) : result (T1 * T2) :=
- let (t, t0) := p in Return (t, t0) .
+ let (t, t0) := p in Return (t, t0)
+.
(** [no_nested_borrows::id_mut_pair4] *)
Definition id_mut_pair4_back'a
(T1 T2 : Type) (p : (T1 * T2)) (ret : T1) : result T1 :=
- Return ret .
+ Return ret
+.
(** [no_nested_borrows::id_mut_pair4] *)
Definition id_mut_pair4_back'b
(T1 T2 : Type) (p : (T1 * T2)) (ret : T2) : result T2 :=
- Return ret .
+ Return ret
+.
(** [no_nested_borrows::StructWithTuple] *)
Record Struct_with_tuple_t (T1 T2 : Type) :=
-mkStruct_with_tuple_t
-{
+mkStruct_with_tuple_t {
Struct_with_tuple_p : (T1 * T2);
}
.
-Arguments mkStruct_with_tuple_t {T1} {T2} _ .
-Arguments Struct_with_tuple_p {T1} {T2} .
+Arguments mkStruct_with_tuple_t {T1} {T2} _.
+Arguments Struct_with_tuple_p {T1} {T2}.
(** [no_nested_borrows::new_tuple1] *)
Definition new_tuple1_fwd : result (Struct_with_tuple_t u32 u32) :=
- Return (mkStruct_with_tuple_t (1 %u32, 2 %u32)) .
+ Return (mkStruct_with_tuple_t (1%u32, 2%u32))
+.
(** [no_nested_borrows::new_tuple2] *)
Definition new_tuple2_fwd : result (Struct_with_tuple_t i16 i16) :=
- Return (mkStruct_with_tuple_t (1 %i16, 2 %i16)) .
+ Return (mkStruct_with_tuple_t (1%i16, 2%i16))
+.
(** [no_nested_borrows::new_tuple3] *)
Definition new_tuple3_fwd : result (Struct_with_tuple_t u64 i64) :=
- Return (mkStruct_with_tuple_t (1 %u64, 2 %i64)) .
+ Return (mkStruct_with_tuple_t (1%u64, 2%i64))
+.
(** [no_nested_borrows::StructWithPair] *)
Record Struct_with_pair_t (T1 T2 : Type) :=
-mkStruct_with_pair_t
-{
+mkStruct_with_pair_t {
Struct_with_pair_p : Pair_t T1 T2;
}
.
-Arguments mkStruct_with_pair_t {T1} {T2} _ .
-Arguments Struct_with_pair_p {T1} {T2} .
+Arguments mkStruct_with_pair_t {T1} {T2} _.
+Arguments Struct_with_pair_p {T1} {T2}.
(** [no_nested_borrows::new_pair1] *)
Definition new_pair1_fwd : result (Struct_with_pair_t u32 u32) :=
- Return (mkStruct_with_pair_t (mkPair_t (1 %u32) (2 %u32))) .
+ Return (mkStruct_with_pair_t (mkPair_t (1%u32) (2%u32)))
+.
(** [no_nested_borrows::test_constants] *)
Definition test_constants_fwd : result unit :=
@@ -443,21 +463,21 @@ Definition test_constants_fwd : result unit :=
match swt with
| mkStruct_with_tuple_t p =>
let (i, _) := p in
- if negb (i s= 1 %u32)
+ if negb (i s= 1%u32)
then Fail_ Failure
else (
swt0 <- new_tuple2_fwd;
match swt0 with
| mkStruct_with_tuple_t p0 =>
let (i0, _) := p0 in
- if negb (i0 s= 1 %i16)
+ if negb (i0 s= 1%i16)
then Fail_ Failure
else (
swt1 <- new_tuple3_fwd;
match swt1 with
| mkStruct_with_tuple_t p1 =>
let (i1, _) := p1 in
- if negb (i1 s= 1 %u64)
+ if negb (i1 s= 1%u64)
then Fail_ Failure
else (
swp <- new_pair1_fwd;
@@ -465,45 +485,46 @@ Definition test_constants_fwd : result unit :=
| mkStruct_with_pair_t p2 =>
match p2 with
| mkPair_t i2 i3 =>
- if negb (i2 s= 1 %u32) then Fail_ Failure else Return tt
+ if negb (i2 s= 1%u32) then Fail_ Failure else Return tt
end
end)
end)
end)
end
- .
+.
(** Unit test for [no_nested_borrows::test_constants] *)
Check (test_constants_fwd )%return.
(** [no_nested_borrows::test_weird_borrows1] *)
-Definition test_weird_borrows1_fwd : result unit := Return tt .
+Definition test_weird_borrows1_fwd : result unit := Return tt.
(** Unit test for [no_nested_borrows::test_weird_borrows1] *)
Check (test_weird_borrows1_fwd )%return.
(** [no_nested_borrows::test_mem_replace] *)
Definition test_mem_replace_fwd_back (px : u32) : result u32 :=
- let y := mem_replace_fwd u32 px (1 %u32) in
- if negb (y s= 0 %u32) then Fail_ Failure else Return (2 %u32)
- .
+ let y := mem_replace_fwd u32 px (1%u32) in
+ if negb (y s= 0%u32) then Fail_ Failure else Return (2%u32)
+.
(** [no_nested_borrows::test_shared_borrow_bool1] *)
Definition test_shared_borrow_bool1_fwd (b : bool) : result u32 :=
- if b then Return (0 %u32) else Return (1 %u32) .
+ if b then Return (0%u32) else Return (1%u32)
+.
(** [no_nested_borrows::test_shared_borrow_bool2] *)
-Definition test_shared_borrow_bool2_fwd : result u32 := Return (0 %u32) .
+Definition test_shared_borrow_bool2_fwd : result u32 := Return (0%u32).
(** [no_nested_borrows::test_shared_borrow_enum1] *)
Definition test_shared_borrow_enum1_fwd (l : List_t u32) : result u32 :=
match l with
- | ListCons i l0 => Return (1 %u32)
- | ListNil => Return (0 %u32)
+ | ListCons i l0 => Return (1%u32)
+ | ListNil => Return (0%u32)
end
- .
+.
(** [no_nested_borrows::test_shared_borrow_enum2] *)
-Definition test_shared_borrow_enum2_fwd : result u32 := Return (0 %u32) .
+Definition test_shared_borrow_enum2_fwd : result u32 := Return (0%u32).
End NoNestedBorrows .
diff --git a/tests/coq/misc/Paper.v b/tests/coq/misc/Paper.v
index d0c99883..616eed37 100644
--- a/tests/coq/misc/Paper.v
+++ b/tests/coq/misc/Paper.v
@@ -4,43 +4,46 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Module Paper .
+Module Paper.
(** [paper::ref_incr] *)
Definition ref_incr_fwd_back (x : i32) : result i32 :=
- x0 <- i32_add x 1 %i32; Return x0 .
+ x0 <- i32_add x 1%i32; Return x0
+.
(** [paper::test_incr] *)
Definition test_incr_fwd : result unit :=
- x <- ref_incr_fwd_back (0 %i32);
- if negb (x s= 1 %i32) then Fail_ Failure else Return tt
- .
+ x <- ref_incr_fwd_back (0%i32);
+ if negb (x s= 1%i32) then Fail_ Failure else Return tt
+.
(** Unit test for [paper::test_incr] *)
Check (test_incr_fwd )%return.
(** [paper::choose] *)
Definition choose_fwd (T : Type) (b : bool) (x : T) (y : T) : result T :=
- if b then Return x else Return y .
+ if b then Return x else Return y
+.
(** [paper::choose] *)
Definition choose_back
(T : Type) (b : bool) (x : T) (y : T) (ret : T) : result (T * T) :=
- if b then Return (ret, y) else Return (x, ret) .
+ if b then Return (ret, y) else Return (x, ret)
+.
(** [paper::test_choose] *)
Definition test_choose_fwd : result unit :=
- z <- choose_fwd i32 true (0 %i32) (0 %i32);
- z0 <- i32_add z 1 %i32;
- if negb (z0 s= 1 %i32)
+ z <- choose_fwd i32 true (0%i32) (0%i32);
+ z0 <- i32_add z 1%i32;
+ if negb (z0 s= 1%i32)
then Fail_ Failure
else (
- p <- choose_back i32 true (0 %i32) (0 %i32) z0;
+ p <- choose_back i32 true (0%i32) (0%i32) z0;
let (x, y) := p in
- if negb (x s= 1 %i32)
+ if negb (x s= 1%i32)
then Fail_ Failure
- else if negb (y s= 0 %i32) then Fail_ Failure else Return tt)
- .
+ else if negb (y s= 0%i32) then Fail_ Failure else Return tt)
+.
(** Unit test for [paper::test_choose] *)
Check (test_choose_fwd )%return.
@@ -51,54 +54,54 @@ Inductive List_t (T : Type) :=
| ListNil : List_t T
.
-Arguments ListCons {T} _ _ .
-Arguments ListNil {T} .
+Arguments ListCons {T} _ _.
+Arguments ListNil {T}.
(** [paper::list_nth_mut] *)
Fixpoint list_nth_mut_fwd (T : Type) (l : List_t T) (i : u32) : result T :=
match l with
| ListCons x tl =>
- if i s= 0 %u32
+ if i s= 0%u32
then Return x
- else (i0 <- u32_sub i 1 %u32; t <- list_nth_mut_fwd T tl i0; Return t)
+ else (i0 <- u32_sub i 1%u32; t <- list_nth_mut_fwd T tl i0; Return t)
| ListNil => Fail_ Failure
end
- .
+.
(** [paper::list_nth_mut] *)
Fixpoint list_nth_mut_back
(T : Type) (l : List_t T) (i : u32) (ret : T) : result (List_t T) :=
match l with
| ListCons x tl =>
- if i s= 0 %u32
+ if i s= 0%u32
then Return (ListCons ret tl)
else (
- i0 <- u32_sub i 1 %u32;
+ i0 <- u32_sub i 1%u32;
tl0 <- list_nth_mut_back T tl i0 ret;
Return (ListCons x tl0))
| ListNil => Fail_ Failure
end
- .
+.
(** [paper::sum] *)
Fixpoint sum_fwd (l : List_t i32) : result i32 :=
match l with
| ListCons x tl => i <- sum_fwd tl; i0 <- i32_add x i; Return i0
- | ListNil => Return (0 %i32)
+ | ListNil => Return (0%i32)
end
- .
+.
(** [paper::test_nth] *)
Definition test_nth_fwd : result unit :=
let l := ListNil in
- let l0 := ListCons (3 %i32) l in
- let l1 := ListCons (2 %i32) l0 in
- x <- list_nth_mut_fwd i32 (ListCons (1 %i32) l1) (2 %u32);
- x0 <- i32_add x 1 %i32;
- l2 <- list_nth_mut_back i32 (ListCons (1 %i32) l1) (2 %u32) x0;
+ let l0 := ListCons (3%i32) l in
+ let l1 := ListCons (2%i32) l0 in
+ x <- list_nth_mut_fwd i32 (ListCons (1%i32) l1) (2%u32);
+ x0 <- i32_add x 1%i32;
+ l2 <- list_nth_mut_back i32 (ListCons (1%i32) l1) (2%u32) x0;
i <- sum_fwd l2;
- if negb (i s= 7 %i32) then Fail_ Failure else Return tt
- .
+ if negb (i s= 7%i32) then Fail_ Failure else Return tt
+.
(** Unit test for [paper::test_nth] *)
Check (test_nth_fwd )%return.
@@ -107,10 +110,10 @@ Check (test_nth_fwd )%return.
Definition call_choose_fwd (p : (u32 * u32)) : result u32 :=
let (px, py) := p in
pz <- choose_fwd u32 true px py;
- pz0 <- u32_add pz 1 %u32;
+ pz0 <- u32_add pz 1%u32;
p0 <- choose_back u32 true px py pz0;
let (px0, _) := p0 in
Return px0
- .
+.
End Paper .
diff --git a/tests/coq/misc/PoloniusList.v b/tests/coq/misc/PoloniusList.v
index 6d6ea537..a45c77c5 100644
--- a/tests/coq/misc/PoloniusList.v
+++ b/tests/coq/misc/PoloniusList.v
@@ -4,7 +4,7 @@ Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Local Open Scope Primitives_scope.
-Module PoloniusList .
+Module PoloniusList.
(** [polonius_list::List] *)
Inductive List_t (T : Type) :=
@@ -12,8 +12,8 @@ Inductive List_t (T : Type) :=
| ListNil : List_t T
.
-Arguments ListCons {T} _ _ .
-Arguments ListNil {T} .
+Arguments ListCons {T} _ _.
+Arguments ListNil {T}.
(** [polonius_list::get_list_at_x] *)
Fixpoint get_list_at_x_fwd (ls : List_t u32) (x : u32) : result (List_t u32) :=
@@ -24,7 +24,7 @@ Fixpoint get_list_at_x_fwd (ls : List_t u32) (x : u32) : result (List_t u32) :=
else (l <- get_list_at_x_fwd tl x; Return l)
| ListNil => Return ListNil
end
- .
+.
(** [polonius_list::get_list_at_x] *)
Fixpoint get_list_at_x_back
@@ -36,6 +36,6 @@ Fixpoint get_list_at_x_back
else (tl0 <- get_list_at_x_back tl x ret; Return (ListCons hd tl0))
| ListNil => Return ret
end
- .
+.
End PoloniusList .
diff --git a/tests/fstar/betree/BetreeMain.Funs.fst b/tests/fstar/betree/BetreeMain.Funs.fst
index f6045dfd..f4ba7927 100644
--- a/tests/fstar/betree/BetreeMain.Funs.fst
+++ b/tests/fstar/betree/BetreeMain.Funs.fst
@@ -1139,8 +1139,8 @@ let rec betree_node_apply_messages_fwd
(node_id_cnt : betree_node_id_counter_t)
(msgs : betree_list_t (u64 & betree_message_t)) (st : state) :
Tot (result (state & unit))
- (decreases (betree_node_apply_messages_decreases self params node_id_cnt msgs
- st))
+ (decreases (
+ betree_node_apply_messages_decreases self params node_id_cnt msgs st))
=
begin match self with
| BetreeNodeInternal node ->
@@ -1229,8 +1229,8 @@ and betree_node_apply_messages_back
(node_id_cnt : betree_node_id_counter_t)
(msgs : betree_list_t (u64 & betree_message_t)) (st : state) :
Tot (result (betree_node_t & betree_node_id_counter_t))
- (decreases (betree_node_apply_messages_decreases self params node_id_cnt msgs
- st))
+ (decreases (
+ betree_node_apply_messages_decreases self params node_id_cnt msgs st))
=
begin match self with
| BetreeNodeInternal node ->
@@ -1329,8 +1329,8 @@ and betree_internal_flush_fwd
(node_id_cnt : betree_node_id_counter_t)
(content : betree_list_t (u64 & betree_message_t)) (st : state) :
Tot (result (state & (betree_list_t (u64 & betree_message_t))))
- (decreases (betree_internal_flush_decreases self params node_id_cnt content
- st))
+ (decreases (
+ betree_internal_flush_decreases self params node_id_cnt content st))
=
begin match
betree_list_partition_at_pivot_fwd betree_message_t content
@@ -1397,8 +1397,8 @@ and betree_internal_flush_back
(node_id_cnt : betree_node_id_counter_t)
(content : betree_list_t (u64 & betree_message_t)) (st : state) :
Tot (result (betree_internal_t & betree_node_id_counter_t))
- (decreases (betree_internal_flush_decreases self params node_id_cnt content
- st))
+ (decreases (
+ betree_internal_flush_decreases self params node_id_cnt content st))
=
begin match
betree_list_partition_at_pivot_fwd betree_message_t content
diff --git a/tests/fstar/betree_back_stateful/BetreeMain.Funs.fst b/tests/fstar/betree_back_stateful/BetreeMain.Funs.fst
index 6a2b7c09..1560624b 100644
--- a/tests/fstar/betree_back_stateful/BetreeMain.Funs.fst
+++ b/tests/fstar/betree_back_stateful/BetreeMain.Funs.fst
@@ -1222,8 +1222,8 @@ let rec betree_node_apply_messages_fwd
(node_id_cnt : betree_node_id_counter_t)
(msgs : betree_list_t (u64 & betree_message_t)) (st : state) :
Tot (result (state & unit))
- (decreases (betree_node_apply_messages_decreases self params node_id_cnt msgs
- st))
+ (decreases (
+ betree_node_apply_messages_decreases self params node_id_cnt msgs st))
=
begin match self with
| BetreeNodeInternal node ->
@@ -1318,8 +1318,8 @@ and betree_node_apply_messages_back'a
(node_id_cnt : betree_node_id_counter_t)
(msgs : betree_list_t (u64 & betree_message_t)) (st : state) (st0 : state) :
Tot (result (state & (betree_node_t & betree_node_id_counter_t)))
- (decreases (betree_node_apply_messages_decreases self params node_id_cnt msgs
- st))
+ (decreases (
+ betree_node_apply_messages_decreases self params node_id_cnt msgs st))
=
begin match self with
| BetreeNodeInternal node ->
@@ -1425,8 +1425,8 @@ and betree_node_apply_messages_back1
(node_id_cnt : betree_node_id_counter_t)
(msgs : betree_list_t (u64 & betree_message_t)) (st : state) (st0 : state) :
Tot (result (state & unit))
- (decreases (betree_node_apply_messages_decreases self params node_id_cnt msgs
- st))
+ (decreases (
+ betree_node_apply_messages_decreases self params node_id_cnt msgs st))
=
begin match self with
| BetreeNodeInternal node ->
@@ -1533,8 +1533,8 @@ and betree_internal_flush_fwd
(node_id_cnt : betree_node_id_counter_t)
(content : betree_list_t (u64 & betree_message_t)) (st : state) :
Tot (result (state & (betree_list_t (u64 & betree_message_t))))
- (decreases (betree_internal_flush_decreases self params node_id_cnt content
- st))
+ (decreases (
+ betree_internal_flush_decreases self params node_id_cnt content st))
=
begin match
betree_list_partition_at_pivot_fwd betree_message_t content
@@ -1619,10 +1619,11 @@ and betree_internal_flush_fwd
and betree_internal_flush_back'a
(self : betree_internal_t) (params : betree_params_t)
(node_id_cnt : betree_node_id_counter_t)
- (content : betree_list_t (u64 & betree_message_t)) (st : state) (st0 : state) :
+ (content : betree_list_t (u64 & betree_message_t)) (st : state) (st0 : state)
+ :
Tot (result (state & (betree_internal_t & betree_node_id_counter_t)))
- (decreases (betree_internal_flush_decreases self params node_id_cnt content
- st))
+ (decreases (
+ betree_internal_flush_decreases self params node_id_cnt content st))
=
begin match
betree_list_partition_at_pivot_fwd betree_message_t content
@@ -1716,10 +1717,11 @@ and betree_internal_flush_back'a
and betree_internal_flush_back1
(self : betree_internal_t) (params : betree_params_t)
(node_id_cnt : betree_node_id_counter_t)
- (content : betree_list_t (u64 & betree_message_t)) (st : state) (st0 : state) :
+ (content : betree_list_t (u64 & betree_message_t)) (st : state) (st0 : state)
+ :
Tot (result (state & unit))
- (decreases (betree_internal_flush_decreases self params node_id_cnt content
- st))
+ (decreases (
+ betree_internal_flush_decreases self params node_id_cnt content st))
=
begin match
betree_list_partition_at_pivot_fwd betree_message_t content