650 by (simp add: zadd_zmult_distrib zadd_ac) |
650 by (simp add: zadd_zmult_distrib zadd_ac) |
651 |
651 |
652 |
652 |
653 (** For cancel_numerals **) |
653 (** For cancel_numerals **) |
654 |
654 |
|
655 lemma eq_add_iff1: "(i$*u $+ m = j$*u $+ n) \<longleftrightarrow> ((i$-j)$*u $+ m = intify(n))" |
|
656 apply (simp add: zdiff_def zadd_zmult_distrib) |
|
657 apply (simp add: zcompare_rls) |
|
658 apply (simp add: zadd_ac) |
|
659 done |
|
660 |
|
661 lemma eq_add_iff2: "(i$*u $+ m = j$*u $+ n) \<longleftrightarrow> (intify(m) = (j$-i)$*u $+ n)" |
|
662 apply (simp add: zdiff_def zadd_zmult_distrib) |
|
663 apply (simp add: zcompare_rls) |
|
664 apply (simp add: zadd_ac) |
|
665 done |
|
666 |
|
667 context fixes n :: i |
|
668 begin |
|
669 |
655 lemmas rel_iff_rel_0_rls = |
670 lemmas rel_iff_rel_0_rls = |
656 zless_iff_zdiff_zless_0 [where y = "u $+ v"] |
671 zless_iff_zdiff_zless_0 [where y = "u $+ v"] |
657 eq_iff_zdiff_eq_0 [where y = "u $+ v"] |
672 eq_iff_zdiff_eq_0 [where y = "u $+ v"] |
658 zle_iff_zdiff_zle_0 [where y = "u $+ v"] |
673 zle_iff_zdiff_zle_0 [where y = "u $+ v"] |
659 zless_iff_zdiff_zless_0 [where y = n] |
674 zless_iff_zdiff_zless_0 [where y = n] |
660 eq_iff_zdiff_eq_0 [where y = n] |
675 eq_iff_zdiff_eq_0 [where y = n] |
661 zle_iff_zdiff_zle_0 [where y = n] |
676 zle_iff_zdiff_zle_0 [where y = n] |
662 for u v (* FIXME n (!?) *) |
677 for u v |
663 |
|
664 lemma eq_add_iff1: "(i$*u $+ m = j$*u $+ n) \<longleftrightarrow> ((i$-j)$*u $+ m = intify(n))" |
|
665 apply (simp add: zdiff_def zadd_zmult_distrib) |
|
666 apply (simp add: zcompare_rls) |
|
667 apply (simp add: zadd_ac) |
|
668 done |
|
669 |
|
670 lemma eq_add_iff2: "(i$*u $+ m = j$*u $+ n) \<longleftrightarrow> (intify(m) = (j$-i)$*u $+ n)" |
|
671 apply (simp add: zdiff_def zadd_zmult_distrib) |
|
672 apply (simp add: zcompare_rls) |
|
673 apply (simp add: zadd_ac) |
|
674 done |
|
675 |
678 |
676 lemma less_add_iff1: "(i$*u $+ m $< j$*u $+ n) \<longleftrightarrow> ((i$-j)$*u $+ m $< n)" |
679 lemma less_add_iff1: "(i$*u $+ m $< j$*u $+ n) \<longleftrightarrow> ((i$-j)$*u $+ m $< n)" |
677 apply (simp add: zdiff_def zadd_zmult_distrib zadd_ac rel_iff_rel_0_rls) |
680 apply (simp add: zdiff_def zadd_zmult_distrib zadd_ac rel_iff_rel_0_rls) |
678 done |
681 done |
679 |
682 |
680 lemma less_add_iff2: "(i$*u $+ m $< j$*u $+ n) \<longleftrightarrow> (m $< (j$-i)$*u $+ n)" |
683 lemma less_add_iff2: "(i$*u $+ m $< j$*u $+ n) \<longleftrightarrow> (m $< (j$-i)$*u $+ n)" |
681 apply (simp add: zdiff_def zadd_zmult_distrib zadd_ac rel_iff_rel_0_rls) |
684 apply (simp add: zdiff_def zadd_zmult_distrib zadd_ac rel_iff_rel_0_rls) |
682 done |
685 done |
|
686 |
|
687 end |
683 |
688 |
684 lemma le_add_iff1: "(i$*u $+ m $\<le> j$*u $+ n) \<longleftrightarrow> ((i$-j)$*u $+ m $\<le> n)" |
689 lemma le_add_iff1: "(i$*u $+ m $\<le> j$*u $+ n) \<longleftrightarrow> ((i$-j)$*u $+ m $\<le> n)" |
685 apply (simp add: zdiff_def zadd_zmult_distrib) |
690 apply (simp add: zdiff_def zadd_zmult_distrib) |
686 apply (simp add: zcompare_rls) |
691 apply (simp add: zcompare_rls) |
687 apply (simp add: zadd_ac) |
692 apply (simp add: zadd_ac) |