From 94bb6fa0152ea61661f2e5d990f8d46cbdcdf9cf Mon Sep 17 00:00:00 2001 From: Olivier Laurent Date: Fri, 7 Aug 2020 18:55:46 +0200 Subject: Additional statements about List.repeat Co-authored-by: Anton Trunov --- theories/Sorting/Permutation.v | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'theories/Sorting') diff --git a/theories/Sorting/Permutation.v b/theories/Sorting/Permutation.v index 026cf32ceb..2f445c341a 100644 --- a/theories/Sorting/Permutation.v +++ b/theories/Sorting/Permutation.v @@ -522,6 +522,18 @@ Proof. repeat red; eauto using Permutation_NoDup. Qed. +Lemma Permutation_repeat x n l : + Permutation l (repeat x n) -> l = repeat x n. +Proof. + revert n; induction l as [|y l IHl] ; simpl; intros n HP; auto. + - now apply Permutation_nil in HP; inversion HP. + - assert (y = x) as Heq by (now apply repeat_spec with n, (Permutation_in _ HP); left); subst. + destruct n; simpl; simpl in HP. + + symmetry in HP; apply Permutation_nil in HP; inversion HP. + + f_equal; apply IHl. + now apply Permutation_cons_inv with x. +Qed. + End Permutation_properties. Section Permutation_map. -- cgit v1.2.3