--- a/src/HOL/List.thy Mon Nov 18 17:10:57 2013 +0100
+++ b/src/HOL/List.thy Mon Nov 18 17:14:01 2013 +0100
@@ -2988,6 +2988,9 @@
lemma map_Suc_upt: "map Suc [m..<n] = [Suc m..<Suc n]"
by (induct n) auto
+lemma map_add_upt: "map (\<lambda>i. i + n) [0..<m] = [n..<m + n]"
+ by (induct m) simp_all
+
lemma nth_map_upt: "i < n-m ==> (map f [m..<n]) ! i = f(m+i)"
apply (induct n m arbitrary: i rule: diff_induct)
prefer 3 apply (subst map_Suc_upt[symmetric])
--- a/src/HOL/Nat.thy Mon Nov 18 17:10:57 2013 +0100
+++ b/src/HOL/Nat.thy Mon Nov 18 17:14:01 2013 +0100
@@ -1315,6 +1315,11 @@
shows "comp f ^^ n = comp (f ^^ n)"
by (induct n) simp_all
+lemma Suc_funpow[simp]: "Suc ^^ n = (op + n)"
+ by (induct n) simp_all
+
+lemma id_funpow[simp]: "id ^^ n = id"
+ by (induct n) simp_all
subsection {* Kleene iteration *}