aboutsummaryrefslogtreecommitdiffhomepage
path: root/isar/Example.thy
blob: 16114823f372426898def836c630dbbc5974abf0 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
(*
      Example proof document for Isabelle/Isar Proof General.
   
      $Id$
*)

theory Example imports Main begin

text {* Proper proof text -- \textit{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

(* but on the other hand, who knows? *)

text {* Proper proof text -- \textit{advanced ve"rs"ion}. What do you think?  Who knows. *}
theorem "B & A --> A & B"
proof
  assume "B & A"  -- "one of those kinds"
  then obtain A and B ..
  then show "A & B" ..
qed 


(* foo bar wiggle *)

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


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" -- {* foo bar *}
  apply (rule impI)
  apply (erule conjE)
  apply (rule conjI)
  apply assumption
  apply assumption
done

end