(** THIS FILE WAS AUTOMATICALLY GENERATED BY AENEAS *) (** [polonius_list] *) module PoloniusList open Primitives #set-options "--z3rlimit 50 --fuel 1 --ifuel 1" (** [polonius_list::List] Source: 'src/polonius_list.rs', lines 3:0-3:16 *) type list_t (t : Type0) = | List_Cons : t -> list_t t -> list_t t | List_Nil : list_t t (** [polonius_list::get_list_at_x]: Source: 'src/polonius_list.rs', lines 13:0-13:76 *) let rec get_list_at_x (ls : list_t u32) (x : u32) : result ((list_t u32) & (list_t u32 -> result (list_t u32))) = begin match ls with | List_Cons hd tl -> if hd = x then Return (List_Cons hd tl, Return) else let* (l, get_list_at_x_back) = get_list_at_x tl x in let back_'a = fun ret -> let* tl1 = get_list_at_x_back ret in Return (List_Cons hd tl1) in Return (l, back_'a) | List_Nil -> Return (List_Nil, Return) end