equal
deleted
inserted
replaced
371 |
371 |
372 class idom = comm_ring_1 + no_zero_divisors |
372 class idom = comm_ring_1 + no_zero_divisors |
373 begin |
373 begin |
374 |
374 |
375 subclass ring_1_no_zero_divisors .. |
375 subclass ring_1_no_zero_divisors .. |
|
376 |
|
377 lemma square_eq_iff: "a * a = b * b \<longleftrightarrow> (a = b \<or> a = - b)" |
|
378 proof |
|
379 assume "a * a = b * b" |
|
380 then have "(a - b) * (a + b) = 0" |
|
381 by (simp add: algebra_simps) |
|
382 then show "a = b \<or> a = - b" |
|
383 by (simp add: right_minus_eq eq_neg_iff_add_eq_0) |
|
384 next |
|
385 assume "a = b \<or> a = - b" |
|
386 then show "a * a = b * b" by auto |
|
387 qed |
376 |
388 |
377 end |
389 end |
378 |
390 |
379 class division_ring = ring_1 + inverse + |
391 class division_ring = ring_1 + inverse + |
380 assumes left_inverse [simp]: "a \<noteq> 0 \<Longrightarrow> inverse a * a = 1" |
392 assumes left_inverse [simp]: "a \<noteq> 0 \<Longrightarrow> inverse a * a = 1" |