src/HOLCF/Cfun1.ML
changeset 15566 eb3b1a5c304e
parent 14981 e73f8140af78
--- a/src/HOLCF/Cfun1.ML	Wed Mar 02 23:28:17 2005 +0100
+++ b/src/HOLCF/Cfun1.ML	Wed Mar 02 23:58:02 2005 +0100
@@ -1,90 +1,16 @@
-(*  Title:      HOLCF/Cfun1.ML
-    ID:         $Id$
-    Author:     Franz Regensburger
 
-The type ->  of continuous functions.
-*)
-
-(* ------------------------------------------------------------------------ *)
-(* derive old type definition rules for Abs_CFun & Rep_CFun                         *)
-(* Rep_CFun and Abs_CFun should be replaced by Rep_Cfun anf Abs_Cfun in future      *)
-(* ------------------------------------------------------------------------ *)
-Goal "Rep_CFun fo : CFun";
-by (rtac Rep_CFun 1);
-qed "Rep_Cfun";
-
-Goal "Abs_CFun (Rep_CFun fo) = fo";
-by (rtac Rep_CFun_inverse 1);
-qed "Rep_Cfun_inverse";
-
-Goal "f:CFun==>Rep_CFun(Abs_CFun f)=f";
-by (etac Abs_CFun_inverse 1);
-qed "Abs_Cfun_inverse";
-
-(* ------------------------------------------------------------------------ *)
-(* less_cfun is a partial order on type 'a -> 'b                            *)
-(* ------------------------------------------------------------------------ *)
-
-Goalw [less_cfun_def] "(f::'a->'b) << f";
-by (rtac refl_less 1);
-qed "refl_less_cfun";
-
-Goalw [less_cfun_def] 
-        "[|(f1::'a->'b) << f2; f2 << f1|] ==> f1 = f2";
-by (rtac injD 1);
-by (rtac antisym_less 2);
-by (atac 3);
-by (atac 2);
-by (rtac inj_inverseI 1);
-by (rtac Rep_Cfun_inverse 1);
-qed "antisym_less_cfun";
+(* legacy ML bindings *)
 
-Goalw [less_cfun_def] 
-        "[|(f1::'a->'b) << f2; f2 << f3|] ==> f1 << f3";
-by (etac trans_less 1);
-by (atac 1);
-qed "trans_less_cfun";
-
-(* ------------------------------------------------------------------------ *)
-(* lemmas about application of continuous functions                         *)
-(* ------------------------------------------------------------------------ *)
-
-Goal "[| f=g; x=y |] ==> f$x = g$y";
-by (Asm_simp_tac 1);
-qed "cfun_cong";
-
-Goal "f=g ==> f$x = g$x";
-by (Asm_simp_tac 1);
-qed "cfun_fun_cong";
-
-Goal "x=y ==> f$x = f$y";
-by (Asm_simp_tac 1);
-qed "cfun_arg_cong";
-
-
-(* ------------------------------------------------------------------------ *)
-(* additional lemma about the isomorphism between -> and Cfun               *)
-(* ------------------------------------------------------------------------ *)
-
-Goal "cont f ==> Rep_CFun (Abs_CFun f) = f";
-by (rtac Abs_Cfun_inverse 1);
-by (rewtac CFun_def);
-by (etac (mem_Collect_eq RS ssubst) 1);
-qed "Abs_Cfun_inverse2";
-
-(* ------------------------------------------------------------------------ *)
-(* simplification of application                                            *)
-(* ------------------------------------------------------------------------ *)
-
-Goal "cont f ==> (Abs_CFun f)$x = f x";
-by (etac (Abs_Cfun_inverse2 RS fun_cong) 1);
-qed "Cfunapp2";
-
-(* ------------------------------------------------------------------------ *)
-(* beta - equality for continuous functions                                 *)
-(* ------------------------------------------------------------------------ *)
-
-Goal "cont(c1) ==> (LAM x .c1 x)$u = c1 u";
-by (rtac Cfunapp2 1);
-by (atac 1);
-qed "beta_cfun";
+val less_cfun_def = thm "less_cfun_def";
+val Rep_Cfun = thm "Rep_Cfun";
+val Rep_Cfun_inverse = thm "Rep_Cfun_inverse";
+val Abs_Cfun_inverse = thm "Abs_Cfun_inverse";
+val refl_less_cfun = thm "refl_less_cfun";
+val antisym_less_cfun = thm "antisym_less_cfun";
+val trans_less_cfun = thm "trans_less_cfun";
+val cfun_cong = thm "cfun_cong";
+val cfun_fun_cong = thm "cfun_fun_cong";
+val cfun_arg_cong = thm "cfun_arg_cong";
+val Abs_Cfun_inverse2 = thm "Abs_Cfun_inverse2";
+val Cfunapp2 = thm "Cfunapp2";
+val beta_cfun = thm "beta_cfun";