Definition stratify (n:nat) : { x:sinv n | stratifies n x }.
End stratifies.

Lemma floor_shuffle:
forall (m1 n : nat)
(p1 : sinv (m1 + S n)) (H1 : (m1 + S n) = (S m1 + n)),
floor (S m1) n (eq_rect (m1 + S n) sinv p1 (S m1 + n) H1) = fst (proj1_sig (floor m1 (S n) p1)).