equal
deleted
inserted
replaced
557 |
557 |
558 lemma Max_in [simp]: |
558 lemma Max_in [simp]: |
559 assumes "finite A" and "A \<noteq> {}" |
559 assumes "finite A" and "A \<noteq> {}" |
560 shows "Max A \<in> A" |
560 shows "Max A \<in> A" |
561 using assms by (auto simp add: max_def Max.closed) |
561 using assms by (auto simp add: max_def Max.closed) |
|
562 |
|
563 lemma Min_insert2: |
|
564 assumes "finite A" and min: "\<And>b. b \<in> A \<Longrightarrow> a \<le> b" |
|
565 shows "Min (insert a A) = a" |
|
566 proof (cases "A = {}") |
|
567 case True then show ?thesis by simp |
|
568 next |
|
569 case False with `finite A` have "Min (insert a A) = min a (Min A)" |
|
570 by simp |
|
571 moreover from `finite A` `A \<noteq> {}` min have "a \<le> Min A" by simp |
|
572 ultimately show ?thesis by (simp add: min.absorb1) |
|
573 qed |
|
574 |
|
575 lemma Max_insert2: |
|
576 assumes "finite A" and max: "\<And>b. b \<in> A \<Longrightarrow> b \<le> a" |
|
577 shows "Max (insert a A) = a" |
|
578 proof (cases "A = {}") |
|
579 case True then show ?thesis by simp |
|
580 next |
|
581 case False with `finite A` have "Max (insert a A) = max a (Max A)" |
|
582 by simp |
|
583 moreover from `finite A` `A \<noteq> {}` max have "Max A \<le> a" by simp |
|
584 ultimately show ?thesis by (simp add: max.absorb1) |
|
585 qed |
562 |
586 |
563 lemma Min_le [simp]: |
587 lemma Min_le [simp]: |
564 assumes "finite A" and "x \<in> A" |
588 assumes "finite A" and "x \<in> A" |
565 shows "Min A \<le> x" |
589 shows "Min A \<le> x" |
566 using assms by (fact Min.coboundedI) |
590 using assms by (fact Min.coboundedI) |