Double orthogonal complement of any closed subspace is it self Let $H$ be a pre-Hilbert space such that any closed sub space $M \subset H$ has the property $M^{\bot \bot}=M$. Prove that $H$ is a Hilbert space (ie, prove that $H$ is complete)
My attempt: 
As $H^*$ ($L(H,\mathbb{K})$) is complete then I want to prove that $H \cong H^*$. But I don't know how to construct an isometry between them. 
I will appreciate highly who can give me some ideas
Thank in advance!
 A: This statement appears to be false:
Let $H=\ell^2(\mathbb R)$ be the Hilbert space with the usual orthonormal basis sequence $(e_n)_{n \in \mathbb N}$. Let $L$ denote the linear span of $e_n$.
Then $L$ is an (incomplete) inner product space: $$ s_n =\sum_{k=0}^n {1\over 2^k}e_k$$
converges to the sequence $s = (1,{1\over 2}, {1\over 4},\dots)$ which is not in $L$ but $s_n \in L$.
Since $e_n$ are orthonormal it is easy to see that if $M$ is any subspace of $L$ then $M^{\bot \bot}=M$.
A: That space seems to be the same space here:
A counterexample to theorem about orthogonal projection
and it doens´t seems to have the property $M = M^{\perp \perp}$ for all closed subspaces $M$.
I found the same exercise in the book "Functional Analysis" of George Bachman and Lawrence Narici
It says:
If X is an inner product space and $M=M^{\perp \perp}$ for every closed subspace M of X, show that X is a Hilbert space. [Hint Use the mapping T mentioned in Eq. (12.23)]
That mapping is:
$T:X \rightarrow \overset{\sim}{X}$ such that
$y \rightarrow Ty = f $
where the bounded functional $f$ is, for any given $x_{0} \in X$, given by:
$(Ty)(x)=f(x)=(x,y)$
Edit:
I think I was able to prove it, I will explain it now.
Let's be $T:X \to \overset{\sim}{X}$ such that
$T(y)=f_{y}$ where $f_{y}(x)=(x,y) \forall x \in X$. That is, $T(y)$ is the Riesz representative of $y$.
And $\overline{T} : \overline{X} \to \overset{\sim}{\overline{X}}$ to the same function but with domain $\overline{X}$  (the completion of X).
The conjugate space a space and it's completion are always isomorphic, so we will identify both conjugate spaces and act as if $\overset{\sim}{ X } = \overset{\sim}{\overline{X}}$.
Observe that the function $\overline{T}$ is an isometry, so it's injective. Then $T = \overline{T}_{|X}$ it's also injective. I will make a strong use of this property, that's why I am pointing it out.
We will prove it by contradiction. Assume that there exists $x \in \overline{X} - X$.
As every vector space contains the element $0$, $x_{0}$ cannot be $0$.
Let $f=\overline{T} (x_{0})$, as $x_{0} \neq 0$ and $\overline{T}$ is injective, we know that $f \neq 0$.
$N_{f}= \{ z \in X / f(z)=0 \} = f^{-1} ( \{ 0 \} )$ is a closed subspace of $X$, as it's the inverse image of $0$ under $f$ and $f$ is continuous.
As  $f \neq 0$, $f$ doesn't vanish in all $X$, that is
\begin{equation}
\label{Hola}
N_{f} \neq X 
\end{equation}
We will use that inequality to arrive a contradiction. If $N_{f}^{\perp} = \{ 0 \}$ then
$$N_{f}=N_{f}^{\perp \perp} = (N_{f}^{\perp})^{\perp} = \{ 0 \}^{\perp} = X$$
Where the first equality is given by hyphotesis. So if we can prove that $N_{f}^{\perp} = \{ 0 \}$ we will have reached a contradiction.
By definition $ N_{f}^{\perp} = \{ x \in X / (y,x) = 0 \: \forall \: y \in N_{f} \}$
Let $x$ be an arbitrary element of $N_{f}$, lets show that $x = 0$.
$x \in N_{f}^{\perp}$ is the same than saying $(y,x) = 0$ for all $y \in N_{f}$ which implies $T(x)(y)=0$ for all $y \in N_{f}$. Note that $f$ is the only nonzero functional which vanish in all $N_{f}$ modulo a nonzero scalar, this implies either $T(x) = \lambda f =\lambda T(x_{0})$ for a nonzero $\lambda$ or $T(x) = 0$ which implies $x=0$. Let's discard the first option. In this case $T( \lambda^{-1} x ) = T(x_{0})$, and being $T$ injective this implies $\lambda^{-1} x = x_{0}$.
Note that $span( x_{0} ) \cap X = \{ 0 \}$ (otherwise we would have $\lambda x_{0} \in X$ with $\lambda \neq 0$ so $x_{0} = \lambda^{-1} \lambda x_{0} \in X$ which contradicts the initial assumption that $x_{0} \notin X$).
So we have two facts. $0 \neq x_{0} = \lambda^{-1} x \in span (x_{0} ) \cap X$ and $\{ 0 \} = span (x_{0} ) \cap X$, which is a contradiction.
As this contradiction arised from assuming that $x \neq 0$, it must be have $x=0$. As $x$ was an arbitrary element of $N_{f}^{\perp}$  we
just have proved $N_{f}^{\perp} = \{ 0 \}$.
We knew that if $N_{f}^{\perp} = \{ 0 \}$ we would reach a contradiction, thus we arrived a contradiction in either case. This contradiction arised supposing that $X \neq \overline{X}$, so it must be$X=\overline{X}$. Therefore $X$ is a Hilbert Space, as is a complete inner product space.
Comment after the edit:
I wrote this years ago in Spanish, it took me several tries to write a understandable proof. Then I completely butchered it while trying to translate it to English with my poor English skills. I am really sorry for posting such a illegible mess.
I don't remember the proof nor I have the sheet in which I have written it, so I had to re-read it and try to make sense of it. The structure it's quite convoluted, so a mistake may have slipped of my sight. I hope it's correct now, I will read it again this week.
