equal
deleted
inserted
replaced
207 assumes x: "x \<in> V" and y: "y \<in> V" and z: "z \<in> V" |
207 assumes x: "x \<in> V" and y: "y \<in> V" and z: "z \<in> V" |
208 shows "(x + y = x + z) = (y = z)" |
208 shows "(x + y = x + z) = (y = z)" |
209 proof |
209 proof |
210 from y have "y = 0 + y" by simp |
210 from y have "y = 0 + y" by simp |
211 also from x y have "\<dots> = (- x + x) + y" by simp |
211 also from x y have "\<dots> = (- x + x) + y" by simp |
212 also from x y have "\<dots> = - x + (x + y)" by (simp add: add_assoc) |
212 also from x y have "\<dots> = - x + (x + y)" by (simp add: add.assoc) |
213 also assume "x + y = x + z" |
213 also assume "x + y = x + z" |
214 also from x z have "- x + (x + z) = - x + x + z" by (simp add: add_assoc) |
214 also from x z have "- x + (x + z) = - x + x + z" by (simp add: add.assoc) |
215 also from x z have "\<dots> = z" by simp |
215 also from x z have "\<dots> = z" by simp |
216 finally show "y = z" . |
216 finally show "y = z" . |
217 next |
217 next |
218 assume "y = z" |
218 assume "y = z" |
219 then show "x + y = x + z" by (simp only:) |
219 then show "x + y = x + z" by (simp only:) |
226 "x \<in> V \<Longrightarrow> y \<in> V \<Longrightarrow> x' \<in> V \<Longrightarrow> y' \<in> V \<Longrightarrow> z \<in> V |
226 "x \<in> V \<Longrightarrow> y \<in> V \<Longrightarrow> x' \<in> V \<Longrightarrow> y' \<in> V \<Longrightarrow> z \<in> V |
227 \<Longrightarrow> x + y = x' + y' \<Longrightarrow> x + (y + z) = x' + (y' + z)" |
227 \<Longrightarrow> x + y = x' + y' \<Longrightarrow> x + (y + z) = x' + (y' + z)" |
228 by (simp only: add_assoc [symmetric]) |
228 by (simp only: add_assoc [symmetric]) |
229 |
229 |
230 lemma mult_left_commute: "x \<in> V \<Longrightarrow> a \<cdot> b \<cdot> x = b \<cdot> a \<cdot> x" |
230 lemma mult_left_commute: "x \<in> V \<Longrightarrow> a \<cdot> b \<cdot> x = b \<cdot> a \<cdot> x" |
231 by (simp add: mult_commute mult_assoc2) |
231 by (simp add: mult.commute mult_assoc2) |
232 |
232 |
233 lemma mult_zero_uniq: |
233 lemma mult_zero_uniq: |
234 assumes x: "x \<in> V" "x \<noteq> 0" and ax: "a \<cdot> x = 0" |
234 assumes x: "x \<in> V" "x \<noteq> 0" and ax: "a \<cdot> x = 0" |
235 shows "a = 0" |
235 shows "a = 0" |
236 proof (rule classical) |
236 proof (rule classical) |