equal
deleted
inserted
replaced
164 if free <> free' orelse name <> name' then |
164 if free <> free' orelse name <> name' then |
165 instantiations |
165 instantiations |
166 else case Consttab.lookup insttab constant of |
166 else case Consttab.lookup insttab constant of |
167 SOME _ => instantiations |
167 SOME _ => instantiations |
168 | NONE => ((constant', (constant, Sign.typ_match thy (ty', ty) empty_subst))::instantiations |
168 | NONE => ((constant', (constant, Sign.typ_match thy (ty', ty) empty_subst))::instantiations |
169 handle TYPE_MATCH => instantiations)) |
169 handle Type.TYPE_MATCH => instantiations)) |
170 ctab instantiations |
170 ctab instantiations |
171 val instantiations = fold calc_instantiations cs [] |
171 val instantiations = fold calc_instantiations cs [] |
172 (*val _ = writeln ("instantiations = "^(makestring (length instantiations)))*) |
172 (*val _ = writeln ("instantiations = "^(makestring (length instantiations)))*) |
173 fun update_ctab (constant', entry) ctab = |
173 fun update_ctab (constant', entry) ctab = |
174 (case Consttab.lookup ctab constant' of |
174 (case Consttab.lookup ctab constant' of |