equal
deleted
inserted
replaced
71 Goal "[| ALL m. F : {m} Co (maxfg m); \ |
71 Goal "[| ALL m. F : {m} Co (maxfg m); \ |
72 \ ALL m: lessThan n. F : {m} LeadsTo (greaterThan m); \ |
72 \ ALL m: lessThan n. F : {m} LeadsTo (greaterThan m); \ |
73 \ n: common |] \ |
73 \ n: common |] \ |
74 \ ==> F : (atMost n) LeadsTo common"; |
74 \ ==> F : (atMost n) LeadsTo common"; |
75 by (rtac LeadsTo_weaken_R 1); |
75 by (rtac LeadsTo_weaken_R 1); |
76 by (res_inst_tac [("f","%x. x"), ("l", "n")] GreaterThan_bounded_induct 1); |
76 by (res_inst_tac [("f","id"), ("l","n")] GreaterThan_bounded_induct 1); |
77 by (ALLGOALS Asm_simp_tac); |
77 by (ALLGOALS Asm_simp_tac); |
78 by (rtac subset_refl 2); |
78 by (rtac subset_refl 2); |
79 by (blast_tac (claset() addDs [PSP_Stable2] |
79 by (blast_tac (claset() addDs [PSP_Stable2] |
80 addIs [common_stable, LeadsTo_weaken_R]) 1); |
80 addIs [common_stable, LeadsTo_weaken_R]) 1); |
81 val lemma = result(); |
81 val lemma = result(); |