equal
deleted
inserted
replaced
2456 by (fact mult_1_left) |
2456 by (fact mult_1_left) |
2457 |
2457 |
2458 lemma nat_mult_1_right: "n * 1 = n" |
2458 lemma nat_mult_1_right: "n * 1 = n" |
2459 for n :: nat |
2459 for n :: nat |
2460 by (fact mult_1_right) |
2460 by (fact mult_1_right) |
|
2461 |
2461 lemma diff_mult_distrib: "(m - n) * k = (m * k) - (n * k)" |
2462 lemma diff_mult_distrib: "(m - n) * k = (m * k) - (n * k)" |
2462 for k m n :: nat |
2463 for k m n :: nat |
2463 by (fact left_diff_distrib') |
2464 by (fact left_diff_distrib') |
2464 |
2465 |
2465 lemma diff_mult_distrib2: "k * (m - n) = (k * m) - (k * n)" |
2466 lemma diff_mult_distrib2: "k * (m - n) = (k * m) - (k * n)" |
2466 for k m n :: nat |
2467 for k m n :: nat |
2467 by (fact right_diff_distrib') |
2468 by (fact right_diff_distrib') |
2468 |
2469 |
|
2470 (*Used in AUTO2 and Groups.le_diff_conv2 (with variables renamed) doesn't work for some reason*) |
|
2471 lemma le_diff_conv2: "k \<le> j \<Longrightarrow> (i \<le> j - k) = (i + k \<le> j)" |
|
2472 for i j k :: nat |
|
2473 by (fact le_diff_conv2) |
|
2474 |
2469 lemma diff_self_eq_0 [simp]: "m - m = 0" |
2475 lemma diff_self_eq_0 [simp]: "m - m = 0" |
2470 for m :: nat |
2476 for m :: nat |
2471 by (fact diff_cancel) |
2477 by (fact diff_cancel) |
2472 |
2478 |
2473 lemma diff_diff_left [simp]: "i - j - k = i - (j + k)" |
2479 lemma diff_diff_left [simp]: "i - j - k = i - (j + k)" |