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).

Lemma Rev_correct l :
Sem Rev_e l = List.rev (hd nil l).