equal
deleted
inserted
replaced
289 |
289 |
290 \medskip In our example the situation is even simpler, since the two |
290 \medskip In our example the situation is even simpler, since the two |
291 cases actually coincide. Consequently the proof may be rephrased as |
291 cases actually coincide. Consequently the proof may be rephrased as |
292 follows. *} |
292 follows. *} |
293 |
293 |
294 lemma "P \<or> P --> P" |
294 lemma "P \<or> P \<longrightarrow> P" |
295 proof |
295 proof |
296 assume "P \<or> P" |
296 assume "P \<or> P" |
297 then show P |
297 then show P |
298 proof |
298 proof |
299 assume P |
299 assume P |
305 text {* Again, the rather vacuous body of the proof may be collapsed. |
305 text {* Again, the rather vacuous body of the proof may be collapsed. |
306 Thus the case analysis degenerates into two assumption steps, which |
306 Thus the case analysis degenerates into two assumption steps, which |
307 are implicitly performed when concluding the single rule step of the |
307 are implicitly performed when concluding the single rule step of the |
308 double-dot proof as follows. *} |
308 double-dot proof as follows. *} |
309 |
309 |
310 lemma "P \<or> P --> P" |
310 lemma "P \<or> P \<longrightarrow> P" |
311 proof |
311 proof |
312 assume "P \<or> P" |
312 assume "P \<or> P" |
313 then show P .. |
313 then show P .. |
314 qed |
314 qed |
315 |
315 |