src/HOL/Tools/inductive_set_package.ML
changeset 28791 cc16be808796
parent 28723 c4fcffe0fe48
child 28941 128459bd72d2
equal deleted inserted replaced
28790:2efba7b18c5b 28791:cc16be808796
   497               [conv_thm]) |> snd
   497               [conv_thm]) |> snd
   498         end) (preds ~~ cs ~~ cs_info ~~ defs) ctxt2;
   498         end) (preds ~~ cs ~~ cs_info ~~ defs) ctxt2;
   499 
   499 
   500     (* convert theorems to set notation *)
   500     (* convert theorems to set notation *)
   501     val rec_name =
   501     val rec_name =
   502       if Name.name_of alt_name = "" then
   502       if Name.is_nothing alt_name then
   503         Name.binding (space_implode "_" (map (Name.name_of o fst) cnames_syn))
   503         Name.binding (space_implode "_" (map (Name.name_of o fst) cnames_syn))
   504       else alt_name;
   504       else alt_name;
   505     val cnames = map (Sign.full_name (ProofContext.theory_of ctxt3) o Name.name_of o #1) cnames_syn;  (* FIXME *)
   505     val cnames = map (Sign.full_name (ProofContext.theory_of ctxt3) o Name.name_of o #1) cnames_syn;  (* FIXME *)
   506     val (intr_names, intr_atts) = split_list (map fst intros);
   506     val (intr_names, intr_atts) = split_list (map fst intros);
   507     val raw_induct' = to_set [] (Context.Proof ctxt3) raw_induct;
   507     val raw_induct' = to_set [] (Context.Proof ctxt3) raw_induct;