eliminated old Sign.read_term/Thm.read_cterm etc.;
authorwenzelm
Wed, 18 Jun 2008 18:55:10 +0200
changeset 27261 5b3101338f42
parent 27260 17d617c6b026
child 27262 5a5d7f55ec19
eliminated old Sign.read_term/Thm.read_cterm etc.;
src/HOL/Tools/datatype_package.ML
src/ZF/Tools/datatype_package.ML
src/ZF/Tools/inductive_package.ML
src/ZF/ind_syntax.ML
--- a/src/HOL/Tools/datatype_package.ML	Wed Jun 18 18:55:08 2008 +0200
+++ b/src/HOL/Tools/datatype_package.ML	Wed Jun 18 18:55:10 2008 +0200
@@ -544,7 +544,7 @@
   end;
 
 val rep_datatype = gen_rep_datatype Sign.cert_term;
-val rep_datatype_cmd = gen_rep_datatype Sign.read_term (K I);
+val rep_datatype_cmd = gen_rep_datatype Syntax.read_term_global (K I);
 
 
 
--- a/src/ZF/Tools/datatype_package.ML	Wed Jun 18 18:55:08 2008 +0200
+++ b/src/ZF/Tools/datatype_package.ML	Wed Jun 18 18:55:10 2008 +0200
@@ -405,12 +405,15 @@
 fun add_datatype (sdom, srec_tms) scon_ty_lists (raw_monos, raw_type_intrs, raw_type_elims) thy =
   let
     val ctxt = ProofContext.init thy;
-    val read_i = Sign.simple_read_term thy @{typ i};
-    val rec_tms = map read_i srec_tms;
-    val con_ty_lists = Ind_Syntax.read_constructs thy scon_ty_lists;
+    fun read_is strs =
+      map (Syntax.parse_term ctxt #> TypeInfer.constrain @{typ i}) strs
+      |> Syntax.check_terms ctxt;
+
+    val rec_tms = read_is srec_tms;
+    val con_ty_lists = Ind_Syntax.read_constructs ctxt scon_ty_lists;
     val dom_sum =
       if sdom = "" then data_domain coind (rec_tms, con_ty_lists)
-      else read_i sdom;
+      else singleton read_is sdom;
     val monos = Attrib.eval_thms ctxt raw_monos;
     val type_intrs = Attrib.eval_thms ctxt raw_type_intrs;
     val type_elims = Attrib.eval_thms ctxt raw_type_elims;
--- a/src/ZF/Tools/inductive_package.ML	Wed Jun 18 18:55:08 2008 +0200
+++ b/src/ZF/Tools/inductive_package.ML	Wed Jun 18 18:55:10 2008 +0200
@@ -277,7 +277,8 @@
       (Thm.assume A RS elim)
       |> Drule.standard';
   fun mk_cases a = make_cases (*delayed evaluation of body!*)
-    (simpset ()) (Thm.read_cterm (Thm.theory_of_thm elim) (a, propT));
+    (simpset ())
+    let val thy = Thm.theory_of_thm elim in cterm_of thy (Syntax.read_prop_global thy a) end;
 
   fun induction_rules raw_induct thy =
    let
--- a/src/ZF/ind_syntax.ML	Wed Jun 18 18:55:08 2008 +0200
+++ b/src/ZF/ind_syntax.ML	Wed Jun 18 18:55:10 2008 +0200
@@ -66,8 +66,9 @@
   | dest_mem _ = error "Constructor specifications must have the form x:A";
 
 (*read a constructor specification*)
-fun read_construct sign (id, sprems, syn) =
-    let val prems = map (Sign.simple_read_term sign FOLogic.oT) sprems
+fun read_construct ctxt (id, sprems, syn) =
+    let val prems = map (Syntax.parse_term ctxt #> TypeInfer.constrain FOLogic.oT) sprems
+          |> Syntax.check_terms ctxt
         val args = map (#1 o dest_mem) prems
         val T = (map (#2 o dest_Free) args) ---> iT
                 handle TERM _ => error