src/HOL/Filter.thy
changeset 63556 36e9732988ce
parent 63540 f8652d0534fa
child 63967 2aa42596edc3
equal deleted inserted replaced
63555:d00db72d8697 63556:36e9732988ce
   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