equal
deleted
inserted
replaced
979 fun qtn (Type(a,tl)) = (a,tl) | |
979 fun qtn (Type(a,tl)) = (a,tl) | |
980 qtn _ = error "unexpected type variable in preprocess_td"; |
980 qtn _ = error "unexpected type variable in preprocess_td"; |
981 val s = post_last_dot(fst(qtn a)); |
981 val s = post_last_dot(fst(qtn a)); |
982 fun param_types ((Const("Trueprop",_)) $ (_ $ (Var(_,Type(_,t))))) = t | |
982 fun param_types ((Const("Trueprop",_)) $ (_ $ (Var(_,Type(_,t))))) = t | |
983 param_types _ = error "malformed induct-theorem in preprocess_td"; |
983 param_types _ = error "malformed induct-theorem in preprocess_td"; |
984 val pl = param_types (concl_of (get_thm (theory_of_sign sg) (s ^ ".induct"))); |
984 val pl = param_types (concl_of (get_thm (theory_of_sign sg) (s ^ ".induct", None))); |
985 val l = split_constrs sg (snd(qtn a)) pl (prems_of (get_thm (theory_of_sign sg) (s ^ ".induct"))); |
985 val l = split_constrs sg (snd(qtn a)) pl (prems_of (get_thm (theory_of_sign sg) (s ^ ".induct", None))); |
986 val ntl = new_types l; |
986 val ntl = new_types l; |
987 in |
987 in |
988 ((a,l) :: (preprocess_td sg (ntl @ b) (a :: done))) |
988 ((a,l) :: (preprocess_td sg (ntl @ b) (a :: done))) |
989 end) |
989 end) |
990 end; |
990 end; |