src/HOL/List.thy
changeset 69275 9bbd5497befd
parent 69215 ab94035ba6ea
child 69276 3d954183b707
equal deleted inserted replaced
69274:ff7e6751a1a7 69275:9bbd5497befd
  2983 qed
  2983 qed
  2984 
  2984 
  2985 declare Sup_set_fold [where 'a = "'a set", code]
  2985 declare Sup_set_fold [where 'a = "'a set", code]
  2986 
  2986 
  2987 lemma (in complete_lattice) INF_set_fold:
  2987 lemma (in complete_lattice) INF_set_fold:
  2988   "INFIMUM (set xs) f = fold (inf \<circ> f) xs top"
  2988   "\<Sqinter>(f ` set xs) = fold (inf \<circ> f) xs top"
  2989   using Inf_set_fold [of "map f xs"] by (simp add: fold_map)
  2989   using Inf_set_fold [of "map f xs"] by (simp add: fold_map)
  2990 
  2990 
  2991 lemma (in complete_lattice) SUP_set_fold:
  2991 lemma (in complete_lattice) SUP_set_fold:
  2992   "SUPREMUM (set xs) f = fold (sup \<circ> f) xs bot"
  2992   "\<Squnion>(f ` set xs) = fold (sup \<circ> f) xs bot"
  2993   using Sup_set_fold [of "map f xs"] by (simp add: fold_map)
  2993   using Sup_set_fold [of "map f xs"] by (simp add: fold_map)
  2994 
  2994 
  2995 
  2995 
  2996 subsubsection \<open>Fold variants: @{const foldr} and @{const foldl}\<close>
  2996 subsubsection \<open>Fold variants: @{const foldr} and @{const foldl}\<close>
  2997 
  2997