avoid using stale theory
authorhuffman
Tue, 09 Nov 2010 04:47:46 -0800
changeset 40488 c67253b83dc8
parent 40487 1320a0747974
child 40489 0f37a553bc1a
avoid using stale theory
src/HOLCF/Tools/Domain/domain_induction.ML
--- a/src/HOLCF/Tools/Domain/domain_induction.ML	Mon Nov 08 15:13:45 2010 -0800
+++ b/src/HOLCF/Tools/Domain/domain_induction.ML	Tue Nov 09 04:47:46 2010 -0800
@@ -50,7 +50,7 @@
     fun is_ID (Const (c, _)) = (c = @{const_name ID})
       | is_ID _              = false;
   in
-    fun map_of_arg v T =
+    fun map_of_arg thy v T =
       let val m = Domain_Take_Proofs.map_of_typ thy subs T;
       in if is_ID m then v else mk_capply (m, v) end;
   end
@@ -66,7 +66,7 @@
           val ns = Name.variant_list ["n"] (Datatype_Prop.make_tnames Ts);
           val vs = map Free (ns ~~ Ts);
           val lhs = mk_capply (take_const $ n', list_ccomb (con_const, vs));
-          val rhs = list_ccomb (con_const, map2 map_of_arg vs Ts);
+          val rhs = list_ccomb (con_const, map2 (map_of_arg thy) vs Ts);
           val goal = mk_trp (mk_eq (lhs, rhs));
           val rules =
               [abs_inverse] @ con_betas @ @{thms take_con_rules}