Self-Dual Code; generator matrix and parity check matrix 
Hi !  
I have a parity check matrix $H$ for a code $C$
  0 0 0 1 1 1 1 0
  0 1 1 0 0 1 1 0
  1 0 1 0 1 0 1 0
  1 1 1 1 1 1 1 1
I am allowed to assume that
  1) the dual of an $(n,k)$-code is an $[n,n-k]$-code
  2) $(C^{\perp})^{\perp} = C$ (Here $\perp$ denotes the dual)
I want to prove that my code $C$ is self-dual. (ie that $C=C^{\perp}$)

Here is my logic:  
I know that, since $H$ is a parity check matrix for $C$,
 $H$ is a generator matrix for $C^{\perp}$.  
Since $C^{\perp}$ is an $[n,n-k]$-code, the generator matrix $H$ is a matrix: $[n-k]$  x $ n$  
So now looking at $H$, n=8 and k=4, so the corresponding $C$ code is a $8$x$4$ matrix.  
Now let $G=[g_{i,j}]$ be the generator matrix for $C$.
$(GH^T)=0$ since every vector in the rowspace of $G$ is orthogonal to every vector in the rowspace of $H$; 

Can anyone tell me what is missing to finish off my proof? 

Note: i see that each row in $H$ has even number of entries and that the distance between any two rows is even. maybe this helps if I can right a definition of weight relating to duals...

The rows of $H$ generate $C^\perp$.
By definition of the parity check, $xH^\mathrm{T}=0$ iff $x\in C$. 
What can you conclude from the fact that $HH^\mathrm{T}=[0]$?
