let fresh_equal p = match p.equal with | [] -> raise Not_found | (x, y, rho) :: equal' -> let (z, tau) = find p y in let e' = Fact.Equal.make x z (Jst.dep2 rho tau) in p.equal <- equal'; e'