How to define a finite topological space?

631 Views Asked by At

I want to develop a simple way to define topologies on finite sets $X=\{1,2,\dots,n\}$ for computational experiments.

Does any function $c:X\to \mathcal P(X)$, such that $x\in c(x)$, define a closure operator on $X$?

The idea is that $c$ should define a closure operator by $$\mathrm{cl}(\{x_1,\cdots,x_m\})=\overline{\{x_1,\cdots,x_m\}}=\bigcup_{k=1}^{m} c(x_k)$$

5

There are 5 best solutions below

1
On BEST ANSWER

You need an additional property to guarantee that the closure operator will be idempotent. Requiring $$x \in c(y) \Rightarrow c(x) \subseteq c(y)$$ in addition to $x \in c(x)$ is necessary and sufficient.

6
On

No. First of all, it must be a function $c\colon\mathcal{P}(X)\longrightarrow\mathcal{P}(X)$. Besides, it must satisfy these conditions:

  1. $A\in\mathcal{P}(X)\Longrightarrow A\subset c(A)$;
  2. $A,B\in\mathcal{P}(X)\wedge A\subset B\Longrightarrow c(A)\subset c(B)$;
  3. $A\in\mathcal{P}(X)\Longrightarrow c\bigl(c(A)\bigr)=c(A)$.
6
On

It's sufficient to define a relation $x \le y$, the specialisation order, (so just a subset of $X^2$), which is a pre-order, so $x \le x$ for all $x$,and $x \le y$ and $y \le z$ implies $x \le z$. ($\le$ is reflexive and transitive).

This relation is defined in a topological space by $x \le y$ iff $x \in \overline{\{y\}}$. But if we start with a preorder $\le$, we can define a topology: $\overline{\{y\}}$ is then defined by $\downarrow y = \{x \in X: x \le y\}$ and $\overline{A} = \cup_{x \in A}\downarrow x$.

The set of finite topological spaces is just the set of finite pre-orders.

3
On

If you want a simple way to define finite topological spaces, the simplest ones are nothing more that a chain of inclusions:

$\emptyset \subset A_1 \subset A_2 \dots \subset A_n ( = X) $

The ${A_i}^{'}s$ are your closed sets.

This doesn't describe all topologies on $X$ , but it may be useful for your experiments.

0
On

Starting with an arbitrary function $c:X\to\mathcal P(X)$ such that $\forall x\in X:x\in c(x)$, this should be an algorithm to transform $c$ to a function that defines a closure operator, due to the accepted answer:

$0:\quad$ $\mathrm{ready}\leftarrow\mathrm{true}$
$1:\quad$ $i\leftarrow 1$
$2:\quad$ $j\leftarrow 1$
$3:\quad$ if $i\in c(j)$ and $c(i)\cap c(j)\neq c(i)$ then $c(j)\leftarrow c(j)\cup c(i)$ ; $\mathrm{ready}\leftarrow\mathrm{false}$
$4:\quad$ $j\leftarrow j+1$
$5:\quad$ if $j\leq n$ then goto $3$
$6:\quad$ $i\leftarrow i+1$
$7:\quad$ if $i\leq n$ then goto $2$
$8:\quad$ if not ready then goto $0$