(** * Pointed subvivision *)

Definition pointed_subdiv (ptd : @SF_seq R) :=
  forall i : nat, (i < SF_size ptd)%nat ->
    nth 0 (SF_lx ptd) i <= nth 0 (SF_ly ptd) i <= nth 0 (SF_lx ptd) (S i).

(* Specifications: *)
Lemma ptd_cons h s : pointed_subdiv (SF_cons h s) -> pointed_subdiv s.
Lemma ptd_sort ptd : pointed_subdiv ptd -> SF_sorted Rle ptd.
Lemma ptd_sort' ptd : pointed_subdiv ptd -> sorted Rle (SF_ly ptd).
Lemma SF_cat_pointed (x y : SF_seq) : last (SF_h x) (SF_lx x) = head (SF_h y) (SF_lx y) -> pointed_subdiv x -> pointed_subdiv y -> pointed_subdiv (SF_cat x y).