equal
deleted
inserted
replaced
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 |