476 val (defs'', corr_prf) = |
476 val (defs'', corr_prf) = |
477 corr (d + 1) defs' vs' [] [] [] prf' prf' None; |
477 corr (d + 1) defs' vs' [] [] [] prf' prf' None; |
478 val args = vfs_of prop; |
478 val args = vfs_of prop; |
479 val corr_prf' = foldr forall_intr_prf (args, corr_prf); |
479 val corr_prf' = foldr forall_intr_prf (args, corr_prf); |
480 in |
480 in |
481 ((name, (vs', ((nullt, nullt), corr_prf'))) :: defs', |
481 ((name, (vs', ((nullt, nullt), corr_prf'))) :: defs'', |
482 prf_subst_TVars tye' corr_prf') |
482 prf_subst_TVars tye' corr_prf') |
483 end |
483 end |
484 | Some (_, prf') => (defs', prf_subst_TVars tye' prf')) |
484 | Some (_, prf') => (defs', prf_subst_TVars tye' prf')) |
485 | Some rs => (case find vs' rs of |
485 | Some rs => (case find vs' rs of |
486 Some (_, prf') => (defs', prf_subst_TVars tye' prf') |
486 Some (_, prf') => (defs', prf_subst_TVars tye' prf') |
578 (chtype [T --> propT] reflexive_axm %> f) %% |
578 (chtype [T --> propT] reflexive_axm %> f) %% |
579 PAxm (cname ^ "_def", eqn, |
579 PAxm (cname ^ "_def", eqn, |
580 Some (map TVar (term_tvars eqn))))) %% |
580 Some (map TVar (term_tvars eqn))))) %% |
581 corr_prf))) |
581 corr_prf))) |
582 in |
582 in |
583 ((s, (vs', ((t', u), corr_prf'))) :: defs', |
583 ((s, (vs', ((t', u), corr_prf'))) :: defs'', |
584 subst_TVars tye' u) |
584 subst_TVars tye' u) |
585 end |
585 end |
586 | Some ((_, u), _) => (defs, subst_TVars tye' u)) |
586 | Some ((_, u), _) => (defs, subst_TVars tye' u)) |
587 | Some rs => (case find vs' rs of |
587 | Some rs => (case find vs' rs of |
588 Some (t, _) => (defs, subst_TVars tye' t) |
588 Some (t, _) => (defs, subst_TVars tye' t) |