src/Pure/envir.ML
changeset 15531 08c8dad8e399
parent 12496 0a9bd5034e05
child 15570 8d8c70b41bab
--- a/src/Pure/envir.ML	Fri Feb 11 18:51:00 2005 +0100
+++ b/src/Pure/envir.ML	Sun Feb 13 17:15:14 2005 +0100
@@ -74,10 +74,10 @@
 (*Determine if the least index updated exceeds lim*)
 fun above (lim, Envir {asol, iTs, ...}) =
   (case (Vartab.min_key asol, Vartab.min_key iTs) of
-     (None, None) => true
-   | (Some (_, i), None) => i > lim
-   | (None, Some (_, i')) => i' > lim
-   | (Some (_, i), Some (_, i')) => i > lim andalso i' > lim);
+     (NONE, NONE) => true
+   | (SOME (_, i), NONE) => i > lim
+   | (NONE, SOME (_, i')) => i' > lim
+   | (SOME (_, i), SOME (_, i')) => i > lim andalso i' > lim);
 
 (*Update, checking Var-Var assignments: try to suppress higher indexes*)
 fun vupdate((a,t), env) = case t of
@@ -85,8 +85,8 @@
         if a=name' then env     (*cycle!*)
         else if xless(a, name')  then
            (case lookup(env,name') of  (*if already assigned, chase*)
-                None => update((name', Var(a,T)), env)
-              | Some u => vupdate((a,u), env))
+                NONE => update((name', Var(a,T)), env)
+              | SOME u => vupdate((a,u), env))
         else update((a,t), env)
     | _ => update((a,t), env);
 
@@ -105,8 +105,8 @@
 fun norm_term1 same (asol,t) : term =
   let fun norm (Var (w,T)) =
             (case Vartab.lookup (asol, w) of
-                Some u => (norm u handle SAME => u)
-              | None   => raise SAME)
+                SOME u => (norm u handle SAME => u)
+              | NONE   => raise SAME)
         | norm (Abs(a,T,body)) =  Abs(a, T, norm body)
         | norm (Abs(_,_,body) $ t) = normh(subst_bound (t, body))
         | norm (f $ t) =
@@ -121,8 +121,8 @@
 fun normT iTs (Type (a, Ts)) = Type (a, normTs iTs Ts)
   | normT iTs (TFree _) = raise SAME
   | normT iTs (TVar(v, _)) = (case Vartab.lookup (iTs, v) of
-          Some U => normTh iTs U
-        | None => raise SAME)
+          SOME U => normTh iTs U
+        | NONE => raise SAME)
 and normTh iTs T = ((normT iTs T) handle SAME => T)
 and normTs iTs [] = raise SAME
   | normTs iTs (T :: Ts) =
@@ -134,8 +134,8 @@
         | norm (Free (a, T)) = Free(a, normT iTs T)
         | norm (Var (w, T)) =
             (case Vartab.lookup (asol, w) of
-                Some u => normh u
-              | None   => Var(w, normT iTs T))
+                SOME u => normh u
+              | NONE   => Var(w, normT iTs T))
         | norm (Abs (a, T, body)) =
                (Abs (a, normT iTs T, normh body) handle SAME => Abs (a, T, norm body))
         | norm (Abs(_, _, body) $ t) = normh (subst_bound (t, body))
@@ -170,8 +170,8 @@
 fun head_norm env t =
   let
     fun hnorm (Var (v, T)) = (case lookup (env, v) of
-          Some u => head_norm env u
-        | None => raise SAME)
+          SOME u => head_norm env u
+        | NONE => raise SAME)
       | hnorm (Abs (a, T, body)) =  Abs (a, T, hnorm body)
       | hnorm (Abs (_, _, body) $ t) =
           head_norm env (subst_bound (t, body))
@@ -191,7 +191,7 @@
 	   Type ("fun", [_, T]) => T
 	 | TVar(ixn, _) =>
 		(case Vartab.lookup (iTs, ixn) of
-		   Some (Type ("fun", [_, T])) => T
+		   SOME (Type ("fun", [_, T])) => T
 		 | _ => raise TERM (funerr, [f $ u]))
 	 | _ => raise TERM (funerr, [f $ u]))
       | fast Ts (Const (_, T)) = T