src/HOL/Tools/inductive_set.ML
changeset 71214 5727bcc3c47c
parent 71179 592e2afdd50c
child 74282 c2ee8d993d6a
equal deleted inserted replaced
71213:39ccdbbed539 71214:5727bcc3c47c
   501 
   501 
   502     (* convert theorems to set notation *)
   502     (* convert theorems to set notation *)
   503     val rec_name =
   503     val rec_name =
   504       if Binding.is_empty alt_name then Binding.conglomerate (map #1 cnames_syn) else alt_name;
   504       if Binding.is_empty alt_name then Binding.conglomerate (map #1 cnames_syn) else alt_name;
   505     val cnames = map (Local_Theory.full_name lthy3 o #1) cnames_syn;  (* FIXME *)
   505     val cnames = map (Local_Theory.full_name lthy3 o #1) cnames_syn;  (* FIXME *)
   506     val spec_name = Local_Theory.full_name lthy3 (Binding.conglomerate (map #1 cnames_syn));
   506     val spec_name = Binding.conglomerate (map #1 cnames_syn);
   507     val (intr_names, intr_atts) = split_list (map fst intros);
   507     val (intr_names, intr_atts) = split_list (map fst intros);
   508     val raw_induct' = to_set [] (Context.Proof lthy3) raw_induct;
   508     val raw_induct' = to_set [] (Context.Proof lthy3) raw_induct;
   509     val (intrs', elims', eqs', induct, inducts, lthy4) =
   509     val (intrs', elims', eqs', induct, inducts, lthy4) =
   510       Inductive.declare_rules rec_name coind no_ind spec_name cnames (map fst defs)
   510       Inductive.declare_rules rec_name coind no_ind spec_name cnames (map fst defs)
   511         (map (to_set [] (Context.Proof lthy3)) intrs) intr_names intr_atts
   511         (map (to_set [] (Context.Proof lthy3)) intrs) intr_names intr_atts