src/Pure/Isar/attrib.ML
changeset 5894 71667e5c2ff8
parent 5879 18b8f048d93a
child 5912 3f95adea10c0
equal deleted inserted replaced
5893:c755dfd02509 5894:71667e5c2ff8
   206     val cenvT = map (apsnd (Thm.ctyp_of sign)) envT;
   206     val cenvT = map (apsnd (Thm.ctyp_of sign)) envT;
   207     val cenv = map2 (fn (xi, t) => pairself (Thm.cterm_of sign) (Var (xi, fastype_of t), t)) (xs, ts);
   207     val cenv = map2 (fn (xi, t) => pairself (Thm.cterm_of sign) (Var (xi, fastype_of t), t)) (xs, ts);
   208   in Thm.instantiate (cenvT, cenv) thm end;
   208   in Thm.instantiate (cenvT, cenv) thm end;
   209 
   209 
   210 
   210 
   211 val insts = Scan.lift (Args.enum1 "and" (Args.var --| Args.$$$ "=" -- Args.name));
   211 fun insts x = Scan.lift (Args.enum1 "and" (Args.var --| Args.$$$ "=" -- Args.name)) x;
   212 fun gen_where context_of = syntax (insts >> (Attribute.rule o read_instantiate context_of));
   212 fun gen_where context_of = syntax (insts >> (Attribute.rule o read_instantiate context_of));
   213 
   213 
   214 val global_where = gen_where ProofContext.init;
   214 val global_where = gen_where ProofContext.init;
   215 val local_where = gen_where I;
   215 val local_where = gen_where I;
   216 
   216