equal
deleted
inserted
replaced
89 val fvs = map Free (xs ~~ map snd alls); |
89 val fvs = map Free (xs ~~ map snd alls); |
90 in ((subst_bounds (fvs,body)), fvs) end; |
90 in ((subst_bounds (fvs,body)), fvs) end; |
91 |
91 |
92 fun fix_alls_cterm ctxt i th = |
92 fun fix_alls_cterm ctxt i th = |
93 let |
93 let |
94 val cert = Thm.cterm_of (Thm.theory_of_thm th); |
94 val cert = Thm.global_cterm_of (Thm.theory_of_thm th); |
95 val (fixedbody, fvs) = fix_alls_term ctxt i (Thm.prop_of th); |
95 val (fixedbody, fvs) = fix_alls_term ctxt i (Thm.prop_of th); |
96 val cfvs = rev (map cert fvs); |
96 val cfvs = rev (map cert fvs); |
97 val ct_body = cert fixedbody; |
97 val ct_body = cert fixedbody; |
98 in (ct_body, cfvs) end; |
98 in (ct_body, cfvs) end; |
99 |
99 |
138 ["SG0", ..., "SGm"] : thm list -> -- export function |
138 ["SG0", ..., "SGm"] : thm list -> -- export function |
139 "G" : thm) |
139 "G" : thm) |
140 *) |
140 *) |
141 fun subgoal_thms th = |
141 fun subgoal_thms th = |
142 let |
142 let |
143 val cert = Thm.cterm_of (Thm.theory_of_thm th); |
143 val cert = Thm.global_cterm_of (Thm.theory_of_thm th); |
144 |
144 |
145 val t = Thm.prop_of th; |
145 val t = Thm.prop_of th; |
146 |
146 |
147 val prems = Logic.strip_imp_prems t; |
147 val prems = Logic.strip_imp_prems t; |
148 val aprems = map (Thm.trivial o cert) prems; |
148 val aprems = map (Thm.trivial o cert) prems; |