src/Pure/logic.ML
changeset 17120 4ddeef83bd66
parent 16879 b81d3f2ee565
child 18029 19f1ad18bece
equal deleted inserted replaced
17119:b241ba3eb4db 17120:4ddeef83bd66
   200       | incrs [] = raise SAME;
   200       | incrs [] = raise SAME;
   201   in incr end;
   201   in incr end;
   202 
   202 
   203 (*For all variables in the term, increment indexnames and lift over the Us
   203 (*For all variables in the term, increment indexnames and lift over the Us
   204     result is ?Gidx(B.(lev+n-1),...,B.lev) where lev is abstraction level *)
   204     result is ?Gidx(B.(lev+n-1),...,B.lev) where lev is abstraction level *)
   205 fun incr_indexes (Us, k) t =
   205 fun incr_indexes ([], 0) t = t
       
   206   | incr_indexes (Us, k) t =
   206   let
   207   let
   207     val n = length Us;
   208     val n = length Us;
   208     val incrT = if k = 0 then I else incrT k;
   209     val incrT = if k = 0 then I else incrT k;
   209 
   210 
   210     fun incr lev (Var ((x, i), T)) =
   211     fun incr lev (Var ((x, i), T)) =