equal
deleted
inserted
replaced
65 by (simp_tac (simpset() addsimps [smult_r_null, r_neg]) 1); |
65 by (simp_tac (simpset() addsimps [smult_r_null, r_neg]) 1); |
66 qed "smult_r_minus"; |
66 qed "smult_r_minus"; |
67 |
67 |
68 val smult_minus = [smult_l_minus, smult_r_minus]; |
68 val smult_minus = [smult_l_minus, smult_r_minus]; |
69 |
69 |
70 (* Integrity of smult *) |
|
71 (* |
|
72 Goal |
|
73 "!! a::'a::domain. a *s b = <0> ==> a = <0> | b = <0>"; |
|
74 by (simp_tac (simpset() addsimps [disj_commute]) 1); |
|
75 |
|
76 by (rtac (disj_commute RS trans) 1); |
|
77 by (rtac contrapos2 1); |
|
78 by (assume_tac 1); |
|
79 by (rtac up_neqI 1); |
|
80 by (Full_simp_tac 1); |
|
81 by (etac conjE 1); |
|
82 by (rtac not_integral 1); |
|
83 by (assume_tac 1); |
|
84 by (etac contrapos 1); |
|
85 back(); |
|
86 by (rtac up_eqI 1); |
|
87 by (Simp_tac 1); |
|
88 |
|
89 by (rtac integral 1); |
|
90 |
|
91 by (etac conjE 1); |
|
92 |
|
93 by (rtac disjCI 1); |
|
94 *) |
|
95 |
|
96 Addsimps [smult_one, smult_l_null, smult_r_null]; |
70 Addsimps [smult_one, smult_l_null, smult_r_null]; |