src/HOL/Groups.thy
changeset 40368 47c186c8577d
parent 39134 917b4b6ba3d2
child 42245 29e3967550d5
equal deleted inserted replaced
40367:6fb991dc074b 40368:47c186c8577d
   282   have "- a = - a + (a + b)" using assms by simp
   282   have "- a = - a + (a + b)" using assms by simp
   283   also have "\<dots> = b" by (simp add: add_assoc [symmetric])
   283   also have "\<dots> = b" by (simp add: add_assoc [symmetric])
   284   finally show ?thesis .
   284   finally show ?thesis .
   285 qed
   285 qed
   286 
   286 
       
   287 
   287 lemmas equals_zero_I = minus_unique (* legacy name *)
   288 lemmas equals_zero_I = minus_unique (* legacy name *)
   288 
   289 
   289 lemma minus_zero [simp]: "- 0 = 0"
   290 lemma minus_zero [simp]: "- 0 = 0"
   290 proof -
   291 proof -
   291   have "0 + 0 = 0" by (rule add_0_right)
   292   have "0 + 0 = 0" by (rule add_0_right)
   301 lemma right_minus [simp]: "a + - a = 0"
   302 lemma right_minus [simp]: "a + - a = 0"
   302 proof -
   303 proof -
   303   have "a + - a = - (- a) + - a" by simp
   304   have "a + - a = - (- a) + - a" by simp
   304   also have "\<dots> = 0" by (rule left_minus)
   305   also have "\<dots> = 0" by (rule left_minus)
   305   finally show ?thesis .
   306   finally show ?thesis .
       
   307 qed
       
   308 
       
   309 subclass cancel_semigroup_add
       
   310 proof
       
   311   fix a b c :: 'a
       
   312   assume "a + b = a + c"
       
   313   then have "- a + a + b = - a + a + c"
       
   314     unfolding add_assoc by simp
       
   315   then show "b = c" by simp
       
   316 next
       
   317   fix a b c :: 'a
       
   318   assume "b + a = c + a"
       
   319   then have "b + a + - a = c + a  + - a" by simp
       
   320   then show "b = c" unfolding add_assoc by simp
   306 qed
   321 qed
   307 
   322 
   308 lemma minus_add_cancel: "- a + (a + b) = b"
   323 lemma minus_add_cancel: "- a + (a + b) = b"
   309 by (simp add: add_assoc [symmetric])
   324 by (simp add: add_assoc [symmetric])
   310 
   325