proposition: Lemma root_mul_algcreal (x y : algcreal) : ((annul_creal (div_algcreal x (inv_algcreal y))).[x * y] == 0)%CR.
proof: Proof. rewrite /div_algcreal /inv_algcreal. case: (eq_algcreal_dec y)=> [->|y_neq0]; apply: is_root_annul_creal. rewrite mul_creal0; case: eq_algcreal_dec=> // neq_00. by move: (eq_creal_refl neq_00). case: eq_algcreal_dec=> /= [yV_eq0|yV_neq0]. have: (y * y_neq0^-1 == 0)%CR by rewrite yV_eq0 mul_creal0. by rewrite div_creal_creal=> /eq_creal_cst; rewrite oner_eq0. case: simplify_algcreal=> y' py'0_neq0 [y'_neq0 /= eq_yy']. rewrite -(@eq_creal_inv _ _ _ yV_neq0) //. by apply: eq_crealP; exists m0=> * /=; rewrite invrK subrr normr0. Qed.
imports: HB(structures) mathcomp.ssreflect.ssreflect mathcomp(ssrfun ssrbool eqtype ssrnat seq choice fintype) mathcomp(bigop order ssralg ssrnum ssrint rat poly polydiv polyorder) mathcomp(perm matrix mxpoly polyXY binomial generic_quotient) mathcomp(cauchyreals separable zmodp bigenough)