proposition: Lemma encode_algdomK : pcancel encode_algdom decode_algdom.
proof: Proof. case=> p c r monic_p r_ge0 hp /=; rewrite polyseqK. do 3?[case: eqP; rewrite ?monic_p ?r_ge0 ?monic_p //] => monic_p' r_ge0' hp'. by congr (Some (AlgDom _ _ _)); apply: bool_irrelevance. 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)