equal
deleted
inserted
replaced
27 (** 1=0 ==> R **) |
27 (** 1=0 ==> R **) |
28 val one_neq_0 = one_not_0 RS notE; |
28 val one_neq_0 = one_not_0 RS notE; |
29 |
29 |
30 val major::prems = goalw Bool.thy bool_defs |
30 val major::prems = goalw Bool.thy bool_defs |
31 "[| c: bool; c=1 ==> P; c=0 ==> P |] ==> P"; |
31 "[| c: bool; c=1 ==> P; c=0 ==> P |] ==> P"; |
32 br (major RS consE) 1; |
32 by (rtac (major RS consE) 1); |
33 by (REPEAT (eresolve_tac (singletonE::prems) 1)); |
33 by (REPEAT (eresolve_tac (singletonE::prems) 1)); |
34 val boolE = result(); |
34 val boolE = result(); |
35 |
35 |
36 (** cond **) |
36 (** cond **) |
37 |
37 |
117 goal Bool.thy "!!a. a: bool ==> a and a = a"; |
117 goal Bool.thy "!!a. a: bool ==> a and a = a"; |
118 by (bool0_tac 1); |
118 by (bool0_tac 1); |
119 val and_absorb = result(); |
119 val and_absorb = result(); |
120 |
120 |
121 goal Bool.thy "!!a b. [| a: bool; b:bool |] ==> a and b = b and a"; |
121 goal Bool.thy "!!a b. [| a: bool; b:bool |] ==> a and b = b and a"; |
122 be boolE 1; |
122 by (etac boolE 1); |
123 by (bool0_tac 1); |
123 by (bool0_tac 1); |
124 by (bool0_tac 1); |
124 by (bool0_tac 1); |
125 val and_commute = result(); |
125 val and_commute = result(); |
126 |
126 |
127 goal Bool.thy |
127 goal Bool.thy |
140 goal Bool.thy "!!a. a: bool ==> a or a = a"; |
140 goal Bool.thy "!!a. a: bool ==> a or a = a"; |
141 by (bool0_tac 1); |
141 by (bool0_tac 1); |
142 val or_absorb = result(); |
142 val or_absorb = result(); |
143 |
143 |
144 goal Bool.thy "!!a b. [| a: bool; b:bool |] ==> a or b = b or a"; |
144 goal Bool.thy "!!a b. [| a: bool; b:bool |] ==> a or b = b or a"; |
145 be boolE 1; |
145 by (etac boolE 1); |
146 by (bool0_tac 1); |
146 by (bool0_tac 1); |
147 by (bool0_tac 1); |
147 by (bool0_tac 1); |
148 val or_commute = result(); |
148 val or_commute = result(); |
149 |
149 |
150 goal Bool.thy "!!a. a: bool ==> (a or b) or c = a or (b or c)"; |
150 goal Bool.thy "!!a. a: bool ==> (a or b) or c = a or (b or c)"; |