equal
deleted
inserted
replaced
30 class predomain = predomain_syn + |
30 class predomain = predomain_syn + |
31 assumes predomain_ep: "ep_pair liftemb liftprj" |
31 assumes predomain_ep: "ep_pair liftemb liftprj" |
32 assumes cast_liftdefl: "cast\<cdot>(liftdefl TYPE('a)) = liftemb oo liftprj" |
32 assumes cast_liftdefl: "cast\<cdot>(liftdefl TYPE('a)) = liftemb oo liftprj" |
33 |
33 |
34 syntax "_LIFTDEFL" :: "type \<Rightarrow> logic" ("(1LIFTDEFL/(1'(_')))") |
34 syntax "_LIFTDEFL" :: "type \<Rightarrow> logic" ("(1LIFTDEFL/(1'(_')))") |
|
35 syntax_consts "_LIFTDEFL" \<rightleftharpoons> liftdefl |
35 translations "LIFTDEFL('t)" \<rightleftharpoons> "CONST liftdefl TYPE('t)" |
36 translations "LIFTDEFL('t)" \<rightleftharpoons> "CONST liftdefl TYPE('t)" |
36 |
37 |
37 definition liftdefl_of :: "udom defl \<rightarrow> udom u defl" |
38 definition liftdefl_of :: "udom defl \<rightarrow> udom u defl" |
38 where "liftdefl_of = defl_fun1 ID ID u_map" |
39 where "liftdefl_of = defl_fun1 ID ID u_map" |
39 |
40 |
49 assumes liftemb_eq: "liftemb = u_map\<cdot>emb" |
50 assumes liftemb_eq: "liftemb = u_map\<cdot>emb" |
50 assumes liftprj_eq: "liftprj = u_map\<cdot>prj" |
51 assumes liftprj_eq: "liftprj = u_map\<cdot>prj" |
51 assumes liftdefl_eq: "liftdefl TYPE('a) = liftdefl_of\<cdot>(defl TYPE('a))" |
52 assumes liftdefl_eq: "liftdefl TYPE('a) = liftdefl_of\<cdot>(defl TYPE('a))" |
52 |
53 |
53 syntax "_DEFL" :: "type \<Rightarrow> logic" ("(1DEFL/(1'(_')))") |
54 syntax "_DEFL" :: "type \<Rightarrow> logic" ("(1DEFL/(1'(_')))") |
|
55 syntax_consts "_DEFL" \<rightleftharpoons> defl |
54 translations "DEFL('t)" \<rightleftharpoons> "CONST defl TYPE('t)" |
56 translations "DEFL('t)" \<rightleftharpoons> "CONST defl TYPE('t)" |
55 |
57 |
56 instance "domain" \<subseteq> predomain |
58 instance "domain" \<subseteq> predomain |
57 proof |
59 proof |
58 show "ep_pair liftemb (liftprj::udom\<^sub>\<bottom> \<rightarrow> 'a\<^sub>\<bottom>)" |
60 show "ep_pair liftemb (liftprj::udom\<^sub>\<bottom> \<rightarrow> 'a\<^sub>\<bottom>)" |