lemmas concerning remdups
authorhaftmann
Thu, 22 Apr 2010 09:30:39 +0200
changeset 36275 c6ca9e258269
parent 36274 42bd879dc1b0
child 36276 92011cc923f5
child 36298 2d55c4aba1dc
lemmas concerning remdups
src/HOL/List.thy
--- a/src/HOL/List.thy	Thu Apr 22 09:30:36 2010 +0200
+++ b/src/HOL/List.thy	Thu Apr 22 09:30:39 2010 +0200
@@ -2906,6 +2906,10 @@
   from length_remdups_concat[of "[xs]"] show ?thesis unfolding xs by simp
 qed
 
+lemma remdups_remdups:
+  "remdups (remdups xs) = remdups xs"
+  by (induct xs) simp_all
+
 
 subsubsection {* @{const insert} *}
 
@@ -2929,6 +2933,10 @@
   "distinct xs \<Longrightarrow> distinct (List.insert x xs)"
   by (simp add: List.insert_def)
 
+lemma insert_remdups:
+  "List.insert x (remdups xs) = remdups (List.insert x xs)"
+  by (simp add: List.insert_def)
+
 
 subsubsection {* @{text remove1} *}
 
@@ -2975,6 +2983,10 @@
 lemma distinct_remove1[simp]: "distinct xs ==> distinct(remove1 x xs)"
 by (induct xs) simp_all
 
+lemma remove1_remdups:
+  "distinct xs \<Longrightarrow> remove1 x (remdups xs) = remdups (remove1 x xs)"
+  by (induct xs) simp_all
+
 
 subsubsection {* @{text removeAll} *}