Corollary prev_taken_In : forall h, prev_taken h = vint 1 \/ In (AE (prev_taken h) Empty) h.

Lemma make_shares_join : forall i lasts shs sh0 j sh1 sh2 (Hlen : Zlength shs >= Zlength lasts) (Hsh1 : sepalg_list.list_join sh0 shs sh1) (Hsh2 : sepalg_list.list_join sh0 (make_shares shs lasts i) sh2) (Hin : 0 <= j < Zlength shs) (Hj : Znth j lasts = i), exists sh', sepalg.join sh2 (Znth j shs) sh'.