(** ** first and last pair *)
Definition SF_head (y0 : T) (s : SF_seq) := (SF_h s, head y0 (SF_ly s)).
Definition SF_behead (s : SF_seq) :=
mkSF_seq (head (SF_h s) (unzip1 (SF_t s))) (behead (SF_t s)).
Definition SF_last y0 (s : SF_seq) : (R*T) :=
last (SF_h s,y0) (SF_t s).
Definition SF_belast (s : SF_seq) : SF_seq :=
mkSF_seq (SF_h s) (Rcomplements.belast (SF_t s)).

(* Specifications: *)
Lemma SF_last_lx x0 (s : SF_seq) :
fst (SF_last x0 s) = last 0 (SF_lx s).