src/HOL/Orderings.thy
changeset 63172 d4f459eb7ed0
parent 62521 6383440f41a8
child 63290 9ac558ab0906
equal deleted inserted replaced
63171:a0088f1c049d 63172:d4f459eb7ed0
   132 
   132 
   133 lemma less_irrefl [iff]: "\<not> x < x"
   133 lemma less_irrefl [iff]: "\<not> x < x"
   134 by (simp add: less_le_not_le)
   134 by (simp add: less_le_not_le)
   135 
   135 
   136 lemma less_imp_le: "x < y \<Longrightarrow> x \<le> y"
   136 lemma less_imp_le: "x < y \<Longrightarrow> x \<le> y"
   137 unfolding less_le_not_le by blast
   137 by (simp add: less_le_not_le)
   138 
   138 
   139 
   139 
   140 text \<open>Asymmetry.\<close>
   140 text \<open>Asymmetry.\<close>
   141 
   141 
   142 lemma less_not_sym: "x < y \<Longrightarrow> \<not> (y < x)"
   142 lemma less_not_sym: "x < y \<Longrightarrow> \<not> (y < x)"
   200 lemma le_less: "x \<le> y \<longleftrightarrow> x < y \<or> x = y"
   200 lemma le_less: "x \<le> y \<longleftrightarrow> x < y \<or> x = y"
   201     \<comment> \<open>NOT suitable for iff, since it can cause PROOF FAILED.\<close>
   201     \<comment> \<open>NOT suitable for iff, since it can cause PROOF FAILED.\<close>
   202 by (fact order.order_iff_strict)
   202 by (fact order.order_iff_strict)
   203 
   203 
   204 lemma le_imp_less_or_eq: "x \<le> y \<Longrightarrow> x < y \<or> x = y"
   204 lemma le_imp_less_or_eq: "x \<le> y \<Longrightarrow> x < y \<or> x = y"
   205 unfolding less_le by blast
   205 by (simp add: less_le)
   206 
   206 
   207 
   207 
   208 text \<open>Useful for simplification, but too risky to include by default.\<close>
   208 text \<open>Useful for simplification, but too risky to include by default.\<close>
   209 
   209 
   210 lemma less_imp_not_eq: "x < y \<Longrightarrow> (x = y) \<longleftrightarrow> False"
   210 lemma less_imp_not_eq: "x < y \<Longrightarrow> (x = y) \<longleftrightarrow> False"