equal
deleted
inserted
replaced
342 |
342 |
343 |
343 |
344 subsection{*Strict Monotonicity of Multiplication*} |
344 subsection{*Strict Monotonicity of Multiplication*} |
345 |
345 |
346 text{*strict, in 1st argument; proof is by induction on k>0*} |
346 text{*strict, in 1st argument; proof is by induction on k>0*} |
347 lemma zmult_zless_mono2_lemma [rule_format]: |
347 lemma zmult_zless_mono2_lemma: |
348 "i<j ==> 0<k --> int k * i < int k * j" |
348 "i<j ==> 0<k ==> int k * i < int k * j" |
349 apply (induct_tac "k", simp) |
349 apply (induct "k", simp) |
350 apply (simp add: int_Suc) |
350 apply (simp add: int_Suc) |
351 apply (case_tac "n=0") |
351 apply (case_tac "k=0") |
352 apply (simp_all add: zadd_zmult_distrib int_Suc0_eq_1 order_le_less) |
352 apply (simp_all add: zadd_zmult_distrib int_Suc0_eq_1 order_le_less) |
353 apply (simp add: zadd_zless_mono int_Suc0_eq_1 order_le_less) |
353 apply (simp add: zadd_zless_mono int_Suc0_eq_1 order_le_less) |
354 done |
354 done |
355 |
355 |
356 lemma zero_le_imp_eq_int: "0 \<le> k ==> \<exists>n. k = int n" |
356 lemma zero_le_imp_eq_int: "0 \<le> k ==> \<exists>n. k = int n" |