Definition rotations := [set id1; r1; r2; r3].

(* Specifications: *)
Lemma rot_eq_c0 : forall r s : {perm square},
is_rot r -> is_rot s -> r c0 = s c0 -> r = s.
Lemma rot_r1 : forall r, is_rot r -> r = r1 ^+ (r c0).
Lemma rotations_is_rot : forall r, r \in rotations -> is_rot r.
Lemma rot_is_rot : rot = rotations.
Definition Sh (sc : square) : square := tnth [tuple c1; c0; c3; c2] sc.