equal
deleted
inserted
replaced
87 val prems_of: Proof.context -> thm list |
87 val prems_of: Proof.context -> thm list |
88 val add_simp: thm -> Proof.context -> Proof.context |
88 val add_simp: thm -> Proof.context -> Proof.context |
89 val del_simp: thm -> Proof.context -> Proof.context |
89 val del_simp: thm -> Proof.context -> Proof.context |
90 val flip_simp: thm -> Proof.context -> Proof.context |
90 val flip_simp: thm -> Proof.context -> Proof.context |
91 val init_simpset: thm list -> Proof.context -> Proof.context |
91 val init_simpset: thm list -> Proof.context -> Proof.context |
|
92 val mk_cong: Proof.context -> thm -> thm |
92 val add_eqcong: thm -> Proof.context -> Proof.context |
93 val add_eqcong: thm -> Proof.context -> Proof.context |
93 val del_eqcong: thm -> Proof.context -> Proof.context |
94 val del_eqcong: thm -> Proof.context -> Proof.context |
94 val add_cong: thm -> Proof.context -> Proof.context |
95 val add_cong: thm -> Proof.context -> Proof.context |
95 val del_cong: thm -> Proof.context -> Proof.context |
96 val del_cong: thm -> Proof.context -> Proof.context |
96 val mksimps: Proof.context -> thm -> thm list |
97 val mksimps: Proof.context -> thm -> thm list |
704 in |
705 in |
705 f = g andalso not (has_duplicates (op =) (xs @ ys)) andalso length xs = length ys andalso |
706 f = g andalso not (has_duplicates (op =) (xs @ ys)) andalso length xs = length ys andalso |
706 is_full_cong_prems prems (xs ~~ ys) |
707 is_full_cong_prems prems (xs ~~ ys) |
707 end; |
708 end; |
708 |
709 |
|
710 in |
|
711 |
709 fun mk_cong ctxt = #mk_cong (get_mk_rews ctxt) ctxt; |
712 fun mk_cong ctxt = #mk_cong (get_mk_rews ctxt) ctxt; |
710 |
|
711 in |
|
712 |
713 |
713 fun add_eqcong thm ctxt = ctxt |> map_simpset2 |
714 fun add_eqcong thm ctxt = ctxt |> map_simpset2 |
714 (fn (congs, procs, mk_rews, term_ord, subgoal_tac, loop_tacs, solvers) => |
715 (fn (congs, procs, mk_rews, term_ord, subgoal_tac, loop_tacs, solvers) => |
715 let |
716 let |
716 val (lhs, _) = Logic.dest_equals (Thm.concl_of thm) |
717 val (lhs, _) = Logic.dest_equals (Thm.concl_of thm) |