src/Pure/Isar/expression.ML
changeset 30468 0cf8f536ef98
parent 30434 9b94b1358b95
child 30469 de9e8f1d927c
equal deleted inserted replaced
30467:afd0e5095c6b 30468:0cf8f536ef98
   672           val ((statement, intro, axioms), thy') =
   672           val ((statement, intro, axioms), thy') =
   673             thy
   673             thy
   674             |> def_pred aname parms defs' exts exts';
   674             |> def_pred aname parms defs' exts exts';
   675           val (_, thy'') =
   675           val (_, thy'') =
   676             thy'
   676             thy'
   677             |> Sign.add_path (Binding.name_of aname)
   677             |> Sign.sticky_prefix (Binding.name_of aname)
   678             |> Sign.no_base_names
       
   679             |> PureThy.note_thmss Thm.internalK
   678             |> PureThy.note_thmss Thm.internalK
   680               [((Binding.name introN, []), [([intro], [Locale.unfold_attrib])])]
   679               [((Binding.name introN, []), [([intro], [Locale.unfold_attrib])])]
   681             ||> Sign.restore_naming thy';
   680             ||> Sign.restore_naming thy';
   682           in (SOME statement, SOME intro, axioms, thy'') end;
   681           in (SOME statement, SOME intro, axioms, thy'') end;
   683     val (b_pred, b_intro, b_axioms, thy'''') =
   682     val (b_pred, b_intro, b_axioms, thy'''') =
   687           val ((statement, intro, axioms), thy''') =
   686           val ((statement, intro, axioms), thy''') =
   688             thy''
   687             thy''
   689             |> def_pred pname parms defs' (ints @ the_list a_pred) (ints' @ the_list a_pred);
   688             |> def_pred pname parms defs' (ints @ the_list a_pred) (ints' @ the_list a_pred);
   690           val (_, thy'''') =
   689           val (_, thy'''') =
   691             thy'''
   690             thy'''
   692             |> Sign.add_path (Binding.name_of pname)
   691             |> Sign.sticky_prefix (Binding.name_of pname)
   693             |> Sign.no_base_names
       
   694             |> PureThy.note_thmss Thm.internalK
   692             |> PureThy.note_thmss Thm.internalK
   695                  [((Binding.name introN, []), [([intro], [Locale.intro_attrib])]),
   693                  [((Binding.name introN, []), [([intro], [Locale.intro_attrib])]),
   696                   ((Binding.name axiomsN, []),
   694                   ((Binding.name axiomsN, []),
   697                     [(map (Drule.standard o Element.conclude_witness) axioms, [])])]
   695                     [(map (Drule.standard o Element.conclude_witness) axioms, [])])]
   698             ||> Sign.restore_naming thy''';
   696             ||> Sign.restore_naming thy''';