src/Pure/Isar/obtain.ML
changeset 60377 234b7da8542e
parent 60315 c08adefc98ea
child 60379 51d9dcd71ad7
equal deleted inserted replaced
60376:528a48f4ad87 60377:234b7da8542e
   117     val (xs', fix_ctxt) = vars_ctxt |> Proof_Context.add_fixes vars;
   117     val (xs', fix_ctxt) = vars_ctxt |> Proof_Context.add_fixes vars;
   118     val xs = map (Variable.check_name o #1) vars;
   118     val xs = map (Variable.check_name o #1) vars;
   119 
   119 
   120     (*obtain asms*)
   120     (*obtain asms*)
   121     val (proppss, asms_ctxt) = prep_propp (map snd raw_asms) fix_ctxt;
   121     val (proppss, asms_ctxt) = prep_propp (map snd raw_asms) fix_ctxt;
   122     val ((_, bind_ctxt), _) = Proof_Context.bind_propp_i proppss asms_ctxt;
   122     val ((_, bind_ctxt), _) = Proof_Context.bind_propp proppss asms_ctxt;
   123     val asm_props = maps (map fst) proppss;
   123     val asm_props = maps (map fst) proppss;
   124     val asms = map fst (Attrib.map_specs (map (prep_att ctxt)) raw_asms) ~~ proppss;
   124     val asms = map fst (Attrib.map_specs (map (prep_att ctxt)) raw_asms) ~~ proppss;
   125 
   125 
   126     (*obtain parms*)
   126     (*obtain parms*)
   127     val (Ts, parms_ctxt) = fold_map Proof_Context.inferred_param xs' asms_ctxt;
   127     val (Ts, parms_ctxt) = fold_map Proof_Context.inferred_param xs' asms_ctxt;