proposition: Lemma norm_algcrealE (x : algcreal) : (norm_algcreal x == `| x |)%CR.
proof: Proof. rewrite /norm_algcreal /le_algcreal; case: ltVge_algcreal_dec => /=. move=> x_lt0; apply: eq_crealP; exists_big_modulus m F. move=> e i e_gt0 hi /=; rewrite [`|x i|]ler0_norm ?subrr ?normr0 //. by rewrite ltW // [_ < 0%CR i]creal_lt_always. by close. move=> /(@le_creal_neqVlt zero_algcreal) /= []. by move<-; apply: eq_crealP; exists m0=> * /=; rewrite !(normr0, subrr). move=> x_gt0; apply: eq_crealP; exists_big_modulus m F. move=> e i e_gt0 hi /=; rewrite [`|x i|]ger0_norm ?subrr ?normr0 //. by rewrite ltW // creal_gt0_always. by close. 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)