equal
deleted
inserted
replaced
105 |
105 |
106 definition defl_foo :: "'a foo itself \<Rightarrow> udom defl" |
106 definition defl_foo :: "'a foo itself \<Rightarrow> udom defl" |
107 where "defl_foo \<equiv> \<lambda>a. foo_defl\<cdot>LIFTDEFL('a)" |
107 where "defl_foo \<equiv> \<lambda>a. foo_defl\<cdot>LIFTDEFL('a)" |
108 |
108 |
109 definition |
109 definition |
110 "(liftemb :: 'a foo u \<rightarrow> udom) \<equiv> udom_emb u_approx oo u_map\<cdot>emb" |
110 "(liftemb :: 'a foo u \<rightarrow> udom) \<equiv> u_emb oo u_map\<cdot>emb" |
111 |
111 |
112 definition |
112 definition |
113 "(liftprj :: udom \<rightarrow> 'a foo u) \<equiv> u_map\<cdot>prj oo udom_prj u_approx" |
113 "(liftprj :: udom \<rightarrow> 'a foo u) \<equiv> u_map\<cdot>prj oo u_prj" |
114 |
114 |
115 definition |
115 definition |
116 "liftdefl \<equiv> \<lambda>(t::'a foo itself). u_defl\<cdot>DEFL('a foo)" |
116 "liftdefl \<equiv> \<lambda>(t::'a foo itself). u_defl\<cdot>DEFL('a foo)" |
117 |
117 |
118 instance |
118 instance |
140 |
140 |
141 definition defl_bar :: "'a bar itself \<Rightarrow> udom defl" |
141 definition defl_bar :: "'a bar itself \<Rightarrow> udom defl" |
142 where "defl_bar \<equiv> \<lambda>a. bar_defl\<cdot>LIFTDEFL('a)" |
142 where "defl_bar \<equiv> \<lambda>a. bar_defl\<cdot>LIFTDEFL('a)" |
143 |
143 |
144 definition |
144 definition |
145 "(liftemb :: 'a bar u \<rightarrow> udom) \<equiv> udom_emb u_approx oo u_map\<cdot>emb" |
145 "(liftemb :: 'a bar u \<rightarrow> udom) \<equiv> u_emb oo u_map\<cdot>emb" |
146 |
146 |
147 definition |
147 definition |
148 "(liftprj :: udom \<rightarrow> 'a bar u) \<equiv> u_map\<cdot>prj oo udom_prj u_approx" |
148 "(liftprj :: udom \<rightarrow> 'a bar u) \<equiv> u_map\<cdot>prj oo u_prj" |
149 |
149 |
150 definition |
150 definition |
151 "liftdefl \<equiv> \<lambda>(t::'a bar itself). u_defl\<cdot>DEFL('a bar)" |
151 "liftdefl \<equiv> \<lambda>(t::'a bar itself). u_defl\<cdot>DEFL('a bar)" |
152 |
152 |
153 instance |
153 instance |
175 |
175 |
176 definition defl_baz :: "'a baz itself \<Rightarrow> udom defl" |
176 definition defl_baz :: "'a baz itself \<Rightarrow> udom defl" |
177 where "defl_baz \<equiv> \<lambda>a. baz_defl\<cdot>LIFTDEFL('a)" |
177 where "defl_baz \<equiv> \<lambda>a. baz_defl\<cdot>LIFTDEFL('a)" |
178 |
178 |
179 definition |
179 definition |
180 "(liftemb :: 'a baz u \<rightarrow> udom) \<equiv> udom_emb u_approx oo u_map\<cdot>emb" |
180 "(liftemb :: 'a baz u \<rightarrow> udom) \<equiv> u_emb oo u_map\<cdot>emb" |
181 |
181 |
182 definition |
182 definition |
183 "(liftprj :: udom \<rightarrow> 'a baz u) \<equiv> u_map\<cdot>prj oo udom_prj u_approx" |
183 "(liftprj :: udom \<rightarrow> 'a baz u) \<equiv> u_map\<cdot>prj oo u_prj" |
184 |
184 |
185 definition |
185 definition |
186 "liftdefl \<equiv> \<lambda>(t::'a baz itself). u_defl\<cdot>DEFL('a baz)" |
186 "liftdefl \<equiv> \<lambda>(t::'a baz itself). u_defl\<cdot>DEFL('a baz)" |
187 |
187 |
188 instance |
188 instance |