equal
deleted
inserted
replaced
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" |