src/Pure/proofterm.ML
changeset 74235 dbaed92fd8af
parent 74234 4f2bd13edce3
child 74266 612b7e0d6721
equal deleted inserted replaced
74234:4f2bd13edce3 74235:dbaed92fd8af
  1123 
  1123 
  1124 fun is_fun (Type ("fun", _)) = true
  1124 fun is_fun (Type ("fun", _)) = true
  1125   | is_fun (TVar _) = true
  1125   | is_fun (TVar _) = true
  1126   | is_fun _ = false;
  1126   | is_fun _ = false;
  1127 
  1127 
  1128 fun vars_of t = map Var (rev (Term.add_vars t []));
  1128 fun vars_of t = map Var (build_rev (Term.add_vars t));
  1129 
  1129 
  1130 fun add_funvars Ts (vs, t) =
  1130 fun add_funvars Ts (vs, t) =
  1131   if is_fun (fastype_of1 (Ts, t)) then
  1131   if is_fun (fastype_of1 (Ts, t)) then
  1132     union (op =) vs (map_filter (fn Var (ixn, T) =>
  1132     union (op =) vs (map_filter (fn Var (ixn, T) =>
  1133       if is_fun T then SOME ixn else NONE | _ => NONE) (vars_of t))
  1133       if is_fun T then SOME ixn else NONE | _ => NONE) (vars_of t))