proposition: Lemma mcoeff_mesym (k : nat) m : ('s_k)@_m = (mechar k m)%:R.
proof: Proof. rewrite mecharP; case: (altP existsP) => /= [[h /andP[/eqP-> /eqP<-]]|]. rewrite mesymE raddf_sum (bigD1 h) //= mcoeffX eqxx big1 ?addr0 //. move=> h' /andP[_ ne_h]; rewrite mcoeffX -[0]/0%:R. by congr _%:R; apply/eqP; rewrite eqb0 inj_eq. rewrite negb_exists=> /forallP /= ne. rewrite mesymE raddf_sum big1 //= => h cardh; have := ne h. by rewrite cardh andbT mcoeffX; case: eqVneq. Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq path) mathcomp(choice fintype tuple finfun bigop finset binomial) mathcomp(order fingroup perm ssralg zmodp poly ssrint) mathcomp(matrix vector) mathcomp(bigenough) ssrcomplements freeg