Section EUTTG_principles.
Context {E : Type -> Type} {R1 R2 : Type} (RR : R1 -> R2 -> Prop).
Local Notation euttG := (@euttG E R1 R2 RR).
(* Make new hypotheses *)
(* Process itrees *)
(* Drop weak hypotheses for general rewriting *)
(* Make a weakly guarded progress *)
(* Make a strongly guarded progress *)

Lemma euttG_vis: forall rH rL gL gH u (e: E u) k1 k2,
(forall v, euttG gH gH gH gH (k1 v) (k2 v)) -> euttG rH rL gL gH (Vis e k1) (Vis e k2).