equal
deleted
inserted
replaced
287 let |
287 let |
288 val (cprf' % SOME prop', thawf) = freeze_thaw_prf (cprf % SOME prop); |
288 val (cprf' % SOME prop', thawf) = freeze_thaw_prf (cprf % SOME prop); |
289 val _ = message "Collecting constraints..."; |
289 val _ = message "Collecting constraints..."; |
290 val (t, prf, cs, env, _) = make_constraints_cprf thy |
290 val (t, prf, cs, env, _) = make_constraints_cprf thy |
291 (Envir.empty (maxidx_proof cprf ~1)) cprf'; |
291 (Envir.empty (maxidx_proof cprf ~1)) cprf'; |
292 val cs' = map (fn p => (true, p, op union |
292 val cs' = map (fn p => (true, p, gen_union (op =) |
293 (pairself (map (fst o dest_Var) o OldTerm.term_vars) p))) |
293 (pairself (map (fst o dest_Var) o OldTerm.term_vars) p))) |
294 (map (pairself (Envir.norm_term env)) ((t, prop')::cs)); |
294 (map (pairself (Envir.norm_term env)) ((t, prop')::cs)); |
295 val _ = message ("Solving remaining constraints (" ^ string_of_int (length cs') ^ ") ..."); |
295 val _ = message ("Solving remaining constraints (" ^ string_of_int (length cs') ^ ") ..."); |
296 val env' = solve thy cs' env |
296 val env' = solve thy cs' env |
297 in |
297 in |