src/HOL/Decision_Procs/cooper_tac.ML
changeset 44121 44adaa6db327
parent 43594 ef1ddc59b825
child 45620 f2a587696afb
equal deleted inserted replaced
44120:01de796250a0 44121:44adaa6db327
    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 ;