doc-src/TutorialI/Overview/Isar0.thy
changeset 13262 bbfc360db011
parent 13258 8f394f266025
equal deleted inserted replaced
13261:a0460a450cf9 13262:bbfc360db011
   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