src/ZF/Bin.thy
changeset 68233 5e0e9376b2b0
parent 61798 27f3c10b0b50
child 68490 eb53f944c8cd
equal deleted inserted replaced
68232:4b93573ac5b4 68233:5e0e9376b2b0
   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)