src/HOL/Tools/inductive_package.ML
changeset 30364 577edc39b501
parent 30280 eb98b49ef835
child 30435 e62d6ecab6ad
equal deleted inserted replaced
30363:9b8d9b6ef803 30364:577edc39b501
   696       map (hd o snd);
   696       map (hd o snd);
   697     val (((_, elims'), (_, [induct'])), ctxt2) =
   697     val (((_, elims'), (_, [induct'])), ctxt2) =
   698       ctxt1 |>
   698       ctxt1 |>
   699       LocalTheory.note kind ((rec_qualified (Binding.name "intros"), []), intrs') ||>>
   699       LocalTheory.note kind ((rec_qualified (Binding.name "intros"), []), intrs') ||>>
   700       fold_map (fn (name, (elim, cases)) =>
   700       fold_map (fn (name, (elim, cases)) =>
   701         LocalTheory.note kind ((Binding.name (NameSpace.qualified (NameSpace.base_name name) "cases"),
   701         LocalTheory.note kind ((Binding.name (Long_Name.qualify (Long_Name.base_name name) "cases"),
   702           [Attrib.internal (K (RuleCases.case_names cases)),
   702           [Attrib.internal (K (RuleCases.case_names cases)),
   703            Attrib.internal (K (RuleCases.consumes 1)),
   703            Attrib.internal (K (RuleCases.consumes 1)),
   704            Attrib.internal (K (Induct.cases_pred name)),
   704            Attrib.internal (K (Induct.cases_pred name)),
   705            Attrib.internal (K (ContextRules.elim_query NONE))]), [elim]) #>
   705            Attrib.internal (K (ContextRules.elim_query NONE))]), [elim]) #>
   706         apfst (hd o snd)) (if null elims then [] else cnames ~~ elims) ||>>
   706         apfst (hd o snd)) (if null elims then [] else cnames ~~ elims) ||>>