proposition: Lemma G3_f m n: #|[set f:Ftype m n | monomial_le f ]| = 'C(n+m,m).
proof: Proof. move:n;elim: m; first by move => n; rewrite bin0 G3_c. move => n hrec. elim; first by rewrite add0n binn G3_d. by move => m hrec1;rewrite G3_a G3_b G3_e addnC hrec1 hrec !addnS binS. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype) mathcomp(ssrnat seq path div) mathcomp(fintype tuple finfun bigop finset binomial)