--- a/src/HOL/Codatatype/Tools/bnf_sugar.ML Fri Aug 31 15:04:03 2012 +0200
+++ b/src/HOL/Codatatype/Tools/bnf_sugar.ML Fri Aug 31 15:04:03 2012 +0200
@@ -327,8 +327,7 @@
val goal_weak =
Logic.mk_implies (v_eq_w, mk_Trueprop_eq (caseof_fs $ v, caseof_fs $ w));
in
- (Skip_Proof.prove lthy [] [] goal (fn {context = ctxt, ...} =>
- mk_case_cong_tac ctxt exhaust_thm' case_thms),
+ (Skip_Proof.prove lthy [] [] goal (fn _ => mk_case_cong_tac exhaust_thm' case_thms),
Skip_Proof.prove lthy [] [] goal_weak (K (etac arg_cong 1)))
|> pairself (singleton (Proof_Context.export names_lthy lthy))
end;
@@ -350,8 +349,8 @@
(map3 mk_disjunct xctrs xss xfs)));
val split_thm =
- Skip_Proof.prove lthy [] [] goal (fn {context = ctxt, ...} =>
- mk_split_tac ctxt exhaust_thm' case_thms inject_thms distinct_thms)
+ Skip_Proof.prove lthy [] [] goal
+ (fn _ => mk_split_tac exhaust_thm' case_thms inject_thms distinct_thms)
|> singleton (Proof_Context.export names_lthy lthy)
val split_asm_thm =
Skip_Proof.prove lthy [] [] goal_asm (fn {context = ctxt, ...} =>
--- a/src/HOL/Codatatype/Tools/bnf_sugar_tactics.ML Fri Aug 31 15:04:03 2012 +0200
+++ b/src/HOL/Codatatype/Tools/bnf_sugar_tactics.ML Fri Aug 31 15:04:03 2012 +0200
@@ -7,14 +7,14 @@
signature BNF_SUGAR_TACTICS =
sig
- val mk_case_cong_tac: Proof.context -> thm -> thm list -> tactic
+ val mk_case_cong_tac: thm -> thm list -> tactic
val mk_case_disc_tac: Proof.context -> thm -> thm list -> thm list list -> thm list list -> tactic
val mk_ctr_sel_tac: Proof.context -> int -> thm -> thm list -> tactic
val mk_disc_exhaust_tac: int -> thm -> thm list -> tactic
val mk_half_disc_disjoint_tac: int -> thm -> thm -> tactic
val mk_nchotomy_tac: int -> thm -> tactic
val mk_other_half_disc_disjoint_tac: thm -> tactic
- val mk_split_tac: Proof.context -> thm -> thm list -> thm list -> thm list -> tactic
+ val mk_split_tac: thm -> thm list -> thm list -> thm list -> tactic
val mk_split_asm_tac: Proof.context -> thm -> tactic
end;
@@ -67,13 +67,13 @@
rtac case_thm]) case_thms sel_thmss)) 1
end;
-fun mk_case_cong_tac ctxt exhaust' case_thms =
+fun mk_case_cong_tac exhaust' case_thms =
(rtac exhaust' THEN'
EVERY' (maps (fn case_thm => [dtac sym, asm_simp_tac (ss_only [case_thm])]) case_thms)) 1;
val naked_ctxt = Proof_Context.init_global @{theory HOL};
-fun mk_split_tac ctxt exhaust' case_thms injects distincts =
+fun mk_split_tac exhaust' case_thms injects distincts =
rtac exhaust' 1 THEN
ALLGOALS (hyp_subst_tac THEN'
simp_tac (ss_only (@{thms simp_thms} @ case_thms @ injects @ distincts))) THEN