equal
deleted
inserted
replaced
17 |
17 |
18 pcpodef (Ssum) ('a, 'b) "++" (infixr "++" 10) = |
18 pcpodef (Ssum) ('a, 'b) "++" (infixr "++" 10) = |
19 "{p :: tr \<times> ('a \<times> 'b). |
19 "{p :: tr \<times> ('a \<times> 'b). |
20 (cfst\<cdot>p \<sqsubseteq> TT \<longleftrightarrow> csnd\<cdot>(csnd\<cdot>p) = \<bottom>) \<and> |
20 (cfst\<cdot>p \<sqsubseteq> TT \<longleftrightarrow> csnd\<cdot>(csnd\<cdot>p) = \<bottom>) \<and> |
21 (cfst\<cdot>p \<sqsubseteq> FF \<longleftrightarrow> cfst\<cdot>(csnd\<cdot>p) = \<bottom>)}" |
21 (cfst\<cdot>p \<sqsubseteq> FF \<longleftrightarrow> cfst\<cdot>(csnd\<cdot>p) = \<bottom>)}" |
22 by simp |
22 by simp_all |
23 |
23 |
24 instance "++" :: ("{finite_po,pcpo}", "{finite_po,pcpo}") finite_po |
24 instance "++" :: ("{finite_po,pcpo}", "{finite_po,pcpo}") finite_po |
25 by (rule typedef_finite_po [OF type_definition_Ssum]) |
25 by (rule typedef_finite_po [OF type_definition_Ssum]) |
26 |
26 |
27 instance "++" :: ("{chfin,pcpo}", "{chfin,pcpo}") chfin |
27 instance "++" :: ("{chfin,pcpo}", "{chfin,pcpo}") chfin |