aboutsummaryrefslogtreecommitdiffhomepage
path: root/isar/Example.thy
blob: 357fa09ee344f72cd03253a41a85e41a3b4aea59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
(*  -*- isar -*-

      Example proof document for Isabelle/Isar Proof General.
   
      $Id$

      The first line forces Isabelle/Isar Proof General, otherwise
      you may get the theory mode of ordinary Isabelle Proof General
      See the manual for other ways to select Isabelle/Isar PG.
*)

theory Example = Main:

text {* Proper proof text -- naive version. *}

theorem and_comms: "A & B --> B & A"
proof
  assume "A & B"
  then show "B & A"
  proof
    assume B and A
    then show ?thesis ..
  qed
qed


text {* Proper proof text -- advanced version. *}

theorem "A & B --> B & A"
proof
  assume "A & B"
  then obtain B and A ..
  then show "B & A" ..
qed


text {* Unstructured proof script. *}

theorem "A & B --> B & A"
  apply (rule impI)
  apply (erule conjE)
  apply (rule conjI)
   apply assumption
  apply assumption
  done

end