I'm wondering if it's possible to make TikZ trees render in a way similar to natural deduction (proof) trees. Specifically I would like a tree which, rather than edges from parent to child, has lines horizontally (assuming the tree grows up or down) over each subtree.
I'm still new to TikZ and my best solution so far is to draw the tree without edges and use the fit library to construct bounding boxes for all the subtrees and then use the anchors of the bounding boxes to draw lines, hardly a satisfactory solution.
(I suspect I could be using chains, but as far as I can see you'd lose the convenient notation for trees.)
EDIT: If it was conveniently possible to traverse the tree nodes in a \foreach fashion the tedious part could at least be automated, would something like this be possible?
EDIT: I guess one could tweak the level distance so as to make the edged horizontal, this feels like rather a hack though.
EDIT: Here's an example of what I'm after

produced with
\begin{tikzpicture}[grow'=up,level distance=4ex,
edge from parent/.code={},
level/.style={sibling distance=10em/#1}]
\node (A) {A}
child { node (B) {B}
child { node (D) {D} }
child { node (E) {E} } }
child { node (C) {C}
child { node (F) {F} }
child { node (G) {G}
child { node (H) {H} }
child { node (I) {I} }
child { node (J) {J} } } } ;
\node (SubA) [fit=(B) (C)] {};
\node (SubB) [fit=(D) (E)] {};
\node (SubC) [fit=(F) (G)] {};
\node (SubG) [fit=(H) (I) (J)] {};
\foreach \root in {SubA, SubB, SubC, SubG}{
\draw [thick] (\root.south west) -- (\root.south east);
};
\end{tikzpicture}

tikz-qtree. There are a number of examples here on the site that might be of use: qtree (make sure you choose the "newest" view of the tag's questions). – Alan Munn Oct 23 '11 at 23:26