Definition diagram := forall x x' y, RX x x' -> R x y -> exists2 y', RY y y' & R' x' y'.Definition strong_commute := diagram R S R S.Definition local_commute  := diagram R S (star R) (star S).Definition semi_commute   := diagram R S (star R) S.Definition commute        := diagram (star R) (star S) (star R) (star S).Definition confluent      := diagram (star R) (star R) (star R) (star R).

Theorem diagram_reverse: diagram R RX R' RY.