let pre_flattening (pre_st,pre_tr) =
let new_st,new_tr = mk_empty_pre_or_post () in
let new_st,new_tr = ref new_st, ref new_tr in
Array.iteri
(fun index assocs ->
new_st:=bool_array_or assocs !new_st ;
new_tr:=bool_array_or pre_tr.(index) !new_tr
)
pre_st;
(!new_st,!new_tr)