let ancestor_of n s = (* not (List.exists (fun (_,anc) -> n == anc) s.t_from) *) (* List.exists (fun (_,_,anc) -> ArrayAtom.equal n.t_arru anc.t_arru) s.t_from *) List.exists (fun (_, _, ps) -> n.tag = ps.tag) s.from