The UniformSpace_ZF theory defines uniform spaces based on entourages (also called surroundings sometimes). In this theory we consider alternative definitions based of the notion of uniform covers and pseudometrics.
Given a set \(X\) we can consider collections of subsets of \(X\) whose unions are equal to \(X\). Any such collection is called a cover of \(X\). We can define relation on the set of covers of \(X\), called "star refinement" (definition below). A collection of covers is a "family of uniform covers" if it is a filter with respect to the start refinement ordering. A member of such family is called a "uniform cover", but one has to remember that this notion has meaning only in the contexts a the whole family of uniform covers. Looking at a specific cover in isolation we can not say whether it is a uniform cover or not.
The set of all covers of \(X\) is called \( \text{Covers}(X) \).
definition
\( \text{Covers}(X) \equiv \{P \in Pow(Pow(X)).\ \bigcup P = X\} \)
A cover of a nonempty set must have a nonempty member.
lemma cover_nonempty:
assumes \( X\neq 0 \), \( P \in \text{Covers}(X) \)
shows \( \exists U\in P.\ U\neq 0 \) using assms unfolding Covers_defA "star" of \(R\) with respect to \(\mathcal{R}\) is the union of all \(S\in \mathcal{R}\) that intersect \(R\).
definition
\( \text{Star}(R,\mathcal{R} ) \equiv \bigcup \{S\in \mathcal{R} .\ S\cap R \neq 0\} \)
An element of \(\mathcal{R}\) is a subset of its star with respect to \(\mathcal{R}\).
lemma element_subset_star:
assumes \( U\in P \)
shows \( U \subseteq \text{Star}(U,P) \) using assms unfolding Star_defAn alternative formula for star of a singleton.
lemma star_singleton:
shows \( (\bigcup \{V\times V.\ V\in P\})\{x\} = \text{Star}(\{x\},P) \) unfolding Star_defStar of a larger set is larger.
lemma star_mono:
assumes \( U\subseteq V \)
shows \( \text{Star}(U,P) \subseteq \text{Star}(V,P) \) using assms unfolding Star_defIn particular, star of a set is larger than star of any singleton in that set.
corollary star_single_mono:
assumes \( x\in U \)
shows \( \text{Star}(\{x\},P) \subseteq \text{Star}(U,P) \) using assms, star_monoA cover \(\mathcal{R}\) (of \(X\)) is said to be a "barycentric refinement" of a cover \(\mathcal{C}\) iff for every \(x\in X\) the star of \(\{x\}\) in \(\mathcal{R}\) is contained in some \(C\in \mathcal{C}\).
definition
\( P \lt ^B Q \equiv \forall x\in \bigcup P.\ \exists U\in Q.\ \text{Star}(\{x\},P) \subseteq U \)
A cover is a barycentric refinement of the collection of stars of the singletons \(\{x \}\) as \(x\) ranges over \(X\).
lemma singl_star_bary:
assumes \( P \in \text{Covers}(X) \)
shows \( P \lt ^B \{ \text{Star}(\{x\},P).\ x\in X\} \) using assms unfolding Covers_def, IsBarycentricRefinement_defA cover \(\mathcal{R}\) is a "star refinement" of a cover \(\mathcal{C}\) iff for each \(R\in \mathcal{R}\) there is a \(C\in \mathcal{C}\) such that the star of \(R\) with respect to \(\mathcal{R}\) is contained in \(C\).
definition
\( P \lt ^* Q \equiv \forall U\in P.\ \exists V\in Q.\ \text{Star}(U,P) \subseteq V \)
Every cover star-refines the trivial cover \(\{ X\}\).
lemma cover_stref_triv:
assumes \( P \in \text{Covers}(X) \)
shows \( P \lt ^* \{X\} \) using assms unfolding Star_def, IsStarRefinement_def, Covers_defStar refinement implies barycentric refinement.
lemma star_is_bary:
assumes \( Q\in \text{Covers}(X) \) and \( Q \lt ^* P \)
shows \( Q \lt ^B P \)proofBarycentric refinement of a barycentric refinement is a star refinement.
lemma bary_bary_star:
assumes \( P\in \text{Covers}(X) \), \( Q\in \text{Covers}(X) \), \( R\in \text{Covers}(X) \), \( P \lt ^B Q \), \( Q \lt ^B R \), \( X\neq 0 \)
shows \( P \lt ^* R \)proofThe notion of a filter defined in Topology_ZF_4 is not sufficiently general to use it to define uniform covers, so we write the conditions directly. A nonempty collection \(\Theta\) of covers of \(X\) is a family of uniform covers if a) if \(\mathcal{R} \in \Theta\) and \(\mathcal{C}\) is any cover of \(X\) such that \(\mathcal{R}\) is a star refinement of \(\mathcal{C}\), then \(\mathcal{C} \in \Theta\). b) For any \(\mathcal{C},\mathcal{D} \in \Theta\) there is some \(\mathcal{R}\in\Theta\) such that \(\mathcal{R}\) is a star refinement of both \(\mathcal{C}\) and \(\mathcal{R}\).
This departs slightly from the definition in Wikipedia that requires that \(\Theta\) contains the trivial cover \(\{ X\}\). As we show in lemma unicov_contains_trivial below we don't loose anything by weakening the definition this way.
definition
\( \Theta \text{ are uniform covers of } X \equiv \Theta \subseteq \text{Covers}(X) \wedge \Theta \neq 0 \wedge \) \( (\forall \mathcal{R} \in \Theta .\ \forall \mathcal{C} \in \text{Covers}(X).\ ((\mathcal{R} \lt ^* \mathcal{C} ) \longrightarrow \mathcal{C} \in \Theta )) \wedge \) \( (\forall \mathcal{C} \in \Theta .\ \forall \mathcal{D} \in \Theta .\ \exists \mathcal{R} \in \Theta .\ (\mathcal{R} \lt ^* \mathcal{C} ) \wedge (\mathcal{R} \lt ^* \mathcal{D} )) \)
A family of uniform covers contain the trivial cover \(\{ X\}\).
lemma unicov_contains_triv:
assumes \( \Theta \text{ are uniform covers of } X \)
shows \( \{X\} \in \Theta \)proofIf \(\Theta\) are uniform covers of \(X\) then we can recover \(X\) from \(\Theta\) by taking \(\bigcup\bigcup \Theta\).
lemma space_from_unicov:
assumes \( \Theta \text{ are uniform covers of } X \)
shows \( X = \bigcup \bigcup \Theta \)proofEvery uniform cover has a star refinement.
lemma unicov_has_star_ref:
assumes \( \Theta \text{ are uniform covers of } X \) and \( P\in \Theta \)
shows \( \exists Q\in \Theta .\ (Q \lt ^* P) \) using assms unfolding AreUniformCovers_defIn particular, every uniform cover has a barycentric refinement.
corollary unicov_has_bar_ref:
assumes \( \Theta \text{ are uniform covers of } X \) and \( P\in \Theta \)
shows \( \exists Q\in \Theta .\ (Q \lt ^B P) \)proofFrom the definition of uniform covers we know that if a uniform cover \(P\) is a star-refinement of a cover \(Q\) then \(Q\) is in a uniform cover. The next lemma shows that in order for \(Q\) to be a uniform cover it is sufficient that \(P\) is a barycentric refinement of \(Q\).
lemma unicov_bary_cov:
assumes \( \Theta \text{ are uniform covers of } X \), \( P\in \Theta \), \( Q \in \text{Covers}(X) \), \( P \lt ^B Q \) and \( X\neq 0 \)
shows \( Q\in \Theta \)proofA technical lemma to simplify proof of the uniformity_from_unicov theorem.
lemma star_ref_mem:
assumes \( U\in P \), \( P \lt ^*Q \) and \( \bigcup \{W\times W.\ W\in Q\} \subseteq A \)
shows \( U\times U \subseteq A \)proofAn identity related to square (in the sense of composition) of a relation of the form \(\bigcup \{U\times U : U\in P\}\). I am amazed that Isabelle can see that this is true without an explicit proof, I can't.
lemma rel_square_starr:
shows \( (\bigcup \{U\times U.\ U\in P\})\circ (\bigcup \{U\times U.\ U\in P\}) = \bigcup \{U\times \text{Star}(U,P).\ U\in P\} \) unfolding Star_defAn identity similar to rel_square_starr but with Star on the left side of the Cartesian product:
lemma rel_square_starl:
shows \( (\bigcup \{U\times U.\ U\in P\})\circ (\bigcup \{U\times U.\ U\in P\}) = \bigcup \{ \text{Star}(U,P)\times U.\ U\in P\} \) unfolding Star_defA somewhat technical identity about the square of a symmetric relation:
lemma rel_sq_image:
assumes \( W = converse(W) \), \( domain(W) \subseteq X \)
shows \( \text{Star}(\{x\},\{W\{t\}.\ t\in X\}) = (W\circ W)\{x\} \)proofGiven a family of uniform covers of \(X\) we can create a uniformity on \(X\) by taking the supersets of \(\bigcup \{A\times A: A\in P \}\) as \(P\) ranges over the uniform covers. The next definition specifies the operation creating entourages from uniform covers.
definition
\( \text{UniformityFromUniCov}(X,\Theta ) \equiv \text{Supersets}(X\times X,\{\bigcup \{U\times U.\ U\in P\}.\ P\in \Theta \}) \)
For any member \(P\) of a cover \(\Theta\) the set \(\bigcup \{U\times U : U\in P\}\) is a member of \( \text{UniformityFromUniCov}(X,\Theta ) \).
lemma basic_unif:
assumes \( \Theta \subseteq \text{Covers}(X) \), \( P\in \Theta \)
shows \( \bigcup \{U\times U.\ U\in P\} \in \text{UniformityFromUniCov}(X,\Theta ) \) using assms unfolding UniformityFromUniCov_def, Supersets_def, Covers_defIf \(\Theta\) is a family of uniform covers of \(X\) then \( \text{UniformityFromUniCov}(X,\Theta ) \) is a uniformity on \(X\)
theorem uniformity_from_unicov:
assumes \( \Theta \text{ are uniform covers of } X \), \( X\neq 0 \)
shows \( \text{UniformityFromUniCov}(X,\Theta ) \text{ is a uniformity on } X \)proofGiven a uniformity \(\Phi\) on \(X\) we can create a family of uniform covers by taking the collection of covers \(P\) for which there exist an entourage \(U\in \Phi\) such that for each \(x\in X\), there is an \(A\in P\) such that \(U(\{ x\}) \subseteq A\). The next definition specifies the operation of creating a family of uniform covers from a uniformity.
definition
\( \text{UniCovFromUniformity}(X,\Phi ) \equiv \{P\in \text{Covers}(X).\ \exists U\in \Phi .\ \forall x\in X.\ \exists A\in P.\ U(\{x\}) \subseteq A\} \)
When we convert the quantifiers into unions and intersections in the definition of UniCovFromUniformity we get an alternative definition of the operation that creates a family of uniform covers from a uniformity. Just a curiosity, not used anywhere.
lemma UniCovFromUniformityDef:
assumes \( X\neq 0 \)
shows \( \text{UniCovFromUniformity}(X,\Phi ) = (\bigcup U\in \Phi .\ \bigcap x\in X.\ \{P\in \text{Covers}(X).\ \exists A\in P.\ U(\{x\}) \subseteq A\}) \)proofIf \(\Phi\) is a (diagonal) uniformity on \(X\), then covers of the form \(\{ W\{ x\} : x\in X\}\) are members of \( \text{UniCovFromUniformity}(X,\Phi ) \).
lemma cover_image:
assumes \( \Phi \text{ is a uniformity on } X \), \( W\in \Phi \)
shows \( \{W\{x\}.\ x\in X\} \in \text{UniCovFromUniformity}(X,\Phi ) \)proofIf \(\Phi\) is a (diagonal) uniformity on \(X\), then every two elements of \( \text{UniCovFromUniformity}(X,\Phi ) \) have a common barycentric refinement.
lemma common_bar_refinemnt:
assumes \( \Phi \text{ is a uniformity on } X \), \( \Theta = \text{UniCovFromUniformity}(X,\Phi ) \), \( \mathcal{C} \in \Theta \), \( \mathcal{D} \in \Theta \)
shows \( \exists \mathcal{R} \in \Theta .\ (\mathcal{R} \lt ^B \mathcal{C} ) \wedge (\mathcal{R} \lt ^B \mathcal{D} ) \)proofIf \(\Phi\) is a (diagonal) uniformity on \(X\), then every element of \( \text{UniCovFromUniformity}(X,\Phi ) \) has a barycentric refinement there.
corollary bar_refinement_ex:
assumes \( \Phi \text{ is a uniformity on } X \), \( \Theta = \text{UniCovFromUniformity}(X,\Phi ) \), \( \mathcal{C} \in \Theta \)
shows \( \exists \mathcal{R} \in \Theta .\ (\mathcal{R} \lt ^B \mathcal{C} ) \) using assms, common_bar_refinemntIf \(\Phi\) is a (diagonal) uniformity on \(X\), then \( \text{UniCovFromUniformity}(X,\Phi ) \) is a family of uniform covers.
theorem unicov_from_uniformity:
assumes \( \Phi \text{ is a uniformity on } X \) and \( X\neq 0 \)
shows \( \text{UniCovFromUniformity}(X,\Phi ) \text{ are uniform covers of } X \)proofThe UniCovFromUniformity operation is the inverse of UniformityFromUniCov.
theorem unicov_from_unif_inv:
assumes \( \Theta \text{ are uniform covers of } X \), \( X\neq 0 \)
shows \( \text{UniCovFromUniformity}(X, \text{UniformityFromUniCov}(X,\Theta )) = \Theta \)proofThe UniformityFromUniCov operation is the inverse of UniCovFromUniformity.
theorem unif_from_unicov_inv:
assumes \( \Phi \text{ is a uniformity on } X \), \( X\neq 0 \)
shows \( \text{UniformityFromUniCov}(X, \text{UniCovFromUniformity}(X,\Phi )) = \Phi \)proofassumes \( U\subseteq V \)
shows \( \text{Star}(U,P) \subseteq \text{Star}(V,P) \)assumes \( x\in U \)
shows \( \text{Star}(\{x\},P) \subseteq \text{Star}(U,P) \)assumes \( X\neq 0 \), \( P \in \text{Covers}(X) \)
shows \( \exists U\in P.\ U\neq 0 \)assumes \( P \in \text{Covers}(X) \)
shows \( P \lt ^* \{X\} \)assumes \( \Theta \text{ are uniform covers of } X \)
shows \( \{X\} \in \Theta \)assumes \( \Theta \text{ are uniform covers of } X \) and \( P\in \Theta \)
shows \( \exists Q\in \Theta .\ (Q \lt ^* P) \)assumes \( Q\in \text{Covers}(X) \) and \( Q \lt ^* P \)
shows \( Q \lt ^B P \)assumes \( \Theta \text{ are uniform covers of } X \) and \( P\in \Theta \)
shows \( \exists Q\in \Theta .\ (Q \lt ^B P) \)assumes \( P\in \text{Covers}(X) \), \( Q\in \text{Covers}(X) \), \( R\in \text{Covers}(X) \), \( P \lt ^B Q \), \( Q \lt ^B R \), \( X\neq 0 \)
shows \( P \lt ^* R \)assumes \( U\in P \), \( P \lt ^*Q \) and \( \bigcup \{W\times W.\ W\in Q\} \subseteq A \)
shows \( U\times U \subseteq A \)assumes \( U\in P \)
shows \( U \subseteq \text{Star}(U,P) \)assumes \( \Phi \text{ is a uniformity on } X \) and \( A\in \Phi \)
shows \( A \subseteq X\times X \), \( id(X) \subseteq A \), \( \exists V\in \Phi .\ V\circ V \subseteq A \), \( converse(A) \in \Phi \)assumes \( \Phi \text{ is a uniformity on } X \), \( W\in \Phi \) and \( x\in X \)
shows \( W\{x\} \neq \emptyset \) and \( x \in W\{x\} \)assumes \( \Phi \text{ is a uniformity on } X \), \( W\in \Phi \)
shows \( \exists V\in \Phi .\ V\circ V \subseteq W \wedge V=converse(V) \)assumes \( \Phi \text{ is a uniformity on } X \), \( W\in \Phi \)
shows \( \{W\{x\}.\ x\in X\} \in \text{UniCovFromUniformity}(X,\Phi ) \)assumes \( W = converse(W) \), \( domain(W) \subseteq X \)
shows \( \text{Star}(\{x\},\{W\{t\}.\ t\in X\}) = (W\circ W)\{x\} \)assumes \( \Phi \text{ is a uniformity on } X \), \( \Theta = \text{UniCovFromUniformity}(X,\Phi ) \), \( \mathcal{C} \in \Theta \), \( \mathcal{D} \in \Theta \)
shows \( \exists \mathcal{R} \in \Theta .\ (\mathcal{R} \lt ^B \mathcal{C} ) \wedge (\mathcal{R} \lt ^B \mathcal{D} ) \)assumes \( \Phi \text{ is a uniformity on } X \), \( \Theta = \text{UniCovFromUniformity}(X,\Phi ) \), \( \mathcal{C} \in \Theta \)
shows \( \exists \mathcal{R} \in \Theta .\ (\mathcal{R} \lt ^B \mathcal{C} ) \)assumes \( \Theta \text{ are uniform covers of } X \), \( X\neq 0 \)
shows \( \text{UniformityFromUniCov}(X,\Theta ) \text{ is a uniformity on } X \)assumes \( \Phi \text{ is a uniformity on } X \) and \( X\neq 0 \)
shows \( \text{UniCovFromUniformity}(X,\Phi ) \text{ are uniform covers of } X \)assumes \( A\subseteq X \), \( A\in \mathcal{A} \)
shows \( A \in \text{Supersets}(X,\mathcal{A} ) \)assumes \( \Phi \text{ is a uniformity on } X \), \( W\in \Phi \)
shows \( W \subseteq X\times X \) and \( domain(W) = X \)assumes \( \Theta \text{ are uniform covers of } X \), \( P\in \Theta \), \( Q \in \text{Covers}(X) \), \( P \lt ^B Q \) and \( X\neq 0 \)
shows \( Q\in \Theta \)assumes \( \Phi \text{ is a uniformity on } X \), \( W\in \Phi \)
shows \( W \subseteq X\times X \) and \( domain(W) = X \)assumes \( \Theta \subseteq \text{Covers}(X) \), \( P\in \Theta \)
shows \( \bigcup \{U\times U.\ U\in P\} \in \text{UniformityFromUniCov}(X,\Theta ) \)assumes \( \Phi \text{ is a uniformity on } X \), \( W\in \Phi \)
shows \( W \subseteq X\times X \) and \( domain(W) = X \)assumes \( converse(r) = r \)
shows \( r\circ r = \bigcup \{(r\{x\})\times (r\{x\}).\ x \in domain(r)\} \)assumes \( \Phi \text{ is a uniformity on } X \) and \( A\in \Phi \)
shows \( A \subseteq X\times X \), \( id(X) \subseteq A \), \( \exists V\in \Phi .\ V\circ V \subseteq A \), \( converse(A) \in \Phi \)assumes \( A \subseteq X\times X \) and \( id(X)\subseteq A \)
shows \( A \subseteq \bigcup \{A\{x\}\times A\{x\}.\ x \in X\} \)