equal
deleted
inserted
replaced
77 by (rtac subset_refl 2); |
77 by (rtac subset_refl 2); |
78 by (blast_tac (claset() addDs [PSP_stable2] |
78 by (blast_tac (claset() addDs [PSP_stable2] |
79 addIs [common_stable, LeadsTo_weaken_R]) 1); |
79 addIs [common_stable, LeadsTo_weaken_R]) 1); |
80 val lemma = result(); |
80 val lemma = result(); |
81 |
81 |
82 (*The "ALL m: Compl common" form echoes CMT6.*) |
82 (*The "ALL m: -common" form echoes CMT6.*) |
83 Goal "[| ALL m. Constrains prg {m} (maxfg m); \ |
83 Goal "[| ALL m. Constrains prg {m} (maxfg m); \ |
84 \ ALL m: Compl common. LeadsTo prg {m} (greaterThan m); \ |
84 \ ALL m: -common. LeadsTo prg {m} (greaterThan m); \ |
85 \ n: common; id: Acts prg |] \ |
85 \ n: common; id: Acts prg |] \ |
86 \ ==> LeadsTo prg (atMost (LEAST n. n: common)) common"; |
86 \ ==> LeadsTo prg (atMost (LEAST n. n: common)) common"; |
87 by (rtac lemma 1); |
87 by (rtac lemma 1); |
88 by (ALLGOALS Asm_simp_tac); |
88 by (ALLGOALS Asm_simp_tac); |
89 by (etac LeastI 2); |
89 by (etac LeastI 2); |