proposition: Lemma pi_fgadd : {morph \pi : D1 D2 / fgadd_r D1 D2 >-> fgadd D1 D2}.
proof: Proof. case=> [D1 redD1] [D2 redD2]; unlock fgadd; rewrite ?piE. apply/eqmodP/freegequivP => k /=. by rewrite !precoeff_reduce !precoeff_cat !precoeff_repr. Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq choice) mathcomp(fintype bigop order generic_quotient) mathcomp(ssralg ssrnum ssrint)