src/Pure/Isar/specification.ML
changeset 70308 7f568724d67e
parent 69992 bd3c10813cc4
child 70729 c92d2abcc998
equal deleted inserted replaced
70307:53d21039518a 70308:7f568724d67e
   388 
   388 
   389 fun prep_statement prep_att prep_stmt raw_elems raw_stmt ctxt =
   389 fun prep_statement prep_att prep_stmt raw_elems raw_stmt ctxt =
   390   let
   390   let
   391     val (stmt, elems_ctxt) = prep_stmt raw_elems raw_stmt ctxt;
   391     val (stmt, elems_ctxt) = prep_stmt raw_elems raw_stmt ctxt;
   392     val prems = Assumption.local_prems_of elems_ctxt ctxt;
   392     val prems = Assumption.local_prems_of elems_ctxt ctxt;
   393     val stmt_ctxt = fold (fold (Variable.auto_fixes o fst) o snd) stmt elems_ctxt;
   393     val stmt_ctxt = fold (fold (Proof_Context.augment o fst) o snd) stmt elems_ctxt;
   394   in
   394   in
   395     (case raw_stmt of
   395     (case raw_stmt of
   396       Element.Shows _ =>
   396       Element.Shows _ =>
   397         let val stmt' = Attrib.map_specs (map prep_att) stmt
   397         let val stmt' = Attrib.map_specs (map prep_att) stmt
   398         in (([], prems, stmt', NONE), stmt_ctxt) end
   398         in (([], prems, stmt', NONE), stmt_ctxt) end