diff -r d7944bdf7b3f -r 64fa844064fa CookBook/Package/simple_inductive_package.ML --- a/CookBook/Package/simple_inductive_package.ML Wed Mar 04 13:50:47 2009 +0000 +++ b/CookBook/Package/simple_inductive_package.ML Wed Mar 04 14:26:21 2009 +0000 @@ -124,29 +124,29 @@ (* @chunk add_inductive_i *) fun add_inductive_i preds params specs lthy = let - val params' = map (fn (p, T) => Free (Binding.base_name p, T)) params; - val preds' = map (fn ((R, T), _) => list_comb (Free (Binding.base_name R, T), params')) preds; + val params' = map (fn (p, T) => Free (Binding.name_of p, T)) params; + val preds' = map (fn ((R, T), _) => list_comb (Free (Binding.name_of R, T), params')) preds; val Tss = map (binder_types o fastype_of) preds'; val (ass,rules) = split_list specs; val (defs, lthy1) = definitions params' rules preds preds' Tss lthy - val (_, lthy2) = Variable.add_fixes (map (Binding.base_name o fst) params) lthy1; + val (_, lthy2) = Variable.add_fixes (map (Binding.name_of o fst) params) lthy1; val inducts = INDUCTION rules preds' Tss defs lthy1 lthy2 val intros = INTROS rules preds' defs lthy1 lthy2 - val mut_name = space_implode "_" (map (Binding.base_name o fst o fst) preds); - val case_names = map (Binding.base_name o fst o fst) specs + val mut_name = space_implode "_" (map (Binding.name_of o fst o fst) preds); + val case_names = map (Binding.name_of o fst o fst) specs in lthy1 |> LocalTheory.notes Thm.theoremK (map (fn (((a, atts), _), th) => - ((Binding.qualify mut_name a, atts), [([th], [])])) (specs ~~ intros)) + ((Binding.qualify false mut_name a, atts), [([th], [])])) (specs ~~ intros)) |-> (fn intross => LocalTheory.note Thm.theoremK - ((Binding.qualify mut_name (Binding.name "intros"), []), maps snd intross)) + ((Binding.qualify false mut_name (Binding.name "intros"), []), maps snd intross)) |>> snd ||>> (LocalTheory.notes Thm.theoremK (map (fn (((R, _), _), th) => - ((Binding.qualify (Binding.base_name R) (Binding.name "induct"), + ((Binding.qualify false (Binding.name_of R) (Binding.name "induct"), [Attrib.internal (K (RuleCases.case_names case_names)), Attrib.internal (K (RuleCases.consumes 1)), Attrib.internal (K (Induct.induct_pred ""))]), [([th], [])]))