equal
deleted
inserted
replaced
161 (* zero var indexes *) |
161 (* zero var indexes *) |
162 |
162 |
163 fun zero_var_inst vars = |
163 fun zero_var_inst vars = |
164 fold (fn v as ((x, i), X) => fn (inst, used) => |
164 fold (fn v as ((x, i), X) => fn (inst, used) => |
165 let |
165 let |
166 val ([x'], used') = Name.variants [if Name.is_bound x then "u" else x] used; |
166 val (x', used') = Name.variant (if Name.is_bound x then "u" else x) used; |
167 in if x = x' andalso i = 0 then (inst, used') else ((v, ((x', 0), X)) :: inst, used') end) |
167 in if x = x' andalso i = 0 then (inst, used') else ((v, ((x', 0), X)) :: inst, used') end) |
168 vars ([], Name.context) |> #1; |
168 vars ([], Name.context) |> #1; |
169 |
169 |
170 fun zero_var_indexes_inst ts = |
170 fun zero_var_indexes_inst ts = |
171 let |
171 let |