equal
deleted
inserted
replaced
112 (h as Const (name, _), ts) => (case Symtab.lookup tab name of |
112 (h as Const (name, _), ts) => (case Symtab.lookup tab name of |
113 SOME _ => |
113 SOME _ => |
114 let val rews = map mk_rew ts |
114 let val rews = map mk_rew ts |
115 in |
115 in |
116 if forall is_none rews then NONE |
116 if forall is_none rews then NONE |
117 else SOME (fold (fn th1 => fn th2 => combination th2 th1) |
117 else SOME (fold (fn th1 => fn th2 => Thm.combination th2 th1) |
118 (map2 (fn SOME r => K r | NONE => reflexive o cterm_of thy) |
118 (map2 (fn SOME r => K r | NONE => Thm.reflexive o cterm_of thy) |
119 rews ts) (reflexive (cterm_of thy h))) |
119 rews ts) (Thm.reflexive (cterm_of thy h))) |
120 end |
120 end |
121 | NONE => NONE) |
121 | NONE => NONE) |
122 | _ => NONE |
122 | _ => NONE |
123 end); |
123 end); |
124 |
124 |