src/HOL/Tools/primrec_package.ML
changeset 15531 08c8dad8e399
parent 14981 e73f8140af78
child 15570 8d8c70b41bab
--- a/src/HOL/Tools/primrec_package.ML	Fri Feb 11 18:51:00 2005 +0100
+++ b/src/HOL/Tools/primrec_package.ML	Sun Feb 13 17:15:14 2005 +0100
@@ -73,9 +73,9 @@
       check_vars "extra variables on rhs: "
         (map dest_Free (term_frees rhs) \\ lfrees);
       case assoc (rec_fns, fname) of
-        None =>
+        NONE =>
           (fname, (tname, rpos, [(cname, (ls, cargs, rs, rhs, eq))]))::rec_fns
-      | Some (_, rpos', eqns) =>
+      | SOME (_, rpos', eqns) =>
           if is_some (assoc (eqns, cname)) then
             raise RecError "constructor already occurred as pattern"
           else if rpos <> rpos' then
@@ -113,11 +113,11 @@
                 val (x, xs) = strip_comb x'
               in 
                 (case assoc (subs, x) of
-                    None =>
+                    NONE =>
                       let
                         val (fs', ts') = foldl_map (subst subs) (fs, ts)
                       in (fs', list_comb (f, ts')) end
-                  | Some (i', y) =>
+                  | SOME (i', y) =>
                       let
                         val (fs', ts') = foldl_map (subst subs) (fs, xs @ ls @ rs);
                         val fs'' = process_fun sign descr rec_eqns ((i', fname'), fs')
@@ -135,10 +135,10 @@
 
     fun trans eqns ((cname, cargs), (fnames', fnss', fns)) =
       (case assoc (eqns, cname) of
-          None => (warning ("No equation for constructor " ^ quote cname ^
+          NONE => (warning ("No equation for constructor " ^ quote cname ^
             "\nin definition of function " ^ quote fname);
               (fnames', fnss', (Const ("arbitrary", dummyT))::fns))
-        | Some (ls, cargs', rs, rhs, eq) =>
+        | SOME (ls, cargs', rs, rhs, eq) =>
             let
               val recs = filter (is_rec_type o snd) (cargs' ~~ cargs);
               val rargs = map fst recs;
@@ -155,7 +155,7 @@
             end)
 
   in (case assoc (fnames, i) of
-      None =>
+      NONE =>
         if exists (equal fname o snd) fnames then
           raise RecError ("inconsistent functions for datatype " ^ quote tname)
         else
@@ -166,7 +166,7 @@
           in
             (fnames', (i, (fname, #1 (snd (hd eqns)), fns))::fnss')
           end
-    | Some fname' =>
+    | SOME fname' =>
         if fname = fname' then (fnames, fnss)
         else raise RecError ("inconsistent functions for datatype " ^ quote tname))
   end;
@@ -176,7 +176,7 @@
 
 fun get_fns fns (((i, (tname, _, constrs)), rec_name), (fs, defs)) =
   case assoc (fns, i) of
-     None =>
+     NONE =>
        let
          val dummy_fns = map (fn (_, cargs) => Const ("arbitrary",
            replicate ((length cargs) + (length (filter is_rec_type cargs)))
@@ -185,7 +185,7 @@
        in
          (dummy_fns @ fs, defs)
        end
-   | Some (fname, ls, fs') => (fs' @ fs, (fname, ls, rec_name, tname)::defs);
+   | SOME (fname, ls, fs') => (fs' @ fs, (fname, ls, rec_name, tname)::defs);
 
 
 (* make definition *)
@@ -206,8 +206,8 @@
 fun find_dts (dt_info : datatype_info Symtab.table) _ [] = []
   | find_dts dt_info tnames' (tname::tnames) =
       (case Symtab.lookup (dt_info, tname) of
-          None => primrec_err (quote tname ^ " is not a datatype")
-        | Some dt =>
+          NONE => primrec_err (quote tname ^ " is not a datatype")
+        | SOME dt =>
             if tnames' subset (map (#1 o snd) (#descr dt)) then
               (tname, dt)::(find_dts dt_info tnames' tnames)
             else find_dts dt_info tnames' tnames);