From 2849fff1a54905c344f42a5ce1cda726cdbc0516 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Sun, 19 Mar 2017 16:49:14 -0400 Subject: Add {firstn,skipn}_seq --- src/Util/ListUtil.v | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/Util/ListUtil.v') diff --git a/src/Util/ListUtil.v b/src/Util/ListUtil.v index 5b43e1e05..b5bc1a6e6 100644 --- a/src/Util/ListUtil.v +++ b/src/Util/ListUtil.v @@ -1193,6 +1193,20 @@ Proof. reflexivity. Qed. +Lemma firstn_seq k a b + : firstn k (seq a b) = seq a (min k b). +Proof. + revert k a; induction b, k; simpl; try reflexivity. + intros; rewrite IHb; reflexivity. +Qed. + +Lemma skipn_seq k a b + : skipn k (seq a b) = seq (k + a) (b - k). +Proof. + revert k a; induction b, k; simpl; try reflexivity. + intros; rewrite IHb; simpl; f_equal; omega. +Qed. + Lemma update_nth_out_of_bounds : forall {A} n f xs, n >= length xs -> @update_nth A n f xs = xs. Proof. induction n; destruct xs; simpl; try congruence; try omega; intros. -- cgit v1.2.3