aboutsummaryrefslogtreecommitdiff
path: root/theories/Sorting
diff options
context:
space:
mode:
authorOlivier Laurent2020-08-07 18:55:46 +0200
committerOlivier Laurent2020-08-12 12:06:49 +0200
commit94bb6fa0152ea61661f2e5d990f8d46cbdcdf9cf (patch)
treebbec8fc8d1dbe8ab7e77a0777c0dfb9b0bacd919 /theories/Sorting
parent7427e7c5fa5312e7625ebf5243978691fdb04f92 (diff)
Additional statements about List.repeat
Co-authored-by: Anton Trunov <anton.a.trunov@gmail.com>
Diffstat (limited to 'theories/Sorting')
-rw-r--r--theories/Sorting/Permutation.v12
1 files changed, 12 insertions, 0 deletions
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.