Opaque poly_BC_pow.
Definition poly_BC_mon (ar:nat)(m:mon) : BC :=
multl_e ar (nat2BC ar 0 (fst m) :: map (poly_BC_pow ar) (snd m)).

Lemma poly_BC_mon_correct :
forall ar m nl, pWF_mon ar m ->
length (sem (poly_BC_mon ar m) nl nil) = peval_mon m (map (@length _) nl).