equal
deleted
inserted
replaced
615 by (auto intro!: INF_eq max.cobounded1 max.cobounded2 simp: at_top_def) |
615 by (auto intro!: INF_eq max.cobounded1 max.cobounded2 simp: at_top_def) |
616 |
616 |
617 lemma eventually_at_top_linorder: "eventually P at_top \<longleftrightarrow> (\<exists>N::'a::linorder. \<forall>n\<ge>N. P n)" |
617 lemma eventually_at_top_linorder: "eventually P at_top \<longleftrightarrow> (\<exists>N::'a::linorder. \<forall>n\<ge>N. P n)" |
618 unfolding at_top_def |
618 unfolding at_top_def |
619 by (subst eventually_INF_base) (auto simp: eventually_principal intro: max.cobounded1 max.cobounded2) |
619 by (subst eventually_INF_base) (auto simp: eventually_principal intro: max.cobounded1 max.cobounded2) |
|
620 |
|
621 lemma eventually_at_top_linorderI: |
|
622 fixes c::"'a::linorder" |
|
623 assumes "\<And>x. c \<le> x \<Longrightarrow> P x" |
|
624 shows "eventually P at_top" |
|
625 using assms by (auto simp: eventually_at_top_linorder) |
620 |
626 |
621 lemma eventually_ge_at_top: |
627 lemma eventually_ge_at_top: |
622 "eventually (\<lambda>x. (c::_::linorder) \<le> x) at_top" |
628 "eventually (\<lambda>x. (c::_::linorder) \<le> x) at_top" |
623 unfolding eventually_at_top_linorder by auto |
629 unfolding eventually_at_top_linorder by auto |
624 |
630 |