equal
deleted
inserted
replaced
1647 ((SOME "prems" :: names_of ctxt' pred_name) ~~ Logic.strip_imp_prems case_rule), |
1647 ((SOME "prems" :: names_of ctxt' pred_name) ~~ Logic.strip_imp_prems case_rule), |
1648 binds = [], cases = []}) preds cases_rules |
1648 binds = [], cases = []}) preds cases_rules |
1649 val case_env = map2 (fn p => fn c => (Long_Name.base_name p, SOME c)) preds cases |
1649 val case_env = map2 (fn p => fn c => (Long_Name.base_name p, SOME c)) preds cases |
1650 val lthy'' = lthy' |
1650 val lthy'' = lthy' |
1651 |> fold Variable.auto_fixes cases_rules |
1651 |> fold Variable.auto_fixes cases_rules |
1652 |> Proof_Context.update_cases true case_env |
1652 |> Proof_Context.update_cases case_env |
1653 fun after_qed thms goal_ctxt = |
1653 fun after_qed thms goal_ctxt = |
1654 let |
1654 let |
1655 val global_thms = Proof_Context.export goal_ctxt |
1655 val global_thms = Proof_Context.export goal_ctxt |
1656 (Proof_Context.init_global (Proof_Context.theory_of goal_ctxt)) (map the_single thms) |
1656 (Proof_Context.init_global (Proof_Context.theory_of goal_ctxt)) (map the_single thms) |
1657 in |
1657 in |