5

I want to have the following formula:

\[\Phi=\{\phi\}\cup\left\{\exists \mathsf{x_0}\ldots\exists \mathsf{x_{n-1}}\left[\bigwedge_{0\leq i<j\leq n-1} \mathsf{x_i}\neq\mathsf{x_j}\right]\right\}\]

which outputs to this: enter image description here

As you can see, I get a huge space above my \bidwedge. The usage of \limits doesn't change anything. How can I get a more decent looking set?

1

3 Answers 3

3

\left and \right always produce fences which are symmetric with respect to the formula axis, that is, the imaginary line where fraction lines would lie on.

With big operators having limits there is no need the fences cover them; in this case \bigg is sufficient and avoids too large delimiters. There's only one small manual fix: adding \, between the bracket and the operator, because the limit is very wide.

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[
\Phi=\{\phi\}\cup
  \biggl\{\exists \mathsf{x_0}\dots
         \exists \mathsf{x_{n-1}}
  \biggl[\,\bigwedge_{0\leq i<j\leq n-1} \mathsf{x_i}\neq\mathsf{x_j}
  \biggr]
  \biggr\}
\]

\end{document}

enter image description here

Actually, I would give a try to \Big:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\Phi=\{\phi\}\cup
  \Bigl\{\exists \mathsf{x_0}\dots
         \exists \mathsf{x_{n-1}}
  \Bigl[\,\bigwedge_{0\leq i<j\leq n-1} \mathsf{x_i}\neq\mathsf{x_j}
  \Bigr]
  \Bigr\}
\]
\end{document}

enter image description here

2
  • Should the characters -- 0. 1, i, and j -- that are used to index elements of the x sequence be typeset in sans-serif or in "regular" math italics? The OP's code uses both font styles, but that may not be optimal.
    – Mico
    May 1, 2015 at 0:43
  • @Mico I don't really understand the OP's choice of fonts.
    – egreg
    May 1, 2015 at 8:58
2

You can use one of the \big,\Big,\bigg, \Bigg commands to adjust the size of the delimiters to your needs. This can be automatised with the DeclarePairedDelimiter from mathtools. An example is the \set command which be used in the \set* version, which corresponds to a pair of \left … \right; alternatively, it accepts an optional argument \big, \Big, &c.

I suggest one of these codes, without square brackets, that don't look too good in this context, in my opinion:

\documentclass[12pt]{article}

\usepackage{mathtools}
\DeclarePairedDelimiter\set{\{}{\}}

\begin{document}

\[\Phi=\{\phi\}\cup\set[\bigg]{\exists \mathsf{x_0}\ldots\exists \mathsf{x_{n-1}}\left(\smash[b]{\bigwedge_{0\leq i<j\leq n-1}} \mathsf{x_i}\neq\mathsf{x_j}\right)}\]
\[\Phi=\{\phi\}\cup\biggl\{\exists \mathsf{x_0}\ldots\exists \mathsf{x_{n-1}}\textsf{, } \smash[b]{\bigwedge_{0\leq i<j\leq n-1}} \mathsf{x_i}\neq\mathsf{x_j}\biggr\}\]

\end{document} 

enter image description here

1

You may want to reserve the use of \mathsf for the names of variables; I wouldn't extend its use to the indexing variables 0, i, j, n-1, etc. To write the expression more compactly, you may also want to load the mathtools package (a superset of the amsmath package) and that package's \smashoperator directive. Finally, as the other answers have suggested as well, I wouldn't use the \left and \right directives to size the parentheses since the size that's produced by this method is excessive, typographically speaking; use \biggl and \biggr instead.

enter image description here

\documentclass{article}
\usepackage{mathtools} % for '\smashoperator' macro
\begin{document}
\[
\Phi=\{\phi\} \cup
     \biggl\{\exists \mathsf{x}_0 \dots \exists \mathsf{x}_{n-1}
     \biggl[ \, \smashoperator[r]{\bigwedge_{0\leq i<j\leq n-1}} 
     \mathsf{x}_i \neq \mathsf{x}_j
  \biggr]
  \biggr\}
\]
\end{document}
3
  • Thanks for your answer! I disagree about the use of mathsf, it indicates the variable names in the meta-language, and since the whole x_i is the name of the variable, I think it should all be in sans-serif. When a specific model is given and I'm talking in that models language, one would use x_i with serif in my opinion. Maybe it's useful to add this article is on model theory rather then general logic.
    – konewka
    May 1, 2015 at 12:32
  • 1
    @konewka - If the indexing variables i, j, etc need to be in sans-serif, you should place the material below \bigwedge in mathsf-mode as well.
    – Mico
    May 1, 2015 at 13:36
  • Ooh yeah, you're absolutely right, missed those, thanks!
    – konewka
    May 1, 2015 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.