src/Tools/induct_tacs.ML
changeset 33957 e9afca2118d4
parent 33955 fff6f11b1f09
child 35625 9c818cab0dd0
equal deleted inserted replaced
33956:6f549f5e7066 33957:e9afca2118d4
    57 fun prep_var (Var (ixn, _), SOME x) = SOME (ixn, x)
    57 fun prep_var (Var (ixn, _), SOME x) = SOME (ixn, x)
    58   | prep_var _ = NONE;
    58   | prep_var _ = NONE;
    59 
    59 
    60 fun prep_inst (concl, xs) =
    60 fun prep_inst (concl, xs) =
    61   let val vs = Induct.vars_of concl
    61   let val vs = Induct.vars_of concl
    62   in map_filter prep_var ((uncurry drop) (length vs - length xs, vs) ~~ xs) end;
    62   in map_filter prep_var (drop (length vs - length xs) vs ~~ xs) end;
    63 
    63 
    64 in
    64 in
    65 
    65 
    66 fun gen_induct_tac ctxt0 varss opt_rules i st =
    66 fun gen_induct_tac ctxt0 varss opt_rules i st =
    67   let
    67   let