equal
deleted
inserted
replaced
303 *} |
303 *} |
304 |
304 |
305 theorem "EX S. S ~: range (f :: 'a => 'a set)" |
305 theorem "EX S. S ~: range (f :: 'a => 'a set)" |
306 by best |
306 by best |
307 |
307 |
|
308 (* Finally, whole scripts may appear in the leaves of the proof tree, |
|
309 although this is best avoided. Here is a contrived example. *) |
|
310 |
|
311 lemma "A \<longrightarrow> (A \<longrightarrow>B) \<longrightarrow> B" |
|
312 proof |
|
313 assume A: A |
|
314 show "(A \<longrightarrow>B) \<longrightarrow> B" |
|
315 apply(rule impI) |
|
316 apply(erule impE) |
|
317 apply(rule A) |
|
318 apply assumption |
|
319 done |
|
320 qed |
|
321 |
|
322 |
|
323 (* You may need to resort to this technique if an automatic step fails to |
|
324 prove the desired proposition. *) |
|
325 |
308 end |
326 end |