let congr_close_up g p touched = let inter = function [] -> (ST.empty, SA.empty) | rx::l -> L.fold_left (fun acc x ->inter_tpl acc (find x g))(find rx g) l in L.fold_left (fun (st,sa) tch -> union_tpl (st,sa)(inter (leaves tch))) (find p g) touched