src/Pure/Isar/locale.ML
changeset 18330 444f16d232a2
parent 18213 c22ee06ac1a7
child 18343 e36238ac5359
equal deleted inserted replaced
18329:221d47d17a81 18330:444f16d232a2
  1217        to context *)
  1217        to context *)
  1218     val ctxt = fold ProofContext.declare_term (List.concat (map (map fst) all_propp)) ctxt;
  1218     val ctxt = fold ProofContext.declare_term (List.concat (map (map fst) all_propp)) ctxt;
  1219 
  1219 
  1220     (* CB: resolve schematic variables (patterns) in conclusion and external
  1220     (* CB: resolve schematic variables (patterns) in conclusion and external
  1221        elements. *)
  1221        elements. *)
  1222     val all_propp' = map2 (op ~~)
  1222     val all_propp' = map2 (curry (op ~~))
  1223       (#1 (#2 (ProofContext.bind_propp_schematic_i (ctxt, all_propp))), map (map snd) all_propp);
  1223       (#1 (#2 (ProofContext.bind_propp_schematic_i (ctxt, all_propp)))) (map (map snd) all_propp);
  1224     val (concl, propp) = splitAt(length raw_concl, all_propp');
  1224     val (concl, propp) = splitAt(length raw_concl, all_propp');
  1225     val propps = unflat raw_propps propp;
  1225     val propps = unflat raw_propps propp;
  1226     val proppss = map (uncurry unflat) (raw_proppss ~~ propps);
  1226     val proppss = map (uncurry unflat) (raw_proppss ~~ propps);
  1227 
  1227 
  1228     (* CB: obtain all parameters from identifier part of raw_elemss *)
  1228     (* CB: obtain all parameters from identifier part of raw_elemss *)