summaryrefslogtreecommitdiff
path: root/tests/hol4/misc-polonius_list/poloniusListScript.sml
diff options
context:
space:
mode:
authorSon Ho2023-05-23 14:47:26 +0200
committerSon HO2023-06-04 21:54:38 +0200
commitdf03890491fc9c549376d26262b0be3707c00f59 (patch)
treec23c65b6b47449e5d7e5eec258370a550922e7ca /tests/hol4/misc-polonius_list/poloniusListScript.sml
parentf3d115399e86b6484f29e22589ddd058089cdd3b (diff)
Add the generated HOL4 files
Diffstat (limited to 'tests/hol4/misc-polonius_list/poloniusListScript.sml')
-rw-r--r--tests/hol4/misc-polonius_list/poloniusListScript.sml37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/hol4/misc-polonius_list/poloniusListScript.sml b/tests/hol4/misc-polonius_list/poloniusListScript.sml
new file mode 100644
index 00000000..dd631169
--- /dev/null
+++ b/tests/hol4/misc-polonius_list/poloniusListScript.sml
@@ -0,0 +1,37 @@
+(** THIS FILE WAS AUTOMATICALLY GENERATED BY AENEAS *)
+(** [polonius_list] *)
+open primitivesLib divDefLib
+
+val _ = new_theory "poloniusList"
+
+
+Datatype:
+ (** [polonius_list::List] *)
+ list_t = | ListCons 't list_t | ListNil
+End
+
+val [get_list_at_x_fwd_def] = DefineDiv ‘
+ (** [polonius_list::get_list_at_x] *)
+ get_list_at_x_fwd (ls : u32 list_t) (x : u32) : u32 list_t result =
+ (case ls of
+ | ListCons hd tl =>
+ if hd = x then Return (ListCons hd tl) else get_list_at_x_fwd tl x
+ | ListNil => Return ListNil)
+’
+
+val [get_list_at_x_back_def] = DefineDiv ‘
+ (** [polonius_list::get_list_at_x] *)
+ get_list_at_x_back
+ (ls : u32 list_t) (x : u32) (ret : u32 list_t) : u32 list_t result =
+ (case ls of
+ | ListCons hd tl =>
+ if hd = x
+ then Return ret
+ else (do
+ tl0 <- get_list_at_x_back tl x ret;
+ Return (ListCons hd tl0)
+ od)
+ | ListNil => Return ret)
+’
+
+val _ = export_theory ()