diff options
author | Son Ho | 2023-05-23 14:47:26 +0200 |
---|---|---|
committer | Son HO | 2023-06-04 21:54:38 +0200 |
commit | df03890491fc9c549376d26262b0be3707c00f59 (patch) | |
tree | c23c65b6b47449e5d7e5eec258370a550922e7ca /tests/hol4/misc-polonius_list/poloniusListScript.sml | |
parent | f3d115399e86b6484f29e22589ddd058089cdd3b (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.sml | 37 |
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 () |