intros P z Hz IH x Hxz.
apply clos_rt_rt1n_iff in Hxz.
elim Hxz using rt1n_ind_right; auto.
clear x Hxz.
intros x y Hxy Hyz Hy.
apply clos_rt_rt1n_iff in Hyz.
eauto.
Qed.
(** Direct reflexive-symmetric-transitive closure is equivalent to transitivity by symmetric left-step extension *)

Lemma clos_rst1n_trans : forall x y z, clos_refl_sym_trans_1n R x y ->
clos_refl_sym_trans_1n R y z -> clos_refl_sym_trans_1n R x z.