equal
deleted
inserted
replaced
108 iTs = Vartab.make Tenv, asol = Vartab.make tenv}; |
108 iTs = Vartab.make Tenv, asol = Vartab.make tenv}; |
109 val env'' = foldl (fn (env, p) => |
109 val env'' = foldl (fn (env, p) => |
110 Pattern.unify (sign, env, [pairself rew p])) (env', prems') |
110 Pattern.unify (sign, env, [pairself rew p])) (env', prems') |
111 in Some (Envir.norm_term env'' (inc (ren tm2))) |
111 in Some (Envir.norm_term env'' (inc (ren tm2))) |
112 end handle Pattern.MATCH => None | Pattern.Unif => None) |
112 end handle Pattern.MATCH => None | Pattern.Unif => None) |
113 (sort (int_ord o pairself fst) |
113 (sort (Int.compare o pairself fst) |
114 (Net.match_term rules (Pattern.eta_contract tm))); |
114 (Net.match_term rules (Pattern.eta_contract tm))); |
115 |
115 |
116 in rew end; |
116 in rew end; |
117 |
117 |
118 val chtype = change_type o Some; |
118 val chtype = change_type o Some; |