equal
deleted
inserted
replaced
478 TRACE rl (etac (if dup then rev_dup_elim rl else rl)) i |
478 TRACE rl (etac (if dup then rev_dup_elim rl else rl)) i |
479 THEN rot_subgoals_tac (map nNewHyps (#2 trl)) i |
479 THEN rot_subgoals_tac (map nNewHyps (#2 trl)) i |
480 |
480 |
481 in Option.SOME (trl, tac) end |
481 in Option.SOME (trl, tac) end |
482 handle Bind => (*reject: conclusion is not just a variable*) |
482 handle Bind => (*reject: conclusion is not just a variable*) |
483 (if !trace then (writeln"Warning: ignoring ill-formed elimination rule"; |
483 (if !trace then (warning ("ignoring ill-formed elimination rule\n" ^ |
484 print_thm rl) |
484 string_of_thm rl)) |
485 else (); |
485 else (); |
486 Option.NONE); |
486 Option.NONE); |
487 |
487 |
488 |
488 |
489 (*** Conversion of Introduction Rules ***) |
489 (*** Conversion of Introduction Rules ***) |