proposition: Lemma validtc4_inv l : validtc4 l -> exists p1, exists l1, l = p1 :: l1 /\ (p1 = C1 \/ p1 = C2 \/ p1 = C3 \/ p1 = C4) /\ (validtc5 l1)%Z.
proof: Proof. case l; clear l; try (intros HH; case HH; fail). intros p1 l1 [Hp1 Hl1]; exists p1; exists l1; split; auto. generalize Hp1; case p1; simpl; auto; intros HH; contradict HH; apply Nat.lt_nge; auto with arith. Qed.
imports: PrimInt63 Cyclic63 List BasicRubik