diff -r c3190d0b068c -r b6df83045178 src/HOL/HOLCF/Map_Functions.thy --- a/src/HOL/HOLCF/Map_Functions.thy Thu Dec 12 12:35:59 2024 +0100 +++ b/src/HOL/HOLCF/Map_Functions.thy Thu Dec 12 15:45:29 2024 +0100 @@ -10,8 +10,6 @@ subsection \Map operator for continuous function space\ -default_sort cpo - definition cfun_map :: "('b \ 'a) \ ('c \ 'd) \ ('a \ 'c) \ ('b \ 'd)" where "cfun_map = (\ a b f x. b\(f\(a\x)))" @@ -214,9 +212,7 @@ subsection \Map function for strict products\ -default_sort pcpo - -definition sprod_map :: "('a \ 'b) \ ('c \ 'd) \ 'a \ 'c \ 'b \ 'd" +definition sprod_map :: "('a::pcpo \ 'b::pcpo) \ ('c::pcpo \ 'd::pcpo) \ 'a \ 'c \ 'b \ 'd" where "sprod_map = (\ f g. ssplit\(\ x y. (:f\x, g\y:)))" lemma sprod_map_strict [simp]: "sprod_map\a\b\\ = \" @@ -315,7 +311,7 @@ subsection \Map function for strict sums\ -definition ssum_map :: "('a \ 'b) \ ('c \ 'd) \ 'a \ 'c \ 'b \ 'd" +definition ssum_map :: "('a::pcpo \ 'b::pcpo) \ ('c::pcpo \ 'd::pcpo) \ 'a \ 'c \ 'b \ 'd" where "ssum_map = (\ f g. sscase\(sinl oo f)\(sinr oo g))" lemma ssum_map_strict [simp]: "ssum_map\f\g\\ = \" @@ -422,7 +418,7 @@ subsection \Map operator for strict function space\ -definition sfun_map :: "('b \ 'a) \ ('c \ 'd) \ ('a \! 'c) \ ('b \! 'd)" +definition sfun_map :: "('b::pcpo \ 'a::pcpo) \ ('c::pcpo \ 'd::pcpo) \ ('a \! 'c) \ ('b \! 'd)" where "sfun_map = (\ a b. sfun_abs oo cfun_map\a\b oo sfun_rep)" lemma sfun_map_ID: "sfun_map\ID\ID = ID"