src/Pure/Proof/reconstruct.ML
changeset 37297 a1acd424645a
parent 37228 4bbda9fc26db
child 37310 96e2b9a6f074
equal deleted inserted replaced
37296:1fad5b94c0ae 37297:a1acd424645a
   138               (case opTs of
   138               (case opTs of
   139                 NONE => fold_map mk_tvar (map snd tvars @ map snd tfrees) env
   139                 NONE => fold_map mk_tvar (map snd tvars @ map snd tfrees) env
   140               | SOME Ts => (Ts, env));
   140               | SOME Ts => (Ts, env));
   141             val prop' = subst_atomic_types (map TVar tvars @ map TFree tfrees ~~ Ts)
   141             val prop' = subst_atomic_types (map TVar tvars @ map TFree tfrees ~~ Ts)
   142               (forall_intr_vfs prop) handle Library.UnequalLengths =>
   142               (forall_intr_vfs prop) handle Library.UnequalLengths =>
   143                 error ("Wrong number of type arguments for " ^
   143                 error ("Wrong number of type arguments for " ^ quote (guess_name prf))
   144                   quote (get_name [] prop prf))
       
   145           in (prop', change_type (SOME Ts) prf, [], env', vTs) end;
   144           in (prop', change_type (SOME Ts) prf, [], env', vTs) end;
   146 
   145 
   147     fun head_norm (prop, prf, cnstrts, env, vTs) =
   146     fun head_norm (prop, prf, cnstrts, env, vTs) =
   148       (Envir.head_norm env prop, prf, cnstrts, env, vTs);
   147       (Envir.head_norm env prop, prf, cnstrts, env, vTs);
   149 
   148