equal
deleted
inserted
replaced
570 |
570 |
571 val (term_pairing, type_pairing) = |
571 val (term_pairing, type_pairing) = |
572 diff thy (scheme_t, instance_t) |
572 diff thy (scheme_t, instance_t) |
573 |
573 |
574 (*valuation of type variables*) |
574 (*valuation of type variables*) |
575 val typeval = map (apply2 (Thm.ctyp_of thy)) type_pairing |
575 val typeval = map (apply2 (Thm.global_ctyp_of thy)) type_pairing |
576 |
576 |
577 val typeval_env = |
577 val typeval_env = |
578 map (apfst dest_TVar) type_pairing |
578 map (apfst dest_TVar) type_pairing |
579 (*valuation of term variables*) |
579 (*valuation of term variables*) |
580 val termval = |
580 val termval = |
581 map (apfst (type_devar typeval_env)) term_pairing |
581 map (apfst (type_devar typeval_env)) term_pairing |
582 |> map (apply2 (Thm.cterm_of thy)) |
582 |> map (apply2 (Thm.global_cterm_of thy)) |
583 in |
583 in |
584 Thm.instantiate (typeval, termval) scheme_thm |
584 Thm.instantiate (typeval, termval) scheme_thm |
585 end |
585 end |
586 |
586 |
587 (*FIXME this is bad form?*) |
587 (*FIXME this is bad form?*) |