Definition SF_rev (s : SF_seq) : SF_seq :=
  SF_make (rev (SF_lx s)) (rev (SF_ly s)) (SF_rev_0 s).

(* Specifications: *)
Lemma SF_rev_cons (h : R*T) (s : SF_seq) : SF_rev (SF_cons h s) = SF_rcons (SF_rev s) h.
Lemma SF_rev_rcons (s : SF_seq) (t : R*T) : SF_rev (SF_rcons s t) = SF_cons t (SF_rev s).
Lemma SF_rev_invol (s : SF_seq) : SF_rev (SF_rev s) = s.
Lemma SF_lx_rev (s : SF_seq) : SF_lx (SF_rev s) = rev (SF_lx s).
Lemma SF_ly_rev (s : SF_seq) : SF_ly (SF_rev s) = rev (SF_ly s).
Lemma SF_size_rev (s : SF_seq) : SF_size (SF_rev s) = SF_size s.
Lemma SF_rev_surj (s s0 : SF_seq) : s = s0 -> SF_rev s = SF_rev s0.
Lemma SF_rev_inj (s s0 : SF_seq) : SF_rev s = SF_rev s0 -> s = s0.