fact: Definition to3a l c l1 n := match l, c with | O1 :: l2, TO3 m m0 m1 => TO3 (to2a l2 m l1 n) m0 m1 | O2 :: l2, TO3 m0 m m1 => TO3 m0 (to2a l2 m l1 n) m1 | O3 :: l2, TO3 m0 m1 m => TO3 m0 m1 (to2a l2 m l1 n) | O1 :: l2, OTO3 => TO3 (to2a l2 OTO2 l1 n) OTO2 OTO2 | O2 :: l2, OTO3 => TO3 OTO2 (to2a l2 OTO2 l1 n) OTO2 | O3 :: l2, OTO3 => TO3 OTO2 OTO2 (to2a l2 OTO2 l1 n) | _, _ => c end.
imports: PrimInt63 Cyclic63 List BasicRubik