There are perhaps many ways of doing this, depending on how you may want to extend this. I've used an array since the arrangement in your question looks pretty tabular-like:

\documentclass{article}
\begin{document}
\[\begin{array}{l|cclc|l}
\multicolumn{1}{l}{1.} & \quad & & \forall x\forall y : P(x,y) & \multicolumn{1}{c}{\quad} & \mbox{premise} \\ \cline{2-5}
2. & & u_0 & \forall y : P(u_0,y) && \forall e \\ \cline{3-4}
3. & & \multicolumn{1}{|c}{v_0} & P(u_0,v_0) & \multicolumn{1}{|c|}{} & \forall e \\ \cline{3-4}
4. & & & \forall v : P(u_0,v) && \forall i \\ \cline{2-5}
\multicolumn{1}{l}{5.} & & & \forall u\forall v : P(u,v) &\multicolumn{1}{c}{} & \forall i
\end{array}\]
\end{document}
Columns 2 and 5 are just place-holders, specified as centred; they only contain the entry \quad for spacing purposes.
tabular creation in LaTeX is tedious for large constructions. There are a couple of GUIs that could be of help:
excel2latex

The default is to include \bigstruts, which requires the bigstrut package. Also, you may want to modify the default tabular output to array, and wrap it inside a display math environment \[...\].
Gnumeric which allows exporting spreadsheet-like constructions to LaTeX.
...see more at Comprehensive list of tools that simplify the generation of LaTeX tables.