If A is a closed linear subspace of a vector space X (which may not be Hilbert) is it true that $A^{\perp} = 0 \Leftrightarrow A = X$?
$A^{\perp} = \{x \in X|\langle x,a\rangle=0, \forall a \in A\}$. Obviously, we have if $A = X$, then $A^{\perp} = 0$. Is the other direction (i.e. $A^{\perp} = 0 \Rightarrow A = X$) right? (Notice that $X$ may not be a Hilbert space.)
If it is not right, could you please provide a counterexample?
If $X$ is the space of all sequences $(x_n)_{n\in\mathbb N}$ of real numbers such that $n\gg0\implies x_n=0$, if$$\left\langle(x_n)_{n\in\mathbb N},(y_n)_{n\in\mathbb N}\right\rangle=\sum_{n=1}^\infty x_ny_n,$$you can take$$A=\left\{(x_n)_{n\in\mathbb N}\in X\,\middle|\,\sum_{n=0}^\infty \frac{x_n}n=0\right\}.$$Then $A\neq X$. And $A$ is closed, since it is the kernel of a continuous map. But $A^\perp=\{0\}$. In fact, if $(x_n)_{n\in\mathbb N}\in A^\perp$, then $(x_n)_{n\in\mathbb N}$ is orthogonal to each of the following sequences:
and so on. But this means that $x_1=2x_2$, $x_1=3x_3$, $x_1=4x_4$, … Since $x_n=0$ if $n\gg0$, this implies that $(x_n)_{n\in\mathbb N}$ is the null sequence.
Note that $X$ is a subspace of $\ell^2$. If $X$ was the whole space $\ell^2$, then my definition of $A$ would still make sense and $A$ would still be closed, but it would not be true anymore that $A^\perp=\{0\}$. In fact, then we would have $A^\perp=\left\langle\left(\frac1n\right)_{n\in\mathbb N}\right\rangle$.