proposition: Lemma one_step_list_union_rotate : forall l1 l2, one_step_list (one_step (union _ (union _ R1 R2) R3)) l1 l2 <-> one_step_list (one_step (union _ (union _ R3 R1) R2)) l1 l2.
proof: Proof. intros l r. apply one_step_list_equiv. clear. intros l r. rewrite union_sym. rewrite union_assoc. reflexivity. Qed.
imports: Coq(Relations List Setoid) CoLoR(weaved_relation closure equational_theory_spec dp modular_dp terminaison)