proposition: Lemma CNF_prod_pr3 x y: \0o <o x -> limit_ordinal y -> x *o y = oopow (odegree x) *o y.
proof: Proof. move=> xnz ly; move:(proj32_1 xnz) => ox. have oy:=(proj31 ly). move/(limit_ordinal_P4 oy): ly => [z /proj32_1 oz yv]. have ot := (OS_pow OS_omega (OS_degree ox)). by rewrite yv (oprodA ox OS_omega oz) (CNF_prod_pr2bis xnz) (oprodA ot OS_omega oz). Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)