equal
deleted
inserted
replaced
414 fun prove_intrs coind mono fp_def intr_ts con_defs rec_sets_defs thy = |
414 fun prove_intrs coind mono fp_def intr_ts con_defs rec_sets_defs thy = |
415 let |
415 let |
416 val _ = message " Proving the introduction rules ..."; |
416 val _ = message " Proving the introduction rules ..."; |
417 |
417 |
418 val unfold = standard (mono RS (fp_def RS |
418 val unfold = standard (mono RS (fp_def RS |
419 (if coind then def_gfp_Tarski else def_lfp_Tarski))); |
419 (if coind then def_gfp_unfold else def_lfp_unfold))); |
420 |
420 |
421 fun select_disj 1 1 = [] |
421 fun select_disj 1 1 = [] |
422 | select_disj _ 1 = [rtac disjI1] |
422 | select_disj _ 1 = [rtac disjI1] |
423 | select_disj n i = (rtac disjI2)::(select_disj (n - 1) (i - 1)); |
423 | select_disj n i = (rtac disjI2)::(select_disj (n - 1) (i - 1)); |
424 |
424 |