equal
deleted
inserted
replaced
1509 |
1509 |
1510 lemma filterlim_at_bot_lt: |
1510 lemma filterlim_at_bot_lt: |
1511 fixes f :: "'a \<Rightarrow> ('b::unbounded_dense_linorder)" and c :: "'b" |
1511 fixes f :: "'a \<Rightarrow> ('b::unbounded_dense_linorder)" and c :: "'b" |
1512 shows "(LIM x F. f x :> at_bot) \<longleftrightarrow> (\<forall>Z<c. eventually (\<lambda>x. Z \<ge> f x) F)" |
1512 shows "(LIM x F. f x :> at_bot) \<longleftrightarrow> (\<forall>Z<c. eventually (\<lambda>x. Z \<ge> f x) F)" |
1513 by (metis filterlim_at_bot filterlim_at_bot_le lt_ex order_le_less_trans) |
1513 by (metis filterlim_at_bot filterlim_at_bot_le lt_ex order_le_less_trans) |
1514 |
1514 |
|
1515 lemma filterlim_at_top_div_const_nat: |
|
1516 assumes "c > 0" |
|
1517 shows "filterlim (\<lambda>x::nat. x div c) at_top at_top" |
|
1518 unfolding filterlim_at_top |
|
1519 proof |
|
1520 fix C :: nat |
|
1521 have *: "n div c \<ge> C" if "n \<ge> C * c" for n |
|
1522 using assms that by (metis div_le_mono div_mult_self_is_m) |
|
1523 have "eventually (\<lambda>n. n \<ge> C * c) at_top" |
|
1524 by (rule eventually_ge_at_top) |
|
1525 thus "eventually (\<lambda>n. n div c \<ge> C) at_top" |
|
1526 by eventually_elim (use * in auto) |
|
1527 qed |
|
1528 |
1515 lemma filterlim_finite_subsets_at_top: |
1529 lemma filterlim_finite_subsets_at_top: |
1516 "filterlim f (finite_subsets_at_top A) F \<longleftrightarrow> |
1530 "filterlim f (finite_subsets_at_top A) F \<longleftrightarrow> |
1517 (\<forall>X. finite X \<and> X \<subseteq> A \<longrightarrow> eventually (\<lambda>y. finite (f y) \<and> X \<subseteq> f y \<and> f y \<subseteq> A) F)" |
1531 (\<forall>X. finite X \<and> X \<subseteq> A \<longrightarrow> eventually (\<lambda>y. finite (f y) \<and> X \<subseteq> f y \<and> f y \<subseteq> A) F)" |
1518 (is "?lhs = ?rhs") |
1532 (is "?lhs = ?rhs") |
1519 proof |
1533 proof |