Induction rule for graph of recursion combinator
authorberghofe
Thu, 19 Oct 2006 12:08:27 +0200
changeset 21055 e053811d680e
parent 21054 6048c085c3ae
child 21056 2cfe839e8d58
Induction rule for graph of recursion combinator is now hidden to prevent name collisions with induction rule for nominal datatype.
src/HOL/Nominal/nominal_package.ML
--- a/src/HOL/Nominal/nominal_package.ML	Thu Oct 19 11:21:01 2006 +0200
+++ b/src/HOL/Nominal/nominal_package.ML	Thu Oct 19 12:08:27 2006 +0200
@@ -1436,13 +1436,16 @@
           (([], [], [], [], 0), descr'' ~~ ndescr ~~ recTs ~~ rec_preds ~~ rec_sets');
 
     val (thy11, {intrs = rec_intrs, elims = rec_elims, raw_induct = rec_induct, ...}) =
+      thy10 |>
       setmp InductivePackage.quiet_mode (!quiet_mode)
         (TheoryTarget.init NONE #>
          InductivePackage.add_inductive_i false big_rec_name false false false
            (map (fn (s, T) => (s, SOME T, NoSyn)) (rec_set_names' ~~ rec_set_Ts))
            (map (apsnd SOME o dest_Free) rec_fns)
            (map (fn x => (("", []), x)) rec_intr_ts) [] #>
-         apfst (snd o LocalTheory.exit false)) thy10;
+         apfst (snd o LocalTheory.exit false)) |>>
+      PureThy.hide_thms true [NameSpace.append
+        (Sign.full_name thy10 big_rec_name) "induct"];
 
     (** equivariance **)