fact: Definition tc5a l c n := match l, c with | C1 :: l1, TC5 m m0 m1 m2 m3 => TC5 (tc6a l1 m n) m0 m1 m2 m3 | C2 :: l1, TC5 m0 m m1 m2 m3 => TC5 m0 (tc6a l1 m n) m1 m2 m3 | C3 :: l1, TC5 m0 m1 m m2 m3 => TC5 m0 m1 (tc6a l1 m n) m2 m3 | C4 :: l1, TC5 m0 m1 m2 m m3 => TC5 m0 m1 m2 (tc6a l1 m n) m3 | C5 :: l1, TC5 m0 m1 m2 m3 m => TC5 m0 m1 m2 m3 (tc6a l1 m n) | C1 :: l1, OTC5 => TC5 (tc6a l1 OTC6 n) OTC6 OTC6 OTC6 OTC6 | C2 :: l1, OTC5 => TC5 OTC6 (tc6a l1 OTC6 n) OTC6 OTC6 OTC6 | C3 :: l1, OTC5 => TC5 OTC6 OTC6 (tc6a l1 OTC6 n) OTC6 OTC6 | C4 :: l1, OTC5 => TC5 OTC6 OTC6 OTC6 (tc6a l1 OTC6 n) OTC6 | C5 :: l1, OTC5 => TC5 OTC6 OTC6 OTC6 OTC6 (tc6a l1 OTC6 n) | _, _ => c end.
imports: PrimInt63 Cyclic63 List BasicRubik