add lemmas Suc_funpow and id_funpow to simpset; add lemma map_add_upt
authorhoelzl
Mon, 18 Nov 2013 17:14:01 +0100
changeset 54496 178922b63b58
parent 54471 7468e8ce494c
child 54497 c76dec4df4d7
add lemmas Suc_funpow and id_funpow to simpset; add lemma map_add_upt
src/HOL/List.thy
src/HOL/Nat.thy
--- 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 *}