Opaque DivTwoPower'_e.
Definition DivTwoPower_e : Cobham :=
Comp 2 DivTwoPower'_e [Proj 2 1; Proj 2 0].

(* Specifications: *)
Lemma arity_DivTwoPower :
arity DivTwoPower_e = ok_arity 2.
Lemma rec_bounded_DivTwoPower :
rec_bounded DivTwoPower_e.
Lemma DivTwoPower_correct_bs : forall l,
Sem DivTwoPower_e l =
fun_power (length (hd nil (tl l))) (@tl _) (hd nil l).
Lemma length_DivTwoPower : forall l,
length (Sem DivTwoPower_e l) = length (hd nil l) - length (hd nil (tl l)).
Lemma skipn_tl : forall n (l : bs),
skipn (S n) l = tl (skipn n l).
Lemma DivTwoPower_correct : forall l,
Sem DivTwoPower_e l =
skipn (length (nth 1 l nil)) (nth 0 l nil).