Opaque Mult_e.
Fixpoint Multl_e (ar:nat)(el:list Cobham) : Cobham :=
match el with
| nil => One_e ar
| e' :: el' => Comp ar Mult_e [e'; Multl_e ar el']
end.

Lemma Multl_correct : forall ar el l,
length (Sem (Multl_e ar el) l) =
multl (map (fun e => length (Sem e l)) el).