La lógica multisortada puede reflejar formalmente nuestra intención de no tratar el universo como una colección homogénea de objetos, sino de particionarlo de una manera similar a los tipos en la programación tipada . Tanto las " partes del discurso " funcionales como las asertivas en el lenguaje de la lógica reflejan esta partición tipada del universo, incluso a nivel sintáctico: la sustitución y el paso de argumentos solo pueden realizarse de acuerdo con los "tipos".
Existen diversas maneras de formalizar la intención mencionada anteriormente; una lógica multisortada es cualquier conjunto de información que la cumple. En la mayoría de los casos, se proporcionan los siguientes elementos:
- un conjunto de algún tipo, S
- una generalización apropiada de la noción de firma para poder manejar la información adicional que viene con los tipos.
El dominio del discurso de cualquier estructura de esa firma se fragmenta entonces en subconjuntos disjuntos, uno para cada tipo.
Ejemplo
Al razonar sobre los organismos biológicos, es útil distinguir dos tipos:y. Mientras que una funciónTiene sentido, una función similarPor lo general, no. La lógica de múltiples tipos permite tener términos comopero descartar términos comocomo sintácticamente mal formado.
Algebraización
La algebrización de la lógica de múltiples clases se explica en un artículo de Caleiro y Gonçalves, [ 1 ] que generaliza la lógica algebraica abstracta al caso de múltiples clases, pero que también puede utilizarse como material introductorio.
Lógica de ordenación

Mientras que la lógica de múltiples tipos requiere que dos tipos distintos tengan conjuntos de universos disjuntos, la lógica de orden permite un solo tipo.ser declarado un subtipo de otro tipo, generalmente por escritoo sintaxis similar. En el ejemplo de biología anterior , es deseable declarar
- ,
- ,
- ,
- ,
- ,
- ,
y así sucesivamente; véase la imagen.
Dondequiera que un término de algún tipose requiere, un término de cualquier subtipo deEn su lugar, se puede proporcionar ( principio de sustitución de Liskov ). Por ejemplo, suponiendo una declaración de funcióny una declaración constante, el término es perfectamente válido y tiene el tipo. Para proporcionar la información de que la madre de un perro es a su vez un perro, otra declaración puede emitirse; esto se llama sobrecarga de funciones , similar a la sobrecarga en los lenguajes de programación .
La lógica ordenada puede traducirse a lógica no ordenada, utilizando un predicado unario.para cada tipoy un axiomapara cada declaración de subordenEl enfoque inverso tuvo éxito en la demostración automatizada de teoremas : en 1985, Christoph Walther pudo resolver un problema de referencia en aquel entonces traduciéndolo a lógica ordenada, reduciéndolo así en un orden de magnitud, ya que muchos predicados unarios se convirtieron en tipos. [ 2 ]
Para incorporar lógica de ordenación en un demostrador de teoremas automatizado basado en cláusulas, es necesario un algoritmo de unificación de ordenación correspondiente, que requiere para cualesquiera dos tipos declaradossu intersecciónque también debe declararse: siyson variables de tipoy, respectivamente, la ecuacióntiene la solución, dónde.
Smolka generalizó la lógica de ordenación para permitir el polimorfismo paramétrico . [ 3 ] [ 4 ] En su marco, las declaraciones de subordenación se propagan a expresiones de tipo complejas. Como ejemplo de programación, una ordenación paramétricapuede ser declarado (consiendo un parámetro de tipo como en una plantilla de C++ ), y de una declaración de subordenla relaciónSe infiere automáticamente, lo que significa que cada lista de números enteros es también una lista de números de coma flotante.
Schmidt-Schauß generalizó la lógica de ordenación para permitir declaraciones de términos. [ 5 ] Como ejemplo, suponiendo declaraciones de subordeny, una declaración de términos comopermite declarar una propiedad de la suma de enteros que no podría expresarse mediante la sobrecarga ordinaria.
Véase también
Referencias
- ↑ Carlos Caleiro, Ricardo Gonçalves (2006). «Sobre la algebrización de lógicas de múltiples tipos». Actas de la 18.ª conferencia internacional sobre tendencias recientes en técnicas de desarrollo algebraico (WADT) (PDF) . Springer. pp. 21–36 . ISBN 978-3-540-71997-7.
- ↑ Walther, Christoph (1985). "Una solución mecánica de la apisonadora de Schubert mediante resolución de múltiples tipos" (PDF) . Artif. Intell . 26 (2): 217– 224. doi : 10.1016/0004-3702(85)90029-3 . Archivado del original (PDF) el 8 de julio de 2011. Consultado el 7 de junio de 2013 .
- ↑ Smolka, Gert (noviembre de 1988). "Programación lógica con tipos ordenados polimórficamente". Taller internacional de programación algebraica y lógica . LNCS. Vol. 343. Springer. págs. 53–70 .
- ↑ Smolka, Gert (mayo de 1989), Programación lógica sobre tipos ordenados polimórficamente (tesis doctoral), Universidad de Kaiserslautern-Landau , Alemania
- ↑ Schmidt-Schauß, Manfred (abril de 1988). Aspectos computacionales de una lógica ordenada con declaraciones de términos . LNAI. Vol. 395. Springer.
Entre los primeros trabajos sobre lógica de múltiples tipos se incluyen:
- Wang, Hao (1952). "Lógica de teorías de múltiples clases". Journal of Symbolic Logic . 17 (2): 105– 116. doi : 10.2307/2266241 . JSTOR 2266241 . , recopilados en la obra del autor Computation, Logic, Philosophy. A Collection of Essays , Pekín: Science Press; Dordrecht: Kluwer Academic, 1990.
- Gilmore, PC (1958). "Una adición a "Lógica de teorías de muchos tipos"" (PDF) . Compositio Mathematica . 13 : 277–281 .
- A. Oberschelp (1962). "Untersuchungen zur mehrsortigen Quantorenlogik" . Annalen Matemáticas . 145 (4): 297– 333. doi : 10.1007/bf01396685 . S2CID 123363080 . Archivado desde el original el 20 de febrero de 2015 . Consultado el 11 de septiembre de 2013 .
- F. Jeffry Pelletier (1972). "Cuantificación Sortal y Cuantificación Restringida" (PDF) . Estudios Filosóficos . 23 (6): 400– 404. doi : 10.1007/bf00355532 . S2CID 170303654 .
Enlaces externos
- "Lógica de múltiples clases", primer capítulo de las Notas de clase sobre procedimientos de decisión de Calogero G. Zarba.
- Sistemas de lógica formal