fact: Definition to5a l c l1 n := match l, c with | O1 :: l2, TO5 m m0 m1 => TO5 (to4a l2 m l1 n) m0 m1 | O2 :: l2, TO5 m0 m m1 => TO5 m0 (to4a l2 m l1 n) m1 | O3 :: l2, TO5 m0 m1 m => TO5 m0 m1 (to4a l2 m l1 n) | O1 :: l2, OTO5 => TO5 (to4a l2 OTO4 l1 n) OTO4 OTO4 | O2 :: l2, OTO5 => TO5 OTO4 (to4a l2 OTO4 l1 n) OTO4 | O3 :: l2, OTO5 => TO5 OTO4 OTO4 (to4a l2 OTO4 l1 n) | _, _ => c end.
imports: PrimInt63 Cyclic63 List BasicRubik