equal
deleted
inserted
replaced
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)) |