equal
deleted
inserted
replaced
1223 end; |
1223 end; |
1224 |
1224 |
1225 in |
1225 in |
1226 SUBGOAL (fn (A, n) => fn st => |
1226 SUBGOAL (fn (A, n) => fn st => |
1227 let |
1227 let |
1228 val thy = ProofContext.theory_of ctxt; |
1228 val thy = Proof_Context.theory_of ctxt; |
1229 val rfrees = map Free (Term.rename_wrt_term A (Logic.strip_params A)); |
1229 val rfrees = map Free (Term.rename_wrt_term A (Logic.strip_params A)); |
1230 val Hs = map prop_of prems @ map (fn H => subst_bounds (rfrees, H)) (Logic.strip_assums_hyp A) |
1230 val Hs = map prop_of prems @ map (fn H => subst_bounds (rfrees, H)) (Logic.strip_assums_hyp A) |
1231 val C = subst_bounds (rfrees, Logic.strip_assums_concl A) |
1231 val C = subst_bounds (rfrees, Logic.strip_assums_concl A) |
1232 val lesss = flat (map_index (mkasm decomp less_thms thy) Hs) |
1232 val lesss = flat (map_index (mkasm decomp less_thms thy) Hs) |
1233 val prfs = gen_solve mkconcl thy (lesss, C); |
1233 val prfs = gen_solve mkconcl thy (lesss, C); |