(** Various properties *)

(* Specifications: *)
Lemma rev_rev {T} (l : seq T) : rev (rev l) = l.
Lemma head_rev {T} (x0 : T) (l : seq T) :
head x0 (rev l) = last x0 l.
Lemma last_rev {T} (x0 : T) (l : seq T) :
last x0 (rev l) = head x0 l.
Lemma last_unzip1 {S T} x0 y0 (s : seq (S * T)) :
last x0 (unzip1 s) = fst (last (x0,y0) s).