{0,1}^ℝ中稠密子集Y的无限子集聚点存在性证明咨询
设${0,1}$赋予离散拓扑,$X = {0,1}^{\mathbb{R}}$赋予乘积拓扑。定义$Y = { \chi_A: A \subset \mathbb{R}, A \text{ 可数}} $,我想证明$Y$的每个无限子集$K \subset Y$都在$Y$中有一个聚点。
我尝试的思路是:因为$K$无限,取其中的一个序列$(\chi_{A_n}){n \in \mathbb{N}}$,其中每个$\chi{A_n} \in K$。$\chi_{\bigcup A_n} \in Y$,我一直试图证明$\chi_{\bigcup A_n} \in \overline{K}$,但不确定这个思路是否正确。
你这个思路有一定直觉性,但直接取所有$A_n$的并的特征函数不一定是$K$的聚点,我举个简单反例就能说明:比如取$A_n = [n, n+1) \cap \mathbb{Q}$,这些$A_n$是两两不交的可数集,那么$\bigcup A_n = \mathbb{Q}$,$\chi_{\mathbb{Q}}$的一个开邻域可以取某个$x \in [0,1) \cap \mathbb{Q}$,邻域要求函数在$x$处取值为1。但序列中只有$\chi_{A_0}$在$x$处取1,其他所有$\chi_{A_n}$($n \geq 1$)在$x$处都取0,这个邻域只包含序列中的一个元素,显然不符合聚点的定义——聚点要求每个开邻域都包含集合中无限多个点。所以你的初始思路需要调整。
下面我给你两种可行的证明方法,都是针对乘积拓扑和$Y$的结构设计的:
方法一:利用超滤子构造聚点(通用无限集情况)
因为$K$是无限集,我们先把$K$中的元素对应到可数子集族${A_f \mid f = \chi_{A_f} \in K}$。取$\mathbb{N}$上的一个非主超滤$\mathcal{U}$(非主超滤的性质是:它包含所有无限子集,且对有限交封闭),然后定义集合:
$$A = { x \in \mathbb{R} \mid {n \in \mathbb{N} \mid x \in A_n} \in \mathcal{U} }$$
这里$(\chi_{A_n})$是$K$中任意取出的一个无限序列(其实不用序列,直接对$K$用超滤也可以,用序列只是更直观)。
首先验证$A \in Y$:每个$A_n$是可数集,所以$\bigcup_{n \in \mathbb{N}} A_n$是可数个可数集的并,本身也是可数集,而$A$是这个并集的子集,因此$A$可数,$\chi_A \in Y$。
接下来证明$\chi_A$是$K$的聚点:任取$\chi_A$的一个基本开邻域$U$(乘积拓扑的基本开邻域由有限个坐标点确定),假设$U$由坐标$x_1, x_2, ..., x_k$定义,即:
$$U = { f \in X \mid f(x_i) = \chi_A(x_i) \text{ 对所有 } i=1,2,...,k }$$
对于每个$x_i$:
- 如果$\chi_A(x_i)=1$,则集合$S_{x_i} = {n \mid x_i \in A_n} \in \mathcal{U}$;
- 如果$\chi_A(x_i)=0$,则集合$\mathbb{N} \setminus S_{x_i} = {n \mid x_i \notin A_n} \in \mathcal{U}$。
由于超滤对有限交封闭,这些集合的交集$T = \bigcap_{i=1}^k S_{x_i}'$($S_{x_i}'$是$S_{x_i}$或其补集,对应$\chi_A(x_i)$的取值)也属于$\mathcal{U}$,因此$T$是无限集。这意味着$K$中有无限多个$\chi_{A_n}$满足$\chi_{A_n}(x_i) = \chi_A(x_i)$对所有$i$,即这些$\chi_{A_n} \in U \cap K$。根据聚点的定义,$\chi_A$是$K$的聚点。
方法二:对角化构造(适合可数无限集)
如果$K$是可数无限集,我们可以用构造性的对角化方法:把$K$写成${ \chi_{A_n} \mid n \in \mathbb{N} }$,每个$A_n$可数,记$A_n = { a_{n,m} \mid m \in \mathbb{N} }$。
我们递归构造子序列和目标集合$A$:
- 第一步:取点$a_{1,1}$,观察序列中$\chi_{A_n}(a_{1,1})$的取值,必然有一个值(0或1)被无限多个$\chi_{A_n}$取到,记这个值为$\chi_A(a_{1,1})$,把这些取到该值的$\chi_A$组成子序列$K_1$。
- 第二步:从$K_1$中取点$a_{2,1}$,同样找到$K_1$中无限多个$\chi_{A_n}$在$a_{2,1}$处取同一个值,记为$\chi_A(a_{2,1})$,组成子序列$K_2$。
- 重复这个过程,第$k$步得到子序列$K_k$,确定$\chi_A(a_{k,1})$的取值。
最后,取对角线序列$n_k \in K_k$,定义$A$为所有被我们确定了取值的点的集合(显然$A$可数)。这样构造出的$\chi_A$满足:对于任意有限个坐标点,都有无限多个$K$中的元素在这些坐标上和$\chi_A$一致,因此$\chi_A$是$K$的聚点。
再总结一下你的初始思路问题
$\bigcup A_n$的特征函数只保证在所有$A_n$的并上取1,但乘积拓扑的邻域只关心有限个坐标,可能存在某个坐标$x$在$\bigcup A_n$中,但只有有限个$A_n$包含$x$,这时候$\chi_{\bigcup A_n}$在$x$处取1,但序列中只有有限个$\chi_{A_n}$在$x$处取1,对应的邻域就只包含有限个序列元素,不符合聚点要求。
所以核心是要构造一个$A$,使得每个有限坐标集上都有无限多个$K$中的元素和$\chi_A$一致,而不是简单取并集。
备注:内容来源于stack exchange,提问作者JazzyStudent

