src/Pure/Isar/method.ML
changeset 45375 7fe19930dfc9
parent 45228 aa3ad19c05d5
child 46466 61c7214b4885
equal deleted inserted replaced
45374:e99fd663c4a3 45375:7fe19930dfc9
   394 type modifier = (Proof.context -> Proof.context) * attribute;
   394 type modifier = (Proof.context -> Proof.context) * attribute;
   395 
   395 
   396 local
   396 local
   397 
   397 
   398 fun thms ss = Scan.repeat (Scan.unless (Scan.lift (Scan.first ss)) Attrib.multi_thm) >> flat;
   398 fun thms ss = Scan.repeat (Scan.unless (Scan.lift (Scan.first ss)) Attrib.multi_thm) >> flat;
   399 fun app (f, att) (context, ths) = Library.foldl_map att (Context.map_proof f context, ths);
   399 fun app (f, att) (context, ths) =
       
   400   Library.foldl_map (Thm.apply_attribute att) (Context.map_proof f context, ths);
   400 
   401 
   401 in
   402 in
   402 
   403 
   403 fun section ss = Scan.depend (fn context => (Scan.first ss -- Scan.pass context (thms ss)) :|--
   404 fun section ss = Scan.depend (fn context => (Scan.first ss -- Scan.pass context (thms ss)) :|--
   404   (fn (m, ths) => Scan.succeed (app m (context, ths))));
   405   (fn (m, ths) => Scan.succeed (app m (context, ths))));