Module Tree_block.MemVal

module S_bounded_int : sig ... end
type qty =
  1. | Totally
  2. | Partially
val pp_qty : Ppx_deriving_runtime.Format.formatter -> qty -> Ppx_deriving_runtime.unit
val show_qty : qty -> Ppx_deriving_runtime.string
type !'a value_raw =
  1. | Init of 'a
  2. | Zeros
  3. | Uninit of qty
  4. | Any
  5. | Lazy
type value = rust_val value_raw
type syn = value_syn
val to_syn : t -> syn Soteria.Soteria_std.Seq.t option
val pp_value_raw : (Stdlib.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> Stdlib.Format.formatter -> 'a value_raw -> Ppx_deriving_runtime.unit
val pp_value : Stdlib.Format.formatter -> (Soteria_rust_lib.Typed.T.sint Typed.t, Soteria_rust_lib.Typed.T.sfloat Typed.t, Sptr.t) Rust_val.raw value_raw -> Ppx_deriving_runtime.unit
val pp : Stdlib.Format.formatter -> ((Soteria_rust_lib.Typed.T.sint Typed.t, Soteria_rust_lib.Typed.T.sfloat Typed.t, Sptr.t) Rust_val.raw value_raw * 'a) -> Ppx_deriving_runtime.unit
val pp_value_syn : Stdlib.Format.formatter -> (Soteria_rust_lib.Typed.Expr.t, Soteria_rust_lib.Typed.Expr.t, Sptr.syn) Rust_val.raw value_raw -> Ppx_deriving_runtime.unit
val pp_syn : Stdlib.Format.formatter -> (Soteria_rust_lib.Typed.Expr.t, Soteria_rust_lib.Typed.Expr.t, Sptr.syn) Rust_val.raw value_raw -> Ppx_deriving_runtime.unit
val split_rval : rust_val -> [< Soteria__Bv_values__Typed.T.any NonZero Zero ] Typed.t -> Soteria_rust_lib__Sptr.DecayMap.t -> ((([> Soteria__Bv_values__Typed.T.sint ] Soteria__Bv_values__Typed.t, 'a, 'b) Rust_val.raw * ([> Soteria__Bv_values__Typed.T.sint ] Soteria__Bv_values__Typed.t, 'c, 'd) Rust_val.raw) * Soteria_rust_lib__Sptr.DecayMap.t) Rustsymex.t
val split : at:Soteria_rust_lib.Typed.T.sint Typed.t -> (rust_val value_raw * 'a) -> ((([> Soteria__Bv_values__Typed.T.sint ] Soteria__Bv_values__Typed.t, 'b, 'c) Rust_val.raw value_raw * 'a, 'd) TB.Split_tree.t * (([> Soteria__Bv_values__Typed.T.sint ] Soteria__Bv_values__Typed.t, 'e, 'f) Rust_val.raw value_raw * 'a, 'g) TB.Split_tree.t) Sptr.DecayMapMonad.t
val mk_fix_typed : Charon.Types.ty -> unit -> Soteria_rust_lib__Sptr.DecayMap.t -> ((Soteria_rust_lib.Typed.Expr.t, Soteria_rust_lib.Typed.Expr.t, Sptr.syn) Rust_val.raw value_raw list * Soteria_rust_lib__Sptr.DecayMap.t) Rustsymex.t
val mk_fix_any : unit -> 'a value_raw list
val not_owned : tree -> tree
val owned : tree -> value -> tree
val consume : syn -> tree -> (tree, syn list) Sptr.DecayMapMonad.Consumer.t
val assert_exclusively_owned : 'a -> (unit, 'b, 'c) Sptr.DecayMapMonad.Result.t