Definition c0 := mksquare 0.Definition c1 := mksquare 1.Definition c2 := mksquare 2.Definition c3 := mksquare 3.Ltac get_inv elt l :=
  match l with
  | (_, (elt, ?x))  => x
  | (elt, ?x)  => x
  | (?x, _) => get_inv elt x
  end.Definition rot_inv := ((R1, R3), (R2, R2), (R3, R1)).

(* Specifications: *)
Lemma R1_inj : injective R1.
Lemma R2_inj : injective R2.
Lemma R3_inj : injective R3.