let mk_forward_composition current_st post =
let new_st,new_tr = mk_empty_pre_or_post_bycase () in
Array.iteri
(fun index assocs ->
let s,t = compose_assocs_post assocs post in
new_st.(index)<-s;
new_tr.(index)<-t
)
current_st;
(new_st,new_tr)