Opaque App_e.
Definition Rev_e : Cobham :=
Rec
Zero
(Comp 2 App_e [Proj 2 1; Comp 2 (Succ false) [Zero_e 2]])
(Comp 2 App_e [Proj 2 1; Comp 2 (Succ true) [Zero_e 2]])
(Proj 1 0).

(* Specifications: *)
Lemma arity_Rev :
arity Rev_e = ok_arity 1.
Lemma rec_bounded_Rev :
rec_bounded Rev_e.
Lemma Rev_correct l :
Sem Rev_e l = List.rev (hd nil l).