equal
deleted
inserted
replaced
169 fun flat_intro intro (new_defs, thy) = |
169 fun flat_intro intro (new_defs, thy) = |
170 let |
170 let |
171 val constname = fst (dest_Const (fst (strip_comb |
171 val constname = fst (dest_Const (fst (strip_comb |
172 (HOLogic.dest_Trueprop (Logic.strip_imp_concl (prop_of intro)))))) |
172 (HOLogic.dest_Trueprop (Logic.strip_imp_concl (prop_of intro)))))) |
173 val (intro_ts, (new_defs, thy)) = fold_map_atoms (process constname) (prop_of intro) (new_defs, thy) |
173 val (intro_ts, (new_defs, thy)) = fold_map_atoms (process constname) (prop_of intro) (new_defs, thy) |
174 val th = setmp quick_and_dirty true (SkipProof.make_thm thy) intro_ts |
174 val th = Skip_Proof.make_thm thy intro_ts |
175 in |
175 in |
176 (th, (new_defs, thy)) |
176 (th, (new_defs, thy)) |
177 end |
177 end |
178 fun fold_map_spec f [] s = ([], s) |
178 fun fold_map_spec f [] s = ([], s) |
179 | fold_map_spec f ((c, ths) :: specs) s = |
179 | fold_map_spec f ((c, ths) :: specs) s = |