LS-052 / Semántica y pragmática

Semántica formal: tipos, funciones y composición

Semántica formal

Para orientarte: Significado, referencia y condiciones de verdad, Composicionalidad y ambigüedad.

Ver secciones del texto
  1. Punto de partida
  2. Nombres propios
  3. Verbos transitivos
  4. El principio de composicionalidad
  5. Predicados de diferentes aridades
  6. Adjetivos
  7. Modificación
  8. Determinantes
  9. El cuantificador existencial
  10. Nombres propios como cuantificadores
  11. Tipos y errores de composición
  12. Eventos
  13. Davidson
  14. Oraciones y valores de verdad
  15. Funciones de orden superior
  16. Extensión e intensión
  17. Contexto
  18. Semántica y sintaxis
  19. Ambigüedad
  20. Clínica
  21. Escritura científica
  22. Inteligencia artificial
  23. Filosofía de los tipos
  24. Método de derivación
  25. Errores frecuentes
  26. Síntesis
  27. Referencias fundamentales y ampliadas

DESARROLLO COMPLETO · BIBLIOGRAFÍA INCLUIDA

Las lecturas de fundamentos introdujeron varias ideas centrales de semántica, entre ellas la referencia, la denotación, las condiciones de verdad, la intensión, la composicionalidad, el alcance y la ambigüedad. Esta lectura comienza con un paso adicional, el de construir representaciones formales que permitan derivar el significado de una expresión a partir de sus partes. La semántica formal no pretende reemplazar los demás enfoques del significado. Su objetivo es más específico y consiste en modelar de manera explícita cómo las expresiones lingüísticas se combinan para producir condiciones de verdad e inferencias.

Considérese «María duerme». Su significado puede describirse informalmente o representarse como DORMIR(m), donde m es María y DORMIR la propiedad de dormir. «María admira a Juan» requiere, en cambio, una relación de dos argumentos, ADMIRAR(m, j). Aunque estas representaciones parecen simples, construirlas sistemáticamente exige responder qué tipo de objeto semántico denota un nombre propio, qué tipo denota un verbo, cómo se combinan ambos, qué ocurre con cuantificadores como «todos» o «algún» y qué pasa cuando una expresión no tiene el «tipo» que otra requiere. La semántica moderna responde con una arquitectura de tipos semánticos y funciones. De esa arquitectura nace la pregunta central de la lectura, la de cómo puede modelarse la composición del significado como una serie de operaciones entre objetos semánticos de distintos tipos. La exposición avanza desde los tipos básicos hasta los cuantificadores, los eventos y la intensión, para cerrar con las aplicaciones y con un método general de derivación.

En una tradición montagueana de semántica extensional, una arquitectura mínima comienza con dos tipos básicos, convención muy útil que no es la única ontología formal disponible para el lenguaje natural (Montague, 1974; Heim & Kratzer, 1998). El tipo e corresponde a las entidades o individuos, como María, Juan, un libro o una ciudad. El tipo t corresponde a los valores de verdad, t ∈ {0, 1}, con 1 para lo verdadero y 0 para lo falso. Un nombre propio puede denotar un objeto de tipo e y una oración declarativa completa, un objeto de tipo t. La arquitectura parece austera, aunque su capacidad expresiva aparece al construir tipos funcionales.

Una función toma un argumento y devuelve un resultado. Un tipo funcional se escribe ⟨a, b⟩, donde a es el tipo de entrada y b el de salida. Un predicado intransitivo como «duerme» toma un individuo y devuelve un valor de verdad, de ahí que su tipo sea ⟨e, t⟩ y que su denotación pueda escribirse ⟦duerme⟧ = λx.DORMIR(x). La expresión espera un individuo y, si recibe m, devuelve DORMIR(m), que puede ser verdadero o falso.

Nombres propios

Supóngase ⟦María⟧ = m, es decir, que el nombre propio denota un individuo, de tipo e. Esa asignación es una simplificación útil. Otros análisis asignan a los nombres propios tipos más complejos, como muestra el type lifting examinado más adelante, aunque el análisis referencial directo permite mostrar con claridad la lógica de la composición.

Con ⟦duerme⟧ = λx.DORMIR(x) (de tipo ⟨e, t⟩) y ⟦María⟧ = m (de tipo e), la función puede aplicarse a su argumento, (λx.DORMIR(x))(m), con el resultado DORMIR(m). La operación se denomina aplicación funcional (Heim & Kratzer, 1998) y responde a una regla general según la cual, si α es de tipo ⟨a, b⟩ y β es de tipo a, entonces α(β) es de tipo b. Dos expresiones pueden combinarse cuando una denota una función y la otra un objeto del tipo que esa función requiere.

En cálculo lambda, (λx.P(x))(a) se reduce a P(a), operación llamada beta-reducción (Partee et al., 1990), como en (λx.DORMIR(x))(m) ⇒ DORMIR(m). El lambda es una herramienta formal para representar funciones y no describe un proceso psicológico literal.

Verbos transitivos

Un verbo transitivo como «admirar» necesita dos argumentos y puede representarse como ⟦admirar⟧ = λy.λx.ADMIRAR(x, y). El orden de las variables refleja una decisión composicional, según la cual el verbo se combina primero con el objeto y después con el sujeto. Su tipo es, por tanto, ⟨e, ⟨e, t⟩⟩, es decir, una función que toma un individuo y devuelve otra función de individuos a valores de verdad.

Para «admira a Juan», con ⟦Juan⟧ = j, la aplicación (λy.λx.ADMIRAR(x, y))(j) se reduce a λx.ADMIRAR(x, j), la propiedad de admirar a Juan, de tipo ⟨e, t⟩.

La segunda aplicación combina esa propiedad con María, (λx.ADMIRAR(x, j))(m), cuyo resultado es ADMIRAR(m, j), de tipo t. La derivación completa va de «admira» y «Juan» a «admira a Juan» y de ahí, con «María», a «María admira a Juan», recorrido en el que la estructura sintáctica guía la composición semántica en cada paso.

El principio de composicionalidad

En su formulación general, el principio de composicionalidad establece que el significado de una expresión compleja, M(α), es una función F de los significados de sus partes y de la estructura, M(α) = F(M(β₁), ..., M(βₙ), estructura). El significado depende, en esa formulación, del significado de las partes y del modo de combinación. La semántica formal especifica tipos y reglas de combinación, especificación que convierte esa intuición general en un sistema explícito.

La sintaxis interviene directamente en ese proceso. «María admira a Juan» y «Juan admira a María» tienen entradas lexicales casi idénticas mientras la estructura asigna argumentos diferentes, con lo que la misma bolsa de palabras no produce el mismo significado. El árbol sintáctico guía la composición, idea a veces llamada composicionalidad guiada por la sintaxis.

Predicados de diferentes aridades

Un predicado de un argumento, DORMIR(x), tiene tipo ⟨e, t⟩, mientras que uno de dos argumentos, ADMIRAR(x, y), tiene el tipo lexical currificado ⟨e, ⟨e, t⟩⟩. Para «dar» puede representarse DAR(x, y, z), con x como agente, con y como tema y con z como receptor. Una entrada lambda posible es λz.λy.λx.DAR(x, y, z), de tipo ⟨e, ⟨e, ⟨e, t⟩⟩⟩. Aunque la notación parece compleja, cada aplicación elimina un argumento, como en los casos anteriores.

Adjetivos

Un adjetivo como «alto» puede representarse inicialmente como λx.ALTO(x), de tipo ⟨e, t⟩, representación con la que «Juan es alto» se deriva como ALTO(j). La simplificación oculta el problema de que «alto» es un adjetivo gradual cuya verdad depende de un estándar contextual y de una clase de comparación, refinamiento que se desarrolla en la lectura LS-058.

En «médico chileno», si «chileno» es intersectivo, puede representarse MÉDICO(x) ∧ CHILENO(x), con el conjunto de médicos chilenos como intersección ⟦médico⟧ ∩ ⟦chileno⟧. El análisis resulta adecuado para muchos adjetivos, aunque no para todos.

«Excelente cirujano» exige otra categoría. Excelente se analiza mejor como adjetivo subsectivo, dado que «excelente cirujano» entraña «cirujano» sin equivaler a la intersección entre el conjunto de cirujanos y una propiedad independiente de excelencia, porque el estándar depende de la clase nominal. «Supuesto ladrón», en cambio, ni siquiera entraña LADRÓN(x) y corresponde a un patrón no intersectivo ni subsectivo. La distinción entre adjetivos intersectivos, subsectivos y no subsectivos evita agrupar fenómenos semánticamente diferentes.

Modificación

Si dos expresiones denotan propiedades, P y Q de tipo ⟨e, t⟩, pueden combinarse mediante conjunción, λx[P(x) ∧ Q(x)], operación por la cual «médico chileno» recibe la representación λx[MÉDICO(x) ∧ CHILENO(x)]. La regla se denomina frecuentemente Predicate Modification (Heim & Kratzer, 1998).

Determinantes

Considérese «todo médico». Si «médico» denota una propiedad de tipo ⟨e, t⟩, debe determinarse qué denota «todo», que no puede ser un individuo. Se necesita un operador que combine propiedades.

Una teoría influyente analiza los sintagmas nominales cuantificados como cuantificadores generalizados (Barwise & Cooper, 1981). Según ese análisis, «todo médico» puede denotar una función que toma una propiedad P y devuelve verdadero si todos los médicos tienen P, ⟦todo médico⟧ = λP.∀x[MÉDICO(x) → P(x)], de tipo ⟨⟨e, t⟩, t⟩. El sintagma completo ya no denota un individuo; denota una función sobre propiedades.

Para «Todo médico duerme», con ⟦duerme⟧ = λx.DORMIR(x), la aplicación (λP.∀x[MÉDICO(x) → P(x)])(λx.DORMIR(x)) produce ∀x[MÉDICO(x) → DORMIR(x)], resultado en el que la cuantificación se obtiene por composición.

El cuantificador existencial

De manera paralela, puede representarse ⟦algún médico⟧ = λP.∃x[MÉDICO(x) ∧ P(x)], de tipo ⟨⟨e, t⟩, t⟩, que aplicado a «duerme» produce ∃x[MÉDICO(x) ∧ DORMIR(x)].

«Todo médico» y «algún médico» comparten el tipo semántico ⟨⟨e, t⟩, t⟩ y difieren en contenido, ∀ frente a ∃. Esa identidad de tipo permite una arquitectura composicional uniforme.

Nombres propios como cuantificadores

El análisis anterior asignó a María el tipo e, frente al tipo ⟨⟨e, t⟩, t⟩ de «todo médico». Como ambos ocupan la misma posición sintáctica, se plantea si deben mantenerse tipos diferentes. Una solución es elevar los nombres propios.

Puede convertirse m, de tipo e, en λP.P(m), de tipo ⟨⟨e, t⟩, t⟩. Elevada de ese modo, «María» puede combinarse con un predicado igual que un cuantificador, como en el tratamiento uniforme de los sintagmas nominales de Montague (1974); la aplicación (λP.P(m))(λx.DORMIR(x)) produce DORMIR(m). La operación se denomina type lifting y aumenta la uniformidad composicional.

Tipos y errores de composición

Una combinación falla si una función espera un tipo y recibe otro incompatible. Si una función espera una entidad y recibe una propiedad, ocurre un type mismatch. Las teorías pueden resolver algunos de estos desajustes mediante type shifting o coerción.

Considérese «María empezó el libro». Un verbo como «empezar» parece seleccionar un evento, mientras que «el libro» denota una entidad. Si EMPEZAR es de tipo ⟨v, ⟨e, t⟩⟩, con v como tipo de eventos, el sintagma nominal «el libro», de tipo e, no encaja. La interpretación recupera un evento, como leer o escribir, recuperación que permite analizar el fenómeno como coerción.

Eventos

Las semánticas de eventos añaden un tipo de eventualidades, convencionalmente escrito v (o ε en otras notaciones). La variable de evento en las fórmulas se escribe habitualmente e, sin relación con el tipo e de los individuos. La elección del símbolo no tiene contenido empírico por sí misma. Lo sustantivo es si la teoría cuantifica sobre eventos y estados y qué trabajo explicativo obtiene de ello. Así, «correr» puede introducir un evento, ∃e[CORRER(e) ∧ AGENTE(e, Juan)], enfoque asociado a la semántica davidsoniana y neodavidsoniana.

La ventaja de este enfoque es la representación de los modificadores. «Juan corrió rápidamente ayer» puede escribirse ∃e[CORRER(e) ∧ AGENTE(e, j) ∧ RÁPIDO(e) ∧ AYER(e)], donde los adverbios modifican el mismo evento, sin que haga falta construir un predicado lexical distinto para cada combinación.

Davidson

Davidson (1967) propuso que los verbos de acción pueden incluir un argumento de evento, de modo que CORRER(j) se reemplaza por ∃e[CORRER(e) ∧ AGENTE(e, j)], sustitución que facilita la composición de adverbios.

Una versión con mayor descomposición, la neodavidsoniana, representa los roles mediante predicados independientes (Parsons, 1990). «María abrió la puerta» recibe en ella la forma ∃e[ABRIR(e) ∧ AGENTE(e, m) ∧ TEMA(e, p)], análisis que conecta la semántica con la estructura argumental.

Oraciones y valores de verdad

Una oración declarativa simple denota un valor de verdad, por ejemplo ⟦María duerme⟧ = 1 si María duerme. Esa denotación permite combinar oraciones mediante operadores.

La negación puede analizarse como la función ⟦no⟧ = λp.¬p, de tipo ⟨t, t⟩, que aplicada a DORMIR(m) produce ¬DORMIR(m). La conjunción puede representarse ⟦y⟧ = λq.λp.[p ∧ q], de tipo ⟨t, ⟨t, t⟩⟩, de manera que «María duerme y Juan lee» se deriva como DORMIR(m) ∧ LEER(j).

Funciones de orden superior

Una función es de orden superior si toma otra función como argumento, condición que cumplen los cuantificadores generalizados, pues «todo médico», de tipo ⟨⟨e, t⟩, t⟩, toma una propiedad y devuelve verdad o falsedad. La semántica formal necesita funciones de orden superior para representar estructuras lingüísticas ordinarias.

La formulación conjuntista de los cuantificadores generalizados (Barwise & Cooper, 1981) ofrece una intuición complementaria. «Todo médico duerme» equivale a preguntar si la propiedad de dormir contiene a todos los médicos, MÉDICO ⊆ DORMIR; «Algún médico duerme» requiere MÉDICO ∩ DORMIR ≠ ∅. La lógica de conjuntos y la semántica de funciones convergen en ese punto.

Extensión e intensión

El análisis desarrollado hasta este punto ha operado en un mundo fijo, donde ⟦médico⟧ es el conjunto de médicos en ese mundo. Las expresiones modales requieren un parámetro adicional.

Puede introducirse un tipo s para los mundos posibles (Montague, 1974; Dowty et al., 1981). Una proposición intensional tiene tipo ⟨s, t⟩, una función de mundos a valores de verdad, lo que permite representar posibilidad, necesidad y creencia. La semántica intensional se desarrolla más adelante.

Un predicado puede tener intensión de tipo ⟨s, ⟨e, t⟩⟩, es decir, devolver una extensión para cada mundo. La intensión de «presidente» determina quién satisface esa propiedad en cada mundo. La extensión puede cambiar y la intensión organiza esa variación.

Contexto

Expresiones como «yo», «aquí» y «ahora» no se interpretan solo con un mundo. Necesitan un contexto c, con el que puede definirse ⟦yo⟧ᶜ = hablante(c). La capacidad de la semántica formal para incorporar explícitamente esos parámetros explica que la dependencia contextual no obligue a abandonar la formalización.

Semántica y sintaxis

Una aspiración clásica es que la estructura semántica refleje sistemáticamente la sintáctica. No necesita existir una correspondencia perfecta uno a uno, aunque la composición debe seguir alguna arquitectura. En [S SN SV] se combina ⟦SN⟧ con ⟦SV⟧ porque la sintaxis delimita qué unidades son hermanas y, con ello, qué operaciones semánticas son posibles.

Una ventaja de la composicionalidad es permitir derivaciones locales. No hace falta interpretar toda la oración de una vez. Se construye primero el SV y después la oración, procedimiento que facilita la formalización y la computación.

Ambigüedad

Una palabra con dos sentidos puede poseer dos denotaciones (BANCO₁, BANCO₂), cada una de las cuales produce una derivación distinta.

Si una frase tiene dos árboles sintácticos, puede producir dos composiciones, como en «Vi al hombre con el telescopio», donde el sintagma preposicional puede modificar al verbo o al sustantivo y a cada estructura corresponde un significado.

Los cuantificadores pueden generar además múltiples jerarquías semánticas. «Todo estudiante leyó un libro» admite la lectura ∀ > ∃ y la lectura ∃ > ∀, ambas representables explícitamente en semántica formal.

Clínica

Considérese «No todos los pacientes niegan ideación suicida». La estructura se interpreta como ¬∀x[Paciente(x) → Niega(x, p)], es decir, existe al menos un paciente que no la niega, lo cual no significa que todos la presenten. La formalización evita, en ese caso, inferencias clínicas incorrectas.

Los reportes de actitud exigen la misma disciplina. En «El paciente cree que lo vigilan» debe distinguirse CREER(paciente, p) de p. La semántica de las actitudes proposicionales conserva así la fuente de la proposición y evita transformar el reporte en afirmación del clínico.

Escritura científica

La frase «Todos los estudios no encontraron diferencias» es ambigua o estilísticamente peligrosa. Podría interpretarse como ∀x[¬encontró(x)] o como ¬∀x[encontró(x)], por lo que resulta preferible escribir «Ningún estudio encontró diferencias» o «No todos los estudios encontraron diferencias». El análisis lógico del alcance contribuye, de este modo, a la claridad de la escritura científica.

El alcance modal produce contrastes análogos. «El tratamiento puede no ser eficaz» corresponde a ◇¬p, mientras que «El tratamiento no puede ser eficaz» corresponde a ¬◇p. La diferencia entre ambas afirmaciones es de contenido, puesto que la primera admite la eficacia y la segunda la excluye, distinción que la semántica formal permite representar con precisión.

Inteligencia artificial

Un sistema de IA puede intentar convertir lenguaje natural en una representación formal. «Todo médico atendió a un paciente» puede traducirse como ∀x[MÉDICO(x) → ∃y[PACIENTE(y) ∧ ATENDIÓ(x, y)]], tarea que se denomina semantic parsing o generación de forma lógica.

Una representación explícita permite consultar bases de datos, verificar inferencias y detectar contradicciones. El lenguaje natural, sin embargo, es más flexible que cualquier formalismo simple, con problemas de vaguedad, metáfora, contexto y presuposición, problemas frente a los cuales la formalización es útil sin ser total.

Filosofía de los tipos

Afirmar que María es de tipo e no equivale a sostener que el mundo contenga una entidad metafísica llamada «objeto de tipo e». El tipo es parte del modelo y sirve para controlar la composición. La ontología del formalismo y la ontología real no deben confundirse, distinción que Bach (1986) plantea al separar la metafísica del lenguaje natural de la metafísica general.

Los tipos ayudan a impedir combinaciones incoherentes, ya que DORMIR espera un individuo y no una proposición. El lenguaje real permite, con todo, metáfora y coerción. Los tipos pueden necesitar flexibilidad, porque un modelo demasiado rígido puede perder usos productivos.

La formalización tampoco equivale a explicación causal. Derivar correctamente DORMIR(m) explica cómo representar el significado composicional. Queda sin explicar cómo el cerebro calcula esa representación y cómo el niño la adquiere. La semántica formal es, en consecuencia, una teoría de la estructura interpretativa y no una teoría neurobiológica completa.

Método de derivación

El procedimiento general tiene seis pasos. Primero se construye la sintaxis identificando constituyentes y después se asignan tipos (María: e; duerme: ⟨e, t⟩) y denotaciones (m; λx.DORMIR(x)). A continuación se aplican las reglas (en este caso la aplicación funcional) y se reduce el resultado hasta obtener DORMIR(m). Por último se interpretan las condiciones de verdad, según las cuales la oración es verdadera si María duerme.

Tres ejemplos fijan el método. Para «Juan corre», con ⟦Juan⟧ = j y ⟦corre⟧ = λx.CORRER(x), la composición (λx.CORRER(x))(j) da CORRER(j), de tipo t. Para «María admira a Juan», con ⟦admira⟧ = λy.λx.ADMIRAR(x, y) y ⟦Juan⟧ = j, la primera aplicación da λx.ADMIRAR(x, j) y la segunda, con ⟦María⟧ = m, da ADMIRAR(m, j). Para «Todo médico duerme», con ⟦todo médico⟧ = λP.∀x[MÉDICO(x) → P(x)] y ⟦duerme⟧ = λx.DORMIR(x), el resultado es ∀x[MÉDICO(x) → DORMIR(x)].

Errores frecuentes

El primero es confundir tipo con categoría sintáctica. Un SN puede tener diferentes tipos semánticos, como el nombre propio en e o elevado a ⟨⟨e, t⟩, t⟩, de modo que la categoría sintáctica no determina un tipo semántico único.

El segundo es confundir formalización con traducción. Escribir ∀x no vuelve automáticamente más rigurosa una teoría. La representación debe corresponder realmente al significado y el simbolismo no reemplaza el análisis.

El tercero es confundir verdad con verificación. Una oración tiene condiciones de verdad aunque no se sepa si es verdadera, de donde se sigue que las condiciones de verdad no son la evidencia y que la semántica se mantiene distinta de la epistemología.

Síntesis

La semántica formal modela la composición mediante tipos, funciones y operaciones. Los dos tipos básicos son e (para los individuos) y t (para los valores de verdad), de modo que un predicado intransitivo tiene tipo ⟨e, t⟩ y un verbo transitivo, ⟨e, ⟨e, t⟩⟩. La aplicación funcional combina una función con un argumento del tipo apropiado. El cálculo lambda representa funciones (λx.P(x)) y la beta-reducción obtiene (λx.P(x))(a) ⇒ P(a). Los cuantificadores como «todo» y «algún» pueden analizarse como funciones sobre propiedades, de tipo ⟨⟨e, t⟩, t⟩, lo que permite derivar composicionalmente ∀ y ∃. La Predicate Modification combina propiedades mediante conjunción, el type lifting ajusta tipos para mantener la uniformidad y los type mismatches pueden motivar operaciones de coerción. La semántica de eventos introduce el tipo v y representa los modificadores mediante una variable eventual; la semántica intensional añade el tipo s de los mundos y trata las proposiciones como funciones ⟨s, t⟩.

Los tipos son herramientas formales y no deben confundirse con entidades ontológicas directamente observables. En clínica, la formalización ayuda a distinguir negación, cuantificación y actitud proposicional; en escritura científica permite detectar ambigüedades de alcance. En inteligencia artificial, las formas lógicas pueden facilitar inferencia verificable sin capturar por sí solas toda la riqueza pragmática.

La enseñanza metodológica de la lectura es que la composición semántica puede modelarse como una interacción entre expresiones de tipos distintos. Cuando se sabe qué denota cada parte y qué tipo posee, puede derivarse de manera explícita cómo la estructura sintáctica construye condiciones de verdad.

La lectura LS-053 estudia la cuantificación y el alcance, profundizando en determinantes, cuantificadores generalizados, lecturas distributivas y colectivas, negación y ambigüedad de alcance.

Referencias fundamentales y ampliadas

Bach, E. (1986). Natural language metaphysics. En R. B. Marcus, G. J. W. Dorn, & P. Weingartner (Eds.), Logic, Methodology and Philosophy of Science VII. North-Holland.

Barwise, J., & Cooper, R. (1981). Generalized quantifiers and natural language. Linguistics and Philosophy, 4(2), 159–219.

Davidson, D. (1967). The logical form of action sentences. En N. Rescher (Ed.), The Logic of Decision and Action. University of Pittsburgh Press.

Dowty, D. R., Wall, R. E., & Peters, S. (1981). Introduction to Montague Semantics. Reidel.

Heim, I., & Kratzer, A. (1998). Semantics in Generative Grammar. Blackwell.

Montague, R. (1974). Formal Philosophy. Yale University Press.

Parsons, T. (1990). Events in the Semantics of English. MIT Press.

Partee, B. H., ter Meulen, A., & Wall, R. E. (1990). Mathematical Methods in Linguistics. Kluwer.

Winter, Y. (2016). Elements of Formal Semantics. Edinburgh University Press.

Cómo citar esta lectura

Publicación en la web: · LS-052

APA 7

Alarcón Covarrubias, J. (2026). Semántica formal: tipos, funciones y composición. Lingüística y Semiótica. https://linguisticaysemiotica.org/temas/ls-052

Chicago

Alarcón Covarrubias, Jonathan. «Semántica formal: tipos, funciones y composición». Lingüística y Semiótica. 22 de septiembre de 2026. https://linguisticaysemiotica.org/temas/ls-052.

CONTINUAR EXPLORANDO

Buscar en el atlas

Títulos, conceptos y secciones · las tildes no cambian los resultados.