El ∃ de «existe» es una E mayúscula girada media vuelta, y el ∀ de «para todo», una A mayúscula puesta del revés. Los símbolos de teoría de conjuntos y lógica que ofrece LaTeX —\forall, \exists, \in, \subset, \cup, \land— no forman un sistema diseñado sino una colección de ocurrencias que cuajaron, y entre esas dos letras giradas median treinta y ocho años y dos autores distintos. Esta página sigue esas ocurrencias hasta donde todavía le cuestan algo a un documento en marcha: por qué ⊂ significa dos cosas según quién lo lea, por qué \setminus y \backslash imprimen exactamente el mismo dibujo sin componerse igual, y por qué el signo del conjunto vacío es una letra danesa.
\forall y \exists: dos letras que alguien puso del revés
Ambos son LaTeX estándar: \forall y \exists no necesitan paquete alguno, y son, literalmente, tipos girados. Giuseppe Peano imprimió la E invertida para «existe» en 1897, en el tomo II de su Formulaire de mathématiques, ocho años después de haber puesto una épsilon griega al servicio de la pertenencia. La A del revés tardó mucho más: aparece por primera vez en «Untersuchungen über das logische Schließen», de Gerhard Gentzen, Mathematische Zeitschrift 39 (1935), página 178. Durante treinta y ocho años, pues, la lógica tuvo signo para «existe» y ninguno para «para todo»; la variable ligada se escribía sin más entre paréntesis, (x). El ∄ negado es aún más reciente y no está en el núcleo de LaTeX: \nexists viene de amssymb.
Todos viven en modo matemático. Escribir \forall en el texto corriente no solo queda mal: detiene la compilación con ! Missing $ inserted., porque fuera del modo matemático no hay regla de espaciado alguna que aplicar. Y la que se aplica dentro conviene conocerla: fontmath.ltx declara \forall y \exists como \mathord, símbolos ordinarios, no como relaciones. Los cuantificadores no reclaman espacio propio, de ahí que \forall x\exists y salga apretado y que los originales cuidados escriban \forall x\, \exists y\, P(x,y), con un espacio fino \, entre ambos.
% quantifiers, and a set defined by a condition
\[
\forall \varepsilon > 0 \;\exists \delta > 0 \;
\bigl( |x - a| < \delta \implies |f(x) - f(a)| < \varepsilon \bigr)
\]
\[
A \cup B = \{\, x \mid x \in A \lor x \in B \,\}, \qquad
A \subseteq B \iff \forall x\,(x \in A \implies x \in B)
\]\land frente a \wedge, \lnot frente a \neg: cuál escribir
No hay diferencia alguna en la salida, así que conviene escribir el nombre que exprese la intención. fontmath.ltx declara \DeclareMathSymbol{\wedge}{\mathbin}{symbols}{"5E} y a continuación escribe para \land una línea idéntica —misma clase, misma fuente, misma posición—; lo mismo ocurre con \lor/\vee ("5F) y \lnot/\neg ("3A). Ninguno de los seis necesita amssymb. La convención asentada es usar los nombres lógicos en fórmulas lógicas y los geométricos allí donde ∧ significa algo que no es lógica: \wedge para el producto exterior de formas diferenciales, \vee para el supremo en un retículo. Quien encuentre \land en el original sabrá de inmediato que se quiso decir «y»: esa es toda la ventaja, y es real mientras el archivo lo lean personas.
| Comando | Glifo | Nombre / uso |
|---|---|---|
\forall | ∀ | cuantificador universal (para todo); \mathord |
\exists | ∃ | cuantificador existencial (existe); \mathord |
\nexists | ∄ | no existe; necesita amssymb |
\neg | ¬ | negación; declarado igual que \lnot |
\lnot | ¬ | negación; el nombre legible dentro de la lógica |
\land | ∧ | conjunción (y); \mathbin |
\wedge | ∧ | mismo glifo; producto exterior e ínfimo |
\lor | ∨ | disyunción (o); \mathbin |
\vee | ∨ | mismo glifo; supremo y otros usos no lógicos |
\Rightarrow | ⇒ | implicación; flecha doble corta |
\implies | ⟹ | implicación con espacio grueso a cada lado; amsmath |
\Leftrightarrow | ⇔ | equivalencia; flecha doble corta |
\iff | ⟺ | equivalencia; definida en el núcleo, sin paquete |
\implies e \iff merecen una nota aparte. \iff ya está definido en el núcleo de LaTeX como \;\Longleftrightarrow\; —una flecha doble larga con espacio grueso a cada lado— y funciona sin paquete alguno. amsmath lo redefine como \DOTSB\;\Longleftrightarrow\;, lo que no cambia nada del espaciado y lo cambia todo en \dots: \DOTSB marca un comando como operador binario o relación, de modo que un \dots posterior sale centrado (⋯) en lugar de apoyarse en la línea base. \implies, en cambio, solo existe en amsmath. Dentro de un documento conviene elegir el corto \Rightarrow o el largo \implies y mantenerlo; cambiar a mitad de una demostración se lee como si las dos flechas significaran cosas distintas.
\in, \notin, \ni: la pertenencia y la trampa de \epsilon
El signo de pertenencia ∈ nació como una épsilon griega: Peano usó ε en 1889 como abreviatura del latín est, «es». Esa historia y su consecuencia —x \epsilon A compila tan tranquilo e imprime una fórmula sin espaciado, porque \epsilon es \mathord mientras que \in es \mathrel— se cuentan en la página de letras griegas de esta referencia. De la misma tabla de declaraciones se siguen dos cosas más. Primera: \notin no es un carácter. fontmath.ltx lo construye como \mathrel{...\c@ncel\in}, superponiendo una pequeña barra oblicua a \in, de modo que la posición del trazo se calcula y no se hereda de una fuente, y \not\in cae exactamente en el mismo ancho. Segunda: ∋ (\ni, «contiene como elemento») lleva un segundo nombre declarado en la misma posición, \owns; dentro de una frase, A \owns x se lee mejor que A \ni x, y no cuesta nada.
\subset frente a \subseteq: el signo que significa dos cosas
Escribe \subseteq cuando quieras decir «subconjunto, posiblemente igual», y \subsetneq cuando quieras decir «estrictamente menor». El motivo para evitar ⊂ no es que sea incorrecto, sino que se lee de dos maneras: para una parte considerable de la literatura, A \subset B admite A = B y no es más que otra grafía de ⊆; para otra parte igual de considerable, afirma A ≠ B. Ambas lecturas están asentadas, ambas aparecen en manuales vigentes y ninguna va a imponerse. La pareja ⊂ y ⊃ la introdujo Ernst Schröder en el primer volumen de sus Vorlesungen über die Algebra der Logik en 1890, para «está contenido en» y «contiene»; la cuestión de la inclusión estricta se dividió en el uso posterior y así ha seguido.
| Comando | Glifo | Nombre / uso |
|---|---|---|
\in | ∈ | pertenece a; \mathrel |
\notin | ∉ | no pertenece a; barra superpuesta a \in |
\ni | ∋ | contiene como elemento; alias \owns |
\subset | ⊂ | inclusión; ambiguo: hay quien lo lee como estricta |
\subseteq | ⊆ | subconjunto o igual; sin ambigüedad |
\subsetneq | ⊊ | subconjunto propio; necesita amssymb |
\supset | ⊃ | el inverso de ⊂, con la misma ambigüedad |
\supseteq | ⊇ | superconjunto o igual |
De ahí se siguen dos hábitos. Primero: si un documento usa ⊂, conviene declarar una vez, cerca del comienzo, qué lectura se adopta; muchos libros hacen justo eso. Segundo: allí donde la estrictez sostiene el argumento, hay que explicitarla; \subsetneq (⊊), de amssymb, no deja nada a interpretación. amssymb ofrece además \subsetneqq (con doble raya debajo) y las formas \varsubsetneq y \varsubsetneqq, que solo difieren en el trazado de la barra y de la raya; salvo que un estilo editorial pida una de ellas, \subsetneq es el valor seguro. De paso: el núcleo de LaTeX no contiene ningún signo de subconjunto propio, lo que ya dice algo sobre cómo creció esta notación.
\cup, \cap, \setminus: y qué hace \backslash en su lugar
\setminus y \backslash toman el mismo dibujo de la misma posición de la misma fuente: el lugar "6E de la fuente symbols. Lo único que difiere es la clase con la que se declararon, y ahí está toda la historia. fontmath.ltx escribe \DeclareMathSymbol{\setminus}{\mathbin}{symbols}{"6E}, pero declara \backslash como \mathord, con un comentario en el original que dice que está ahí «para la clase doble G\backslash H». Al componer A \setminus B y A \backslash B a 10pt, las cajas miden 25,03pt y 20,59pt: los 4,44pt que faltan son el espacio medio de 4mu que un operador binario toma a cada lado. Nada falla, nada avisa, y la diferencia es lo bastante pequeña como para sobrevivir a una corrección; justo por eso conviene decidirlo de una vez. \setminus para la diferencia de conjuntos, y \backslash reservado a las clases dobles para las que se puso ahí.
La misma trampa, una talla mayor, espera en la notación por comprensión. | y \mid son también el mismo glifo —posición "6A—, declarados \mathord y \mathrel respectivamente. \{x \mid x > 0\} mide 48,10pt frente a los 42,54pt de \{x | x > 0\}: 5,56pt de diferencia, el espacio grueso de 5mu que una relación toma a ambos lados. La barra de condición es una relación —separa la variable del enunciado que la describe—, de modo que \mid es la elección correcta y | la que deja el conjunto pegado. Cuando una expresión alta obliga a crecer a las llaves, \left\{\, x \in X \;\middle|\; f(x) = 0 \,\right\} hace crecer la barra con ellas; un \mid desnudo dentro de \left\{ ... \right\} se queda pequeño mientras las llaves lo sobrepasan.
% set difference and set-builder: pick the relation-class commands
\[
A \setminus B = \{\, x \in A \mid x \notin B \,\}
\]
% \middle| grows with \left\{ ... \right\}; a bare \mid does not
\[
\left\{\, x \in X \;\middle|\; \frac{f(x)}{g(x)} = 0 \,\right\}
\]| Comando | Glifo | Nombre / uso |
|---|---|---|
\cup | ∪ | unión; \mathbin |
\cap | ∩ | intersección; \mathbin |
\setminus | ∖ | diferencia; espaciada como operador binario |
\backslash | ∖ | el mismo glifo como \mathord; para clases dobles G\H |
\mid | ∣ | barra de condición; \mathrel |
\complement | ∁ | complemento, como A^\complement; amssymb |
\emptyset frente a \varnothing: el conjunto vacío es una letra danesa
∅ no es una fi griega ni un cero tachado. Es Ø, la letra de los alfabetos danés y noruego, y entró en las matemáticas en 1939 a través de los Éléments de mathématique de Bourbaki. André Weil la reivindicó más tarde en sus memorias: el símbolo venía del alfabeto noruego, escribió, con el que solo él, entre los miembros de Bourbaki, estaba familiarizado. Conocer su procedencia zanja la discusión sobre qué comando de LaTeX usar, porque los dos comandos dibujan dos lecturas distintas de la misma letra.
\emptyset es la versión del núcleo y \varnothing viene de amssymb, y no tienen la misma forma. Medidos en Computer Modern a 10pt, \emptyset ocupa 5,00pt de ancho y 7,50pt de alto —un óvalo estrecho y erguido atravesado por un trazo—, mientras que \varnothing mide 7,78pt de ancho y 5,82pt de alto: un círculo redondo cruzado por una oblicua que sobresale por ambos extremos. El segundo se acerca mucho más a una Ø manuscrita y a lo que la mayoría imagina al oír «conjunto vacío». La conclusión práctica cabe en una regla: cargar amssymb, usar \varnothing en todo el texto y no dejar que \emptyset vuelva a colarse a mitad de camino. Dos formas para un mismo conjunto dentro de un documento es de lo que un corrector rodea en rojo.
\vdash, \models, \top, \bot: turnstiles y marcas de demostración
Los cuatro son LaTeX estándar y los cuatro hablan de una demostración, no de un conjunto. ⊢ (\vdash) es el turnstile de la derivabilidad sintáctica —Γ ⊢ φ, «φ se deriva de Γ»— y ⊨ (\models) el turnstile doble de la consecuencia semántica, «todo modelo de Γ hace verdadera a φ». Distinguir ambas nociones ocupa media lógica matemática, así que equivocarse de signo no es un detalle tipográfico. \models tampoco es un carácter único: fontmath.ltx lo ensambla con una barra vertical unida a un doble trazo, \mathrel{|}\joinrel\Relbar. ⊣ (\dashv) es el ⊢ reflejado; fuera de la lógica es como se escriben los funtores adjuntos, F ⊣ G. ⊤ y ⊥ son las constantes verdadero y falso, y también el elemento máximo y el mínimo de un retículo.
También aquí lo decisivo es la clase. \vdash, \dashv y \models son \mathrel y reclaman espacio propio a ambos lados; \top y \bot son \mathord, porque suelen aparecer solos como constantes. Escribir L \bot M con el sentido de «L es perpendicular a M» da, por tanto, una composición apretada. El comando para eso es \perp, que es la misma posición "3F declarada otra vez como relación. Al medir, L \bot M da 25,38pt y L \perp M, 30,93pt: los 5,56pt de diferencia son, una vez más, el espacio grueso que una relación toma a cada lado. \perp también está en el núcleo; no hace falta paquete.
| Comando | Glifo | Nombre / uso |
|---|---|---|
\vdash | ⊢ | derivable (turnstile); \mathrel |
\dashv | ⊣ | ⊢ reflejado; también adjunciones F ⊣ G |
\models | ⊨ | consecuencia semántica; barra más doble trazo |
\top | ⊤ | verum / elemento máximo; \mathord |
\bot | ⊥ | falsum / elemento mínimo; \mathord |
\perp | ⊥ | el mismo glifo como relación; para «perpendicular» |
\therefore | ∴ | por lo tanto; declarado como relación; amssymb |
\because | ∵ | porque; declarado como relación; amssymb |
¿Cuáles necesitan amssymb? (y dónde encajan ∴ y ∵)
Exactamente seis comandos de esta página quedan fuera del núcleo de LaTeX: \nexists, \varnothing, \subsetneq, \complement, \therefore y \because. Los seis vienen de amssymb y, sin \usepackage{amssymb} en el preámbulo, cada uno detiene la compilación con ! Undefined control sequence. El séptimo forastero es \implies, que pertenece a amsmath y no a amssymb. Como amssymb carga por su cuenta amsfonts y cualquier documento con fórmulas suele querer amsmath de todos modos, dos líneas de preámbulo cubren todo lo que aparece aquí.
\usepackage{amsmath} % \implies, \impliedby, \iff with \DOTSB
\usepackage{amssymb} % \nexists \varnothing \subsetneq \complement \therefore \because
% \therefore is a relation: it already carries space on both sides
\[
x^2 = 4 \quad \therefore x = \pm 2
\]Queda por retirar una idea muy extendida. Suele decirse que ∴ y ∵ necesitan espaciado manual: \therefore\ y similares. No es así. amssymb declara ambos como \mathrel, de modo que x \therefore y ya lleva el espacio grueso de relación a cada lado; añadir \ encima solo duplica el hueco. Lo que sí merece atención es dónde emplearlos, porque estas marcas pertenecen a la pizarra más que a la página impresa. En prosa acabada, «por lo tanto» y «puesto que» se leen mejor casi siempre, y ∴ conviene reservarlo para donde el espacio escasea de veras, por ejemplo dentro de una fórmula fuera de texto.
- Unificar en
\varnothing(amssymb) para el conjunto vacío y no mezclar nunca\emptyset - Usar
\subseteqpara la inclusión y\subsetneqpara la inclusión estricta; evitar el ambiguo\subseto declarar su sentido al principio - La diferencia de conjuntos es
\setminus;\backslashqueda para las clases dobles - La barra de comprensión es
\mid, o\middle|cuando debe estirarse; nunca un|desnudo \land,\lor,\lnotdentro de la lógica;\wedge,\veepara productos exteriores y retículos- Elegir para la implicación el corto
\Rightarrowo el largo\implies, y mantenerlo