proposition: Lemma widen_1: forall N1 N2, le N1 (widen N1 N2).
proof: Proof. unfold le, widen; intros. destruct (isempty N1) eqn:E1. elim (isempty_1 n N1); auto. destruct (isempty N2) eqn:E2. auto. destruct H. split; apply Zinf.widen_1; auto. Qed.
imports: Coq(ZArith Psatz Bool String List FMaps) Coq(FunctionalExtensionality) CDF(Sequences IMP)