made tactic even more robust w.r.t. dead variables
authortraytel
Mon, 08 Sep 2014 20:42:52 +0200
changeset 58237 17200800a553
parent 58236 4967e67cc53d
child 58238 a701907d621e
made tactic even more robust w.r.t. dead variables
src/HOL/Tools/BNF/bnf_fp_n2m_tactics.ML
--- a/src/HOL/Tools/BNF/bnf_fp_n2m_tactics.ML	Mon Sep 08 19:21:19 2014 +0200
+++ b/src/HOL/Tools/BNF/bnf_fp_n2m_tactics.ML	Mon Sep 08 20:42:52 2014 +0200
@@ -23,7 +23,8 @@
 fun mk_rel_xtor_co_induct_tactic fp abs_inverses co_inducts0 rel_defs rel_monos nesting_rel_eqs
   {context = ctxt, prems = raw_C_IHs} =
   let
-    val co_inducts = map (unfold_thms ctxt (vimage2p_unfolds @ nesting_rel_eqs)) co_inducts0;
+    val co_inducts = map (unfold_thms ctxt
+      (vimage2p_unfolds @ @{thms prod.rel_eq sum.rel_eq} @ nesting_rel_eqs)) co_inducts0;
     val unfolds = map (fn def =>
       unfold_thms ctxt (id_apply :: vimage2p_unfolds @ abs_inverses @ no_reflexive [def])) rel_defs;
     val folded_C_IHs = map (fn thm => thm RS @{thm spec2} RS mp) raw_C_IHs;