Notation infE := (sameP afix1P eqP).

(* Specifications: *)
Lemma F_s05 :
'Fix_to_g[s05] = [set x | (col1 x == col4 x) && (col2 x == col3 x)].
Lemma F_s14 :
'Fix_to_g[s14]= [set x | (col0 x == col5 x) && (col2 x == col3 x)].
Lemma r05_inv : r05^-1 = r50.
Lemma F_r05 : 'Fix_to_g[r05]=
[set x | (col1 x == col2 x) && (col2 x == col3 x)
&& (col3 x == col4 x)].
Lemma F_r50 : 'Fix_to_g[r50]=
[set x | (col1 x == col2 x) && (col2 x == col3 x)
&& (col3 x == col4 x)].
Lemma F_r23 : 'Fix_to_g[r23] =
[set x | (col0 x == col1 x) && (col1 x == col4 x)
&& (col4 x == col5 x)].
Lemma F_r32 : 'Fix_to_g[r32] =
[set x | (col0 x == col1 x) && (col1 x == col4 x)
&& (col4 x == col5 x)].
Lemma F_r14 : 'Fix_to_g[r14] =
[set x | (col0 x == col2 x) && (col2 x == col3 x) && (col3 x == col5 x)].
Lemma F_r41 : 'Fix_to_g[r41] =
[set x | (col0 x == col2 x) && (col2 x == col3 x) && (col3 x == col5 x)].
Lemma F_r024 : 'Fix_to_g[r024] =
[set x | (col0 x == col4 x) && (col4 x == col2  x) && (col1 x == col3 x)
&& (col3 x == col5 x) ].
Lemma F_r042 : 'Fix_to_g[r042] =
[set x | (col0 x == col4 x) && (col4 x == col2  x) && (col1 x == col3 x)
&& (col3 x == col5 x)].
Lemma F_r012 : 'Fix_to_g[r012] =
[set x | (col0 x == col2 x) && (col2 x == col1  x) && (col3 x == col4 x)
&& (col4 x == col5 x)].
Lemma F_r021 : 'Fix_to_g[r021] =
[set x | (col0 x == col2 x) && (col2 x == col1  x) && (col3 x == col4 x)
&& (col4 x == col5 x)].
Lemma F_r031 : 'Fix_to_g[r031] =
[set x | (col0 x == col3 x) && (col3 x == col1  x) && (col2 x == col4 x)
&& (col4 x == col5 x)].
Lemma F_r013 : 'Fix_to_g[r013] =
[set x | (col0 x == col3 x) && (col3 x == col1  x) && (col2 x == col4 x)
&& (col4 x == col5 x)].
Lemma F_r043 : 'Fix_to_g[r043] =
[set x | (col0 x == col4 x) && (col4 x == col3  x) && (col1 x == col2 x)
&& (col2 x == col5 x)].
Lemma F_r034 : 'Fix_to_g[r034] =
[set x | (col0 x == col4 x) && (col4 x == col3  x) && (col1 x == col2 x)
&& (col2 x == col5 x)].
Lemma F_s1 : 'Fix_to_g[s1] =
[set x | (col0 x == col5 x) && (col1 x == col2  x) && (col3 x == col4 x)].
Lemma F_s2 : 'Fix_to_g[s2] =
[set x | (col0 x == col5 x) && (col1 x == col3  x) && (col2 x == col4 x)].
Lemma F_s3 : 'Fix_to_g[s3] =
[set x | (col0 x == col1 x) && (col2 x == col3  x) && (col4 x == col5 x)].
Lemma F_s4 : 'Fix_to_g[s4] =
[set x | (col0 x == col4 x) && (col1 x == col5  x) && (col2 x == col3 x)].
Lemma F_s5 : 'Fix_to_g[s5] =
[set x | (col0 x == col2 x) && (col1 x == col4  x) && (col3 x == col5 x)].
Lemma F_s6 : 'Fix_to_g[s6] =
[set x | (col0 x == col3 x) && (col1 x == col4  x) && (col2 x == col5 x)].
Lemma uniq4_uniq6 : forall x y z t : cube,
uniq [:: x; y; z; t] -> exists u, exists v, uniq [:: x; y; z; t; u; v].
Lemma card_n4 : forall x y z t : cube, uniq [:: x; y; z; t] ->
#|[set p : col_cubes | (p x == p y) && (p z == p t)]| = (n ^ 4)%N.
Lemma card_n3_3 : forall x y z t: cube, uniq [:: x; y; z; t] ->
#|[set p : col_cubes | (p x == p y) && (p y == p z)&& (p z == p t)]|
= (n ^ 3)%N.
Lemma card_n2_3 : forall x y z t u v: cube, uniq [:: x; y; z; t; u; v] ->
#|[set p : col_cubes | (p x == p y) && (p y == p z)&& (p t == p u )
&& (p u== p v)]|  = (n ^ 2)%N.
Lemma card_n3s : forall x y z t u v: cube, uniq [:: x; y; z; t; u; v] ->
#|[set p : col_cubes | (p x == p y) && (p z == p t)&& (p u == p v )]|
= (n ^ 3)%N.
Lemma burnside_app_iso3 :
(cube_coloring_number24 * 24 =
n ^ 6 + 6 * n ^ 3 + 3 * n ^ 4 + 8 * (n ^ 2)  + 6 * n ^ 3)%N.