fsdoc: no-summary-found
fsdoc: no-comment-found
*** Global ST (GST) effect with put, get, witness, and recall ****typeabbrev WARNING: this effect is unsafe, for C/C++ extraction it shall only be used by
code that would later extract to OCaml or by library functions
**** defining predicates for equal refs in some regions *****typeabbrev typeabbrev typeabbrev typeabbrev typeabbrev typeabbrev val push_frame:uu___80:unit -> (Unsafe unit ((requires ((fun m -> True)))) ((ensures ((fun (m0:mem) _ (m1:mem) -> fresh_frame m0 m1)))))Pushes a new empty frame on the stack *
val pop_frame:uu___81:unit -> (Unsafe unit ((requires ((fun m -> poppable m)))) ((ensures ((fun (m0:mem) _ (m1:mem) -> /\(/\(poppable m0, ==(m1, pop m0)), popped m0 m1))))))Removes old frame from the stack *
val salloc:#a:Type -> #rel:preorder a -> init:a -> (StackInline (mstackref a rel) ((requires ((fun m -> is_stack_region (get_tip m))))) ((ensures salloc_post init)))val op_Colon_Equals:#a:Type -> #rel:preorder a -> r:mreference a rel -> v:a -> (STL unit ((requires ((fun m -> /\(is_live_for_rw_in r m, rel (HS.sel m r) v))))) ((ensures (assign_post r v))))val op_Bang:#a:Type -> #rel:preorder a -> r:mreference a rel -> (Stack a ((requires ((fun m -> is_live_for_rw_in r m)))) ((ensures (deref_post r))))val get:uu___82:unit -> (Stack mem ((requires ((fun m -> True)))) ((ensures ((fun m0 x m1 -> /\(==(m0, x), ==(m1, m0)))))))val recall:#a:Type -> #rel:preorder a -> r:r:mreference a rel:{not (HS.is_mm r)} -> (Stack unit ((requires ((fun m -> \/(is_eternal_region (HS.frameOf r), contains_region m (HS.frameOf r)))))) ((ensures ((fun m0 _ m1 -> /\(==(m0, m1), contains m1 r))))))val recall_region:i:i:rid:{is_eternal_region i} -> (Stack unit ((requires ((fun m -> True)))) ((ensures ((fun m0 _ m1 -> /\(==(m0, m1), is_in i get_hmap m1)))))) MR witness etc. ***** Begin: preferred API for witnessing and recalling predicates ********* End: preferred API for witnessing and recalling predicates ********* logical properties of witnessed ****** Support for dynamic regions **