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'