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