Ltac inv_tac :=
apply: esym (etrans _ (mul1g _)); apply: canRL (mulgK _) _;
let a := fresh "a" in apply/permP => a;
apply/eqP; rewrite permM !permE; case: a; do 4?case.

Lemma burnside_app_rot :
(square_coloring_number4 * 4 = n ^ 4 + n ^ 2 + 2 * n)%N.