Definition rotate {A} (l : list A) n m := sublist (m - n) (Zlength l) l ++
sublist 0 (m - n) l.

Lemma Znth_head : forall reqs head m, Zlength reqs <= m -> 0 <= head < m ->
Zlength reqs > 0 ->
Znth head (rotate (complete m reqs) head m) = Znth 0 reqs.