Transparent f.
Opaque Mult_e.
Opaque Plus_e.
Opaque App_e.

(* Specifications: *)
Lemma rec_simulation_correct : forall (e : Cobham) n,
arity e = ok_arity n ->
forall xl w,
rec_bounded e ->
length xl = n ->
peval (rec_simulation n e) (map (@length _) xl) <= length w ->
Sem e xl = sem (Cobham_to_BC' n e) [w] xl.