val make :
node:'a Soteria__Sym_states__Tree_block.node ->
range:('b * 'b) ->
?children:
(('a, 'b) Soteria__Sym_states__Tree_block.tree
* ('a, 'b) Soteria__Sym_states__Tree_block.tree) ->
unit ->
('a, 'b) Soteria__Sym_states__Tree_block.treeval is_empty : ('a, 'b) tree -> boolval not_owned : ('a * 'a) -> ('b, 'a) Soteria__Sym_states__Tree_block.treeval map_leaves :
('a, 'b) tree ->
(('a, 'b) tree ->
Cerb_location.t ->
((('a, 'b) tree, 'c, 'd) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t) ->
Cerb_location.t ->
((('a, 'b) tree, 'c, 'd) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval iter_leaves_rev : ('a, 'b) tree -> (('a, 'b) tree -> unit) -> unitval of_children_s :
left:(MemVal.t, 'a) tree ->
right:(MemVal.t, 'a) tree ->
Cerb_location.t ->
((MemVal.t, 'a) tree * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval of_children :
'a ->
left:(MemVal.t, 'b) tree ->
right:(MemVal.t, 'b) tree ->
Cerb_location.t ->
((MemVal.t, 'b) tree * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval with_children :
('a, 'b) tree ->
left:('a, 'b) Soteria__Sym_states__Tree_block.tree ->
right:('a, 'b) Soteria__Sym_states__Tree_block.tree ->
Cerb_location.t ->
(('a, 'b) tree * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval split :
range:Range.t ->
(MemVal.t, sint) tree ->
Cerb_location.t ->
((Node.t * t * t) * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval add_to_the_right :
(MemVal.t, sint) tree ->
(MemVal.t, sint) tree ->
Cerb_location.t ->
(t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval add_to_the_left :
(MemVal.t, sint) tree ->
(MemVal.t, sint) tree ->
Cerb_location.t ->
(t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval (let*) :
(Cerb_location.t ->
(('a, 'b, 'c) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t) ->
('a ->
Cerb_location.t ->
(('d, 'b, 'c) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t) ->
Cerb_location.t ->
(('d, 'b, 'c) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval (let+) :
(Cerb_location.t ->
(('a, 'b, 'c) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t) ->
('a -> 'd) ->
Cerb_location.t ->
(('d, 'b, 'c) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval (let*^) :
(Cerb_location.t ->
('a * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t) ->
('a ->
Cerb_location.t ->
(('b, 'c, 'd) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t) ->
Cerb_location.t ->
(('b, 'c, 'd) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval (let+^) :
(Cerb_location.t ->
('a * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t) ->
('a -> 'b) ->
Cerb_location.t ->
(('b, 'c, 'd) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval frame_range :
t ->
replace_node:
(t ->
Cerb_location.t ->
((t, 'b, 'c) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t) ->
rebuild_parent:
((MemVal.t, sint) tree ->
left:t ->
right:t ->
Cerb_location.t ->
((MemVal.t, sint) tree * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t) ->
Range.t ->
Cerb_location.t ->
((t * t, 'b, 'c) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).tval put_raw :
t ->
t ->
Cerb_location.t ->
((unit * t, 'a, 'b) Soteria.Symex.Compo_res.t * Cerb_location.t)
Soteria__Symex.Make(Soteria.Bv_values.Bv_solver.Z3_solver).t