equal
deleted
inserted
replaced
290 error (cat_lines ["Ill-formed premise", Sign.string_of_term sg p, |
290 error (cat_lines ["Ill-formed premise", Sign.string_of_term sg p, |
291 "in introduction rule " ^ quote name, Sign.string_of_term sg t, msg]); |
291 "in introduction rule " ^ quote name, Sign.string_of_term sg t, msg]); |
292 |
292 |
293 val bad_concl = "Conclusion of introduction rule must have form \"t : S_i\""; |
293 val bad_concl = "Conclusion of introduction rule must have form \"t : S_i\""; |
294 |
294 |
295 val atomize_cterm = InductMethod.rewrite_cterm inductive_atomize; |
295 val atomize_cterm = hol_rewrite_cterm inductive_atomize; |
296 fun full_simplify rews = Simplifier.full_simplify (HOL_basic_ss addsimps rews); |
|
297 |
296 |
298 in |
297 in |
299 |
298 |
300 fun check_rule sg cs ((name, rule), att) = |
299 fun check_rule sg cs ((name, rule), att) = |
301 let |
300 let |
319 ((name, arule), att) |
318 ((name, arule), att) |
320 end; |
319 end; |
321 |
320 |
322 val rulify = |
321 val rulify = |
323 standard o Tactic.norm_hhf o |
322 standard o Tactic.norm_hhf o |
324 full_simplify inductive_rulify2 o full_simplify inductive_rulify1 o |
323 hol_simplify inductive_rulify2 o hol_simplify inductive_rulify1 o |
325 full_simplify inductive_conj; |
324 hol_simplify inductive_conj; |
326 |
325 |
327 end; |
326 end; |
328 |
327 |
329 |
328 |
330 |
329 |