src/HOL/List.thy
changeset 72852 7568a54aadcd
parent 72737 98fe7a10ace3
child 73017 9283e9d45060
equal deleted inserted replaced
72851:f0fa51227a23 72852:7568a54aadcd
  2126   by (induct n arbitrary: xs) (auto, case_tac xs, auto)
  2126   by (induct n arbitrary: xs) (auto, case_tac xs, auto)
  2127 
  2127 
  2128 lemma drop_all [simp]: "length xs \<le> n \<Longrightarrow> drop n xs = []"
  2128 lemma drop_all [simp]: "length xs \<le> n \<Longrightarrow> drop n xs = []"
  2129   by (induct n arbitrary: xs) (auto, case_tac xs, auto)
  2129   by (induct n arbitrary: xs) (auto, case_tac xs, auto)
  2130 
  2130 
       
  2131 lemma take_all_iff [simp]: "take n xs = xs \<longleftrightarrow> length xs \<le> n"
       
  2132 by (metis length_take min.order_iff take_all)
       
  2133 
       
  2134 lemma drop_all_iff [simp]: "drop n xs = [] \<longleftrightarrow> length xs \<le> n"
       
  2135 by (metis diff_is_0_eq drop_all length_drop list.size(3))
       
  2136 
  2131 lemma take_append [simp]:
  2137 lemma take_append [simp]:
  2132   "take n (xs @ ys) = (take n xs @ take (n - length xs) ys)"
  2138   "take n (xs @ ys) = (take n xs @ take (n - length xs) ys)"
  2133   by (induct n arbitrary: xs) (auto, case_tac xs, auto)
  2139   by (induct n arbitrary: xs) (auto, case_tac xs, auto)
  2134 
  2140 
  2135 lemma drop_append [simp]:
  2141 lemma drop_append [simp]: