let define_array arr =
let pool = F.pool () in
let name = F.Arrayinfo.basename arr in
let path = "array" in
let xm = F.p_fresh pool "m" (Model M.tau_of_mem) in
let xr = F.p_fresh pool "r" (Model (Array arr)) in
let xa,a = M.forall_loc pool in
define_update name pool name path
(xm::xr::xa) (F.var xm) a (C_array arr) (F.var xr)