379 val params = rev (Logic.strip_params subgi) |
379 val params = rev (Logic.strip_params subgi) |
380 in variants_abs (params, Logic.strip_assums_concl subgi) end; |
380 in variants_abs (params, Logic.strip_assums_concl subgi) end; |
381 |
381 |
382 (*print lhs of conclusion of subgoal i*) |
382 (*print lhs of conclusion of subgoal i*) |
383 fun pr_goal_lhs i st = |
383 fun pr_goal_lhs i st = |
384 writeln (Sign.string_of_term (Thm.theory_of_thm st) |
384 writeln (Syntax.string_of_term_global (Thm.theory_of_thm st) |
385 (lhs_of (prepare_goal i st))); |
385 (lhs_of (prepare_goal i st))); |
386 |
386 |
387 (*print conclusion of subgoal i*) |
387 (*print conclusion of subgoal i*) |
388 fun pr_goal_concl i st = |
388 fun pr_goal_concl i st = |
389 writeln (Sign.string_of_term (Thm.theory_of_thm st) (prepare_goal i st)) |
389 writeln (Syntax.string_of_term_global (Thm.theory_of_thm st) (prepare_goal i st)) |
390 |
390 |
391 (*print subgoals i to j (inclusive)*) |
391 (*print subgoals i to j (inclusive)*) |
392 fun pr_goals (i,j) st = |
392 fun pr_goals (i,j) st = |
393 if i>j then () |
393 if i>j then () |
394 else (pr_goal_concl i st; pr_goals (i+1,j) st); |
394 else (pr_goal_concl i st; pr_goals (i+1,j) st); |