proposition: Lemma join_2: forall s S1 S2, In s S2 -> In s (join S1 S2).
proof: Proof. unfold join; intros. destruct S1 as [ | m1]. auto. destruct S2 as [ | m2]. elim (bot_1 s); auto. - red; unfold get; intros. rewrite IMFact.map2_1bis; auto. unfold join_aux. specialize (H x). unfold get in H. destruct (IdentMap.find x m1). + destruct (IdentMap.find x m2). * apply V.join_2; auto. * apply V.top_1. + apply V.top_1. Qed.
imports: Coq(ZArith Psatz Bool String List FMaps) CDF(Sequences IMP)