generalized theorems and class instances for Cprod.
authorslotosch
Wed, 26 Mar 1997 13:44:05 +0100
changeset 2840 7e03e61612b0
parent 2839 7ca787c6efca
child 2841 c2508f4ab739
generalized theorems and class instances for Cprod. Now "*"::(cpo,cpo)cpo and "*"::(pcpo,pcpo)pcpo
src/HOLCF/Cprod1.thy
src/HOLCF/Cprod2.ML
src/HOLCF/Cprod2.thy
src/HOLCF/Cprod3.ML
src/HOLCF/Cprod3.thy
--- a/src/HOLCF/Cprod1.thy	Tue Mar 25 11:19:09 1997 +0100
+++ b/src/HOLCF/Cprod1.thy	Wed Mar 26 13:44:05 1997 +0100
@@ -10,6 +10,8 @@
 
 Cprod1 = Cfun3 +
 
+default cpo
+
 defs
 
   less_cprod_def "less p1 p2 == (fst p1<<fst p2 & snd p1 << snd p2)"
--- a/src/HOLCF/Cprod2.ML	Tue Mar 25 11:19:09 1997 +0100
+++ b/src/HOLCF/Cprod2.ML	Wed Mar 26 13:44:05 1997 +0100
@@ -147,7 +147,7 @@
 
 *)
 
-qed_goal "cpo_cprod" thy "is_chain(S::nat=>'a*'b)==>? x.range S<<| x"
+qed_goal "cpo_cprod" thy "is_chain(S::nat=>'a::cpo*'b::cpo)==>? x.range S<<| x"
 (fn prems =>
         [
         (cut_facts_tac prems 1),
--- a/src/HOLCF/Cprod2.thy	Tue Mar 25 11:19:09 1997 +0100
+++ b/src/HOLCF/Cprod2.thy	Wed Mar 26 13:44:05 1997 +0100
@@ -9,7 +9,9 @@
 
 Cprod2 = Cprod1 + 
 
-instance "*"::(pcpo,pcpo)po 
+default pcpo
+
+instance "*"::(cpo,cpo)po 
 	(refl_less_cprod,antisym_less_cprod,trans_less_cprod)
 end
 
--- a/src/HOLCF/Cprod3.ML	Tue Mar 25 11:19:09 1997 +0100
+++ b/src/HOLCF/Cprod3.ML	Wed Mar 26 13:44:05 1997 +0100
@@ -20,8 +20,8 @@
 (* ------------------------------------------------------------------------ *)
 
 qed_goal "Cprod3_lemma1" Cprod3.thy 
-"is_chain(Y::(nat=>'a)) ==>\
-\ (lub(range(Y)),(x::'b)) =\
+"is_chain(Y::(nat=>'a::cpo)) ==>\
+\ (lub(range(Y)),(x::'b::cpo)) =\
 \ (lub(range(%i. fst(Y i,x))),lub(range(%i. snd(Y i,x))))"
  (fn prems =>
         [
@@ -57,8 +57,8 @@
         ]);
 
 qed_goal "Cprod3_lemma2" Cprod3.thy 
-"is_chain(Y::(nat=>'a)) ==>\
-\ ((x::'b),lub(range Y)) =\
+"is_chain(Y::(nat=>'a::cpo)) ==>\
+\ ((x::'b::cpo),lub(range Y)) =\
 \ (lub(range(%i. fst(x,Y i))),lub(range(%i. snd(x, Y i))))"
  (fn prems =>
         [
--- a/src/HOLCF/Cprod3.thy	Tue Mar 25 11:19:09 1997 +0100
+++ b/src/HOLCF/Cprod3.thy	Wed Mar 26 13:44:05 1997 +0100
@@ -9,7 +9,8 @@
 
 Cprod3 = Cprod2 +
 
-instance "*" :: (pcpo,pcpo)pcpo   (least_cprod,cpo_cprod)
+instance "*" :: (cpo,cpo)cpo   	  (cpo_cprod)
+instance "*" :: (pcpo,pcpo)pcpo   (least_cprod)
 
 consts  
         cpair        :: "'a -> 'b -> ('a*'b)" (* continuous  pairing *)