# HG changeset patch # User nipkow # Date 1746591706 -7200 # Node ID 2f225d5044b54034025ee094ee554da2019343cd # Parent a61f82ddede4225ab0da331b298d97869db55306# Parent a7d6d17abb28802eb03dc7132420762d5044a75c merged diff -r a7d6d17abb28 -r 2f225d5044b5 src/HOL/Analysis/Elementary_Topology.thy --- a/src/HOL/Analysis/Elementary_Topology.thy Wed May 07 06:20:42 2025 +0200 +++ b/src/HOL/Analysis/Elementary_Topology.thy Wed May 07 06:21:46 2025 +0200 @@ -1303,6 +1303,41 @@ qed qed +lemma Lim_left_bound: + fixes f :: "'a :: {linorder_topology, conditionally_complete_linorder, no_bot} \ + 'b :: {linorder_topology, conditionally_complete_linorder}" + assumes mono: "\a b. a \ I \ b \ I \ b < x \ a \ b \ f a \ f b" + and bnd: "\b. b \ I \ b < x \ f b \ K" + shows "(f \ Sup (f ` ({.. I))) (at x within ({.. I))" +proof (cases "{.. I = {}") + case True + then show ?thesis by simp +next + case False + show ?thesis + proof (rule order_tendstoI) + fix b + assume b: "Sup (f ` ({.. I)) < b" + { + fix y + assume "y \ {.. I" + with False bnd have "f y \ Sup (f ` ({.. I))" by (auto intro!: cSup_upper bdd_aboveI2) + with b have "f y < b" by order + } + then show "eventually (\x. f x < b) (at x within ({.. I))" + by (auto simp: eventually_at_filter intro: exI[of _ 1] zero_less_one) + next + fix b + assume "b < Sup (f ` ({.. I))" + from less_cSupD[OF _ this] False obtain y where y: "y < x" "y \ I" "b < f y" by auto + then have "eventually (\x. x \ I \ b < f x) (at_left x)" + unfolding eventually_at_left[OF \y < x\] by (metis mono order_less_le order_less_le_trans) + then show "eventually (\x. b < f x) (at x within ({.. I))" + unfolding eventually_at_filter by eventually_elim simp + qed +qed + + text\These are special for limits out of the same topological space.\ lemma Lim_within_id: "(id \ a) (at a within s)" diff -r a7d6d17abb28 -r 2f225d5044b5 src/HOL/Topological_Spaces.thy --- a/src/HOL/Topological_Spaces.thy Wed May 07 06:20:42 2025 +0200 +++ b/src/HOL/Topological_Spaces.thy Wed May 07 06:21:46 2025 +0200 @@ -230,7 +230,7 @@ by (metis (no_types) open_UNIV not_open_singleton) -subsection \Generators for toplogies\ +subsection \Generators for topologies\ inductive generate_topology :: "'a set set \ 'a set \ bool" for S :: "'a set set" where