1997 context |
1997 context |
1998 fixes A :: "'a set" |
1998 fixes A :: "'a set" |
1999 assumes fin_nonempty: "finite A" "A \<noteq> {}" |
1999 assumes fin_nonempty: "finite A" "A \<noteq> {}" |
2000 begin |
2000 begin |
2001 |
2001 |
2002 lemma Min_ge_iff [simp, no_atp]: |
2002 lemma Min_ge_iff [simp]: |
2003 "x \<le> Min A \<longleftrightarrow> (\<forall>a\<in>A. x \<le> a)" |
2003 "x \<le> Min A \<longleftrightarrow> (\<forall>a\<in>A. x \<le> a)" |
2004 using fin_nonempty by (fact Min.bounded_iff) |
2004 using fin_nonempty by (fact Min.bounded_iff) |
2005 |
2005 |
2006 lemma Max_le_iff [simp, no_atp]: |
2006 lemma Max_le_iff [simp]: |
2007 "Max A \<le> x \<longleftrightarrow> (\<forall>a\<in>A. a \<le> x)" |
2007 "Max A \<le> x \<longleftrightarrow> (\<forall>a\<in>A. a \<le> x)" |
2008 using fin_nonempty by (fact Max.bounded_iff) |
2008 using fin_nonempty by (fact Max.bounded_iff) |
2009 |
2009 |
2010 lemma Min_gr_iff [simp, no_atp]: |
2010 lemma Min_gr_iff [simp]: |
2011 "x < Min A \<longleftrightarrow> (\<forall>a\<in>A. x < a)" |
2011 "x < Min A \<longleftrightarrow> (\<forall>a\<in>A. x < a)" |
2012 using fin_nonempty by (induct rule: finite_ne_induct) simp_all |
2012 using fin_nonempty by (induct rule: finite_ne_induct) simp_all |
2013 |
2013 |
2014 lemma Max_less_iff [simp, no_atp]: |
2014 lemma Max_less_iff [simp]: |
2015 "Max A < x \<longleftrightarrow> (\<forall>a\<in>A. a < x)" |
2015 "Max A < x \<longleftrightarrow> (\<forall>a\<in>A. a < x)" |
2016 using fin_nonempty by (induct rule: finite_ne_induct) simp_all |
2016 using fin_nonempty by (induct rule: finite_ne_induct) simp_all |
2017 |
2017 |
2018 lemma Min_le_iff [no_atp]: |
2018 lemma Min_le_iff: |
2019 "Min A \<le> x \<longleftrightarrow> (\<exists>a\<in>A. a \<le> x)" |
2019 "Min A \<le> x \<longleftrightarrow> (\<exists>a\<in>A. a \<le> x)" |
2020 using fin_nonempty by (induct rule: finite_ne_induct) (simp_all add: min_le_iff_disj) |
2020 using fin_nonempty by (induct rule: finite_ne_induct) (simp_all add: min_le_iff_disj) |
2021 |
2021 |
2022 lemma Max_ge_iff [no_atp]: |
2022 lemma Max_ge_iff: |
2023 "x \<le> Max A \<longleftrightarrow> (\<exists>a\<in>A. x \<le> a)" |
2023 "x \<le> Max A \<longleftrightarrow> (\<exists>a\<in>A. x \<le> a)" |
2024 using fin_nonempty by (induct rule: finite_ne_induct) (simp_all add: le_max_iff_disj) |
2024 using fin_nonempty by (induct rule: finite_ne_induct) (simp_all add: le_max_iff_disj) |
2025 |
2025 |
2026 lemma Min_less_iff [no_atp]: |
2026 lemma Min_less_iff: |
2027 "Min A < x \<longleftrightarrow> (\<exists>a\<in>A. a < x)" |
2027 "Min A < x \<longleftrightarrow> (\<exists>a\<in>A. a < x)" |
2028 using fin_nonempty by (induct rule: finite_ne_induct) (simp_all add: min_less_iff_disj) |
2028 using fin_nonempty by (induct rule: finite_ne_induct) (simp_all add: min_less_iff_disj) |
2029 |
2029 |
2030 lemma Max_gr_iff [no_atp]: |
2030 lemma Max_gr_iff: |
2031 "x < Max A \<longleftrightarrow> (\<exists>a\<in>A. x < a)" |
2031 "x < Max A \<longleftrightarrow> (\<exists>a\<in>A. x < a)" |
2032 using fin_nonempty by (induct rule: finite_ne_induct) (simp_all add: less_max_iff_disj) |
2032 using fin_nonempty by (induct rule: finite_ne_induct) (simp_all add: less_max_iff_disj) |
2033 |
2033 |
2034 end |
2034 end |
2035 |
2035 |