src/HOL/Groups.thy
changeset 59557 ebd8ecacfba6
parent 59322 8ccecf1415b0
child 59559 35da1bbf234e
equal deleted inserted replaced
59556:aa2deef7cf47 59557:ebd8ecacfba6
   516 
   516 
   517 end
   517 end
   518 
   518 
   519 class ab_group_add = minus + uminus + comm_monoid_add +
   519 class ab_group_add = minus + uminus + comm_monoid_add +
   520   assumes ab_left_minus: "- a + a = 0"
   520   assumes ab_left_minus: "- a + a = 0"
   521   assumes ab_add_uminus_conv_diff: "a - b = a + (- b)"
   521   assumes ab_diff_conv_add_uminus: "a - b = a + (- b)"
   522 begin
   522 begin
   523 
   523 
   524 subclass group_add
   524 subclass group_add
   525   proof qed (simp_all add: ab_left_minus ab_add_uminus_conv_diff)
   525   proof qed (simp_all add: ab_left_minus ab_diff_conv_add_uminus)
   526 
   526 
   527 subclass cancel_comm_monoid_add
   527 subclass cancel_comm_monoid_add
   528 proof
   528 proof
   529   fix a b c :: 'a
   529   fix a b c :: 'a
   530   assume "a + b = a + c"
   530   assume "a + b = a + c"
  1373   finally show "?L \<le> ?R" .
  1373   finally show "?L \<le> ?R" .
  1374 qed
  1374 qed
  1375 
  1375 
  1376 end
  1376 end
  1377 
  1377 
       
  1378 hide_fact (open) ab_diff_conv_add_uminus add_imp_eq
  1378 
  1379 
  1379 subsection {* Tools setup *}
  1380 subsection {* Tools setup *}
  1380 
  1381 
  1381 lemma add_mono_thms_linordered_semiring:
  1382 lemma add_mono_thms_linordered_semiring:
  1382   fixes i j k :: "'a\<Colon>ordered_ab_semigroup_add"
  1383   fixes i j k :: "'a\<Colon>ordered_ab_semigroup_add"