let rec collect_imply ps = function | Fol.Pimplies(a,b) -> collect_and (collect_imply ps b) a | p -> p :: ps