This theory continues MetricUniform_ZF specializing to the real valued pseudometrics. The ultimate goal is to show that every uniformity is the supremum of a collection of uniformities generated by a pseudometric. In this theory we show the AC-free fragments of the proof of this fact.
This section describes a method of defining real valued pseudometrics through infimum of the set of weights of all chains connecting two points. The notions of chains and links is defined in the FiniteSeq_ZF theory, with some properties proven in the Monoid_ZF_1 theory.
Since we will be using the set of non-zero natural numbers quite a lot, let's denote it \(\mathbb{N}_1\)
abbreviation
\( \mathbb{N} _1 \equiv nat\setminus \{0\} \)
In the monoid1 context we have defined a notion of ChainWeight. The next definition brings that notion into the reals context
definition (in reals)
\( \text{RChainWeight}(w,c) \equiv monoid1.\ \text{ChainWeight}(\mathbb{R} ,Add,w,c) \)
Given a chain of elements of \(X\) and a weight function \(w:X\times X\rightarrow \mathbb{R}\) the weight of a chain is a real number.
lemma (in reals) chain_weight_real:
assumes \( n\in nat \), \( c\in \text{Chains}(X,n,x,y) \), \( w:X\times X\rightarrow \mathbb{R} \)
shows \( \text{RChainWeight}(w,c) \in \mathbb{R} \) using assms, chain_weight_type unfolding RChainWeight_defGiven a weight function \(w:X\rightarrow \mathbb{R}^+\) we define the chain distance between two points \(x,y\in X\) as the infimum of set of weights of all chains of nonzero length connecting \(x\) and \(y\).
definition (in reals)
\( \text{ChainDist}(X,w,x,y) \equiv inf(\{ \text{RChainWeight}(w,c).\ c\in (\bigcup n\in \mathbb{N} _1.\ \text{Chains}(X,n,x,y))\}) \)
If the weight function is valued in nonnegative real numbers then the weight of every chain in nonnegative.
lemma (in reals) chain_weight_nonneg:
assumes \( n\in nat \), \( c\in \text{Chains}(X,n,x,y) \), \( w:X\times X\rightarrow \mathbb{R} ^+ \)
shows \( \text{RChainWeight}(w,c) \in \mathbb{R} ^+ \)proofIf the weight function is nonnegative then the set of weights of all nontrivial chains in \(X\) connecting \(x\) and \(y\) is contained in nonnegative reals.
corollary (in reals) chain_weights_nonneg:
assumes \( w:X\times X\rightarrow \mathbb{R} ^+ \)
shows \( \{ \text{RChainWeight}(w,c).\ c\in (\bigcup n\in \mathbb{N} _1.\ \text{Chains}(X,n,x,y))\} \subseteq \mathbb{R} ^+ \) using assms, chain_weight_nonnegThe chain_concat_weight1 lemma from the monoid1 context rewritten using notation used in the reals context.
lemma (in reals) rchain_concat_weight:
assumes \( w:X\times X\rightarrow \mathbb{R} \), \( \forall x\in X.\ w\langle x,x\rangle = 0 \), \( c_1\in \text{Chains}(X,n_1,x,y) \), \( c_2\in \text{Chains}(X,n_2,y,z) \) and \( n_1\in nat \), \( n_2\in nat \)
shows \( \text{RChainWeight}(w, \text{Concat}(c_1,c_2)) = \text{RChainWeight}(w,c_1) + \text{RChainWeight}(w,c_2) \) using assms, monoid1_valid_in_group, chain_concat_weight1 unfolding RChainWeight_defIf the weight function is nonnegative and zero on the diagonal then the chain distance obeys the triangle inequalitty
lemma (in reals) chain_dist_tr_ineq:
assumes \( x\in X \), \( y\in X \), \( z\in X \) and \( w:X\times X\rightarrow \mathbb{R} ^+ \), \( \forall x\in X.\ w\langle x,x\rangle = 0 \)
shows \( \text{ChainDist}(X,w,x,z) \leq \text{ChainDist}(X,w,x,y) + \text{ChainDist}(X,w,y,z) \)proofIf the weight function vanishes on the diagonal then the chain distance from \(x\in X\) to \(x\) is zero.
lemma (in reals) chain_dist_self_zero:
assumes \( x\in X \), \( w:X\times X\rightarrow \mathbb{R} ^+ \), \( w\langle x,x\rangle = 0 \)
shows \( \text{ChainDist}(X,w,x,x) = 0 \)proofThe metrization theorem states that a uniform space is pseudometrizable if and only if its uniformity has an countable base. In this sectiopn we show the key lemma that leads to the metrization theorem.
In the literature the metrization lemma (proven below) is usually stated as asserting existence of a pseudometric satisfying certain conditions. We prefer here a more explicit approach where we specify the construction of that pseudometric as a series of definitions, then show that the resulting function indeed satisfies the required conditions. The drawback of this approach is that we have to come up with names for the intermediate objects representing stages of that construction. Naming is hard, so as usual if the reader has an idea for better names please let me know.
We define the \( \text{DistWeight}(\mathcal{U} ,p) \) expression as equal to (real) \(0\) if \(p\in\bigcap_{n\in\mathbb{N}} \mathcal{U}_n\) or otherwise equal to \((\frac{1}{2})^n\), where \(n\) is the only natural number such that \(p\in\mathcal{U}_n\setminus\mathcal{U}_{n+1}\). To understand the context in which this definition is intended to be used suppose \(\mathcal{U}:\mathbb{N}\rightarrow\mathcal{P}(X\times X)\) is a sequence of subsets of \(X\times X\) such that \(\mathcal{U}_{n+1}\subseteq \mathcal{U}_n\) for \(n\in\mathbb{N}\). Then we have the identity \(\bigcup_{n\in \mathbb{N}} (\mathcal{U}_n\setminus\mathcal{U}_{n+1})=\mathcal{U}_0\setminus \bigcap_{n\in \mathbb{N}} \mathcal{U}_n\) and for any \(p\in\bigcup_{n\in \mathbb{N}} (\mathcal{U}_n\setminus \mathcal{U}_{n+1})\) there is exactly one \(n\in \mathbb{N}\) such that \(p\in \mathcal{U}_n\setminus \mathcal{U}_{n+1}\) This means that the set \(\{n\in n\in \mathbb{N}: p\in \mathcal{U}_n\setminus \mathcal{U}_{n+1}\}\) is a singleton and we can use the \(\bigcup \{ x\} = x\) identity to extract its only element.
definition (in reals)
\( \text{DistWeight}(\mathcal{U} ,p) \equiv \text{if }p \in (\bigcap n\in nat.\ \mathcal{U} (n))\text{ then } 0 \text{ else }( \frac{1}{2} )^{\bigcup \{n\in nat.\ p\in (\mathcal{U} (n)\setminus \mathcal{U} (n + 1))\}} \)
Suppose \(\mathcal{U}:\mathbb{N}\rightarrow \mathcal{P}(X\times X)\) is a sequence of subsets of \(X\times X\) such that \(\mathcal{U}_{n+1}\subseteq \mathcal{U}_n\) for all \(n\in\mathbb{N}\). Assume further that \(p\in\mathcal{U}_n\setminus \mathcal{U}_{n+1}\) for some \(n\in\mathbb{N}\). Then \( \text{DistWeight}(\mathcal{U} ,p) \) is equal to \(\left(frac{1}{2}\right)^n\).
lemma (in reals) dist_weight_val:
assumes \( \mathcal{U} :nat\rightarrow Pow(X\times X) \), \( \forall i\in nat.\ \mathcal{U} (i + 1) \subseteq \mathcal{U} (i) \) and \( n\in nat \), \( p \in (\mathcal{U} (n)\setminus \mathcal{U} (n + 1)) \)
shows \( \text{DistWeight}(\mathcal{U} ,p) = ( \frac{1}{2} )^{n} \)proofassumes \( n\in nat \), \( c\in \text{Chains}(X,n,x,y) \), \( w:X\times X\rightarrow G \)
shows \( \text{ChainWeight}(w,c) \in G \)assumes \( n\in nat \), \( c\in \text{Chains}(X,n,x,y) \)
shows \( domain(c) - 1 = n \) and \( \text{ChainLinks}(c):n\rightarrow X\times X \)assumes \( n\in nat \), \( s:n\rightarrow L^+ \)
shows \( (\sum s) \in L^+ \)assumes \( n\in nat \), \( c\in \text{Chains}(X,n,x,y) \), \( w:X\times X\rightarrow \mathbb{R} ^+ \)
shows \( \text{RChainWeight}(w,c) \in \mathbb{R} ^+ \)assumes \( n_1\in nat \), \( c_1\in \text{Chains}(X,n_1,x,y) \), \( n_2\in nat \), \( c_2\in \text{Chains}(X,n_2,y,z) \) and \( w:X\times X\rightarrow G \), \( \forall x\in X.\ w\langle x,x\rangle = 0 \)
shows \( \text{ChainWeight}(w, \text{Concat}(c_1,c_2)) = \text{ChainWeight}(w,c_1)\oplus \text{ChainWeight}(w,c_2) \)assumes \( x\in X \) and \( y\in X \)
shows \( \{\langle 0,x\rangle ,\langle 1,y\rangle \} \in \text{Chains}(X,1,x,y) \), \( \{\langle 0,x\rangle ,\langle 1,y\rangle \}(0) = x \), \( \{\langle 0,x\rangle ,\langle 1,y\rangle \}(1) = y \), \( (\bigcup n\in nat\setminus \{0\}.\ \text{Chains}(X,n,x,y)) \neq \emptyset \)assumes \( A\neq \emptyset \), \( B\neq \emptyset \)
shows \( \{b(x,y).\ \langle x,y\rangle \in A\times B\} \neq \emptyset \)assumes \( f:X\rightarrow Y \) and \( Y\subseteq Z \)
shows \( f:X\rightarrow Z \)assumes \( w:X\times X\rightarrow \mathbb{R} \), \( \forall x\in X.\ w\langle x,x\rangle = 0 \), \( c_1\in \text{Chains}(X,n_1,x,y) \), \( c_2\in \text{Chains}(X,n_2,y,z) \) and \( n_1\in nat \), \( n_2\in nat \)
shows \( \text{RChainWeight}(w, \text{Concat}(c_1,c_2)) = \text{RChainWeight}(w,c_1) + \text{RChainWeight}(w,c_2) \)assumes \( n_1\in nat \), \( c_1\in \text{Chains}(X,n_1,x_1,y_1) \), \( n_2\in nat \), \( c_2\in \text{Chains}(X,n_2,x_2,y_2) \)
defines \( c_3 \equiv \text{Concat}(c_1,c_2) \)
shows \( c_3 \in \text{Chains}(X,n_1 + n_2 + 1,x_1,y_2) \), \( \text{ChainLinks}(c_3): (n_1 + n_2 + 1)\rightarrow X\times X \), \( \text{ChainLinks}(c_3) = \text{Concat}( \text{Append}( \text{ChainLinks}(c_1),\langle c_1(n_1),c_2(0)\rangle ), \text{ChainLinks}(c_2)) \), \( \text{ChainLinks}(c_3) = \text{Concat}( \text{Append}( \text{ChainLinks}(c_1),\langle y_1,x_2\rangle ), \text{ChainLinks}(c_2)) \)assumes \( A\neq \emptyset \), \( A\subseteq \mathbb{R} ^+ \)
shows \( A \text{ has an infimum } \) and \( inf(A) \in \mathbb{R} ^+ \)assumes \( \text{antisym}(r) \), \( \text{HasAnInfimum}(r,A) \), \( \text{HasAnInfimum}(r,B) \), \( A\subseteq B \)
shows \( \langle \text{Infimum}(r,B), \text{Infimum}(r,A)\rangle \in r \)assumes \( A\neq \emptyset \), \( A\subseteq \mathbb{R} ^+ \), \( B\neq \emptyset \), \( B\subseteq \mathbb{R} ^+ \)
shows \( \{x + y.\ \langle x,y\rangle \in A\times B\} \text{ has an infimum } \) and \( inf(A) + inf(B) = inf(\{x + y.\ \langle x,y\rangle \in A\times B\}) \)assumes \( x\in X \) and \( y\in X \)
shows \( \{\langle 0,x\rangle ,\langle 1,y\rangle \} \in \text{Chains}(X,1,x,y) \), \( \{\langle 0,x\rangle ,\langle 1,y\rangle \}(0) = x \), \( \{\langle 0,x\rangle ,\langle 1,y\rangle \}(1) = y \), \( (\bigcup n\in nat\setminus \{0\}.\ \text{Chains}(X,n,x,y)) \neq \emptyset \)assumes \( x\in X \), \( y\in X \), \( w:X\times X\rightarrow G \)
shows \( \text{ChainWeight}(w,\{\langle 0,x\rangle ,\langle 1,y\rangle \}) = w\langle x,y\rangle \)assumes \( w:X\times X\rightarrow \mathbb{R} ^+ \)
shows \( \{ \text{RChainWeight}(w,c).\ c\in (\bigcup n\in \mathbb{N} _1.\ \text{Chains}(X,n,x,y))\} \subseteq \mathbb{R} ^+ \)assumes \( B\subseteq L^+ \), \( 0 \in B \)
shows \( \text{HasAminimum}(r,B) \), \( \text{Minimum}(r,B) = 0 \) and \( \text{HasAnInfimum}(r,B) \), \( \text{Infimum}(r,B) = 0 \)assumes \( \mathcal{U} :nat\rightarrow Pow(X) \), \( \forall n\in nat.\ \mathcal{U} (n + 1)\subseteq \mathcal{U} (n) \)
defines \( \mathcal{V} \equiv \{\langle i,\mathcal{U} (i)\setminus \mathcal{U} (i + 1)\rangle .\ i\in nat\} \)
shows \( \mathcal{V} :nat\rightarrow Pow(X) \), \( \text{IsDecreasingSeq}(Pow(X), \text{InclusionOn}(Pow(X)),\mathcal{U} ) \), \( \mathcal{V} \text{ is pairwise disjoint } \), \( (\bigcup n\in nat.\ \mathcal{U} (n)\setminus \mathcal{U} (n + 1)) = \mathcal{U} (0)\setminus (\bigcap n\in nat.\ \mathcal{U} (n)) \)assumes \( X:I\rightarrow Y \), \( X \text{ is pairwise disjoint } \), \( i\in I \), \( x\in X(i) \)
shows \( i = \bigcup \{j\in I.\ x\in X(j)\} \)