equal
deleted
inserted
replaced
82 (tvars @ map (fn ((_, S), ixn) => (ixn, S)) fmap ~~ map (Thm.global_ctyp_of thy) Ts); |
82 (tvars @ map (fn ((_, S), ixn) => (ixn, S)) fmap ~~ map (Thm.global_ctyp_of thy) Ts); |
83 in |
83 in |
84 Thm.instantiate (ctye, []) (forall_intr_vars (Thm.forall_intr_frees thm')) |
84 Thm.instantiate (ctye, []) (forall_intr_vars (Thm.forall_intr_frees thm')) |
85 end; |
85 end; |
86 |
86 |
87 fun thm_of _ _ (PThm (_, ((name, prop', SOME Ts, _), _))) = |
87 fun thm_of _ _ (PThm ({name, prop = prop', types = SOME Ts, ...}, _)) = |
88 let |
88 let |
89 val thm = Thm.unconstrainT (Drule.implies_intr_hyps (lookup name)); |
89 val thm = Thm.unconstrainT (Drule.implies_intr_hyps (lookup name)); |
90 val prop = Thm.prop_of thm; |
90 val prop = Thm.prop_of thm; |
91 val _ = |
91 val _ = |
92 if is_equal prop prop' then () |
92 if is_equal prop prop' then () |