What is the best way to typeset a proof on cstheory using MathML?

I have seen the trick using \over but it does not work well if the proof is several lines long and each rule has a name like:

$$ {{X \over Y}{A} \over Z}{B} $$

  • 2
    $\begingroup$ I'm not sure I understand the question. Aren't we typesetting latex in cstheory all the time ? $\endgroup$ May 31, 2011 at 0:46
  • 2
    $\begingroup$ @Suresh, I mean a formal proof tree like the example I gave. In LaTeX we can use packages (I use Paul Taylor and Sam Buss's packages), but I don't think that would work with MathML. $\endgroup$
    – Kaveh
    Jun 1, 2011 at 0:04

1 Answer 1


Using core latex – I just discovered that you can define new commands –, I'd write

\newcommand{\infer}[3]{\begin{array}{c} #1 \\ \hline #2 \end{array}{#3}}
    \infer{\quad X\quad}{Y}{A}}

which gives

$\newcommand{\infer}[3]{\begin{array}{c} #1 \\ \hline #2 \end{array}{#3}} \infer{ \infer{\quad X\quad}{Y}{A}} {Z}{B} $

I still need to work out how to deal with the labels. \raisebox doesn't work.

If doing this in a paper, I'd use a package such as Remy's proof.

  • $\begingroup$ I'm a bit confused by searching for mathpartir - what is it's connection to the \usepacakge{proof} that I am used to? $\endgroup$ May 31, 2011 at 8:15
  • $\begingroup$ It seems to be a companion package. I'll fix my answer. $\endgroup$ May 31, 2011 at 8:24
  • 1
    $\begingroup$ Thanks Dave, but it doesn't render much better than mine. A should be above B and the lines should have similar lengths. I will try to take a look at Neel's posts to see if he has a better way. $\endgroup$
    – Kaveh
    Jun 1, 2011 at 0:06
  • $\begingroup$ @Kaveh: If you give a good specification of what you want, we can match it. I thought you wanted to avoid the small-sized X and Y. I've proposed a fix, though it isn't very good yet. $\endgroup$ Jun 1, 2011 at 5:31
  • $\begingroup$ The ideal would be something like what one gets from Paul Taylor or Sam Buss's packages for proof trees but I guess that is probably not possible on cstheory. If you can make A and B appear at the same location with respect to their rules and make the lines of the same length without too much code that would be great. $\endgroup$
    – Kaveh
    Jun 2, 2011 at 2:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .