equal
deleted
inserted
replaced
53 val rhs = hs |
53 val rhs = hs |
54 val np = length ps |
54 val np = length ps |
55 val (fm',np) = List.foldr (fn ((x, T), (fm,n)) => mk_all ((x, T), (fm,n))) |
55 val (fm',np) = List.foldr (fn ((x, T), (fm,n)) => mk_all ((x, T), (fm,n))) |
56 (List.foldr HOLogic.mk_imp c rhs, np) ps |
56 (List.foldr HOLogic.mk_imp c rhs, np) ps |
57 val (vs, _) = List.partition (fn t => q orelse (type_of t) = nT) |
57 val (vs, _) = List.partition (fn t => q orelse (type_of t) = nT) |
58 (OldTerm.term_frees fm' @ OldTerm.term_vars fm'); |
58 (Misc_Legacy.term_frees fm' @ Misc_Legacy.term_vars fm'); |
59 val fm2 = List.foldr mk_all2 fm' vs |
59 val fm2 = List.foldr mk_all2 fm' vs |
60 in (fm2, np + length vs, length rhs) end; |
60 in (fm2, np + length vs, length rhs) end; |
61 |
61 |
62 (*Object quantifier to meta --*) |
62 (*Object quantifier to meta --*) |
63 fun spec_step n th = if (n=0) then th else (spec_step (n-1) th) RS spec ; |
63 fun spec_step n th = if (n=0) then th else (spec_step (n-1) th) RS spec ; |