equal
deleted
inserted
replaced
213 |
213 |
214 text {* |
214 text {* |
215 Second proof; statement is generalized to cater for prefixes and suffixes; |
215 Second proof; statement is generalized to cater for prefixes and suffixes; |
216 needs none of the lifting lemmas, but instantiations of pre/suffix. |
216 needs none of the lifting lemmas, but instantiations of pre/suffix. |
217 *} |
217 *} |
218 |
218 (* |
219 theorem assumes A: "\<langle>c,s\<rangle> \<longrightarrow>\<^sub>c t" |
219 theorem assumes A: "\<langle>c,s\<rangle> \<longrightarrow>\<^sub>c t" |
220 shows "\<And>a z. a@compile c@z \<turnstile> \<langle>s,size a\<rangle> -*\<rightarrow> \<langle>t,size a + size(compile c)\<rangle>" |
220 shows "\<And>a z. a@compile c@z \<turnstile> \<langle>s,size a\<rangle> -*\<rightarrow> \<langle>t,size a + size(compile c)\<rangle>" |
221 (is "\<And>a z. ?P c s t a z") |
221 (is "\<And>a z. ?P c s t a z") |
222 proof - |
222 proof - |
223 from A show "\<And>a z. ?thesis a z" |
223 from A show "\<And>a z. ?thesis a z" |
267 apply assumption |
267 apply assumption |
268 apply(rule converse_rtrancl_into_rtrancl) |
268 apply(rule converse_rtrancl_into_rtrancl) |
269 apply(force intro!: JMPB) |
269 apply(force intro!: JMPB) |
270 apply(simp) |
270 apply(simp) |
271 done |
271 done |
272 |
272 *) |
273 text {* Missing: the other direction! I did much of it, and although |
273 text {* Missing: the other direction! I did much of it, and although |
274 the main lemma is very similar to the one in the new development, the |
274 the main lemma is very similar to the one in the new development, the |
275 lemmas surrounding it seemed much more complicated. In the end I gave |
275 lemmas surrounding it seemed much more complicated. In the end I gave |
276 up. *} |
276 up. *} |
277 |
277 |