Articulo de referencia

Tipo de cociente

En el campo de la teoría de tipos en informática , un tipo cociente es un tipo de datos que respeta una relación de igualdad definida por el usuario . Un tipo cociente define un...

En el campo de la teoría de tipos en informática , un tipo cociente es un tipo de datos que respeta una relación de igualdad definida por el usuario . Un tipo cociente define una relación de equivalencia.{\displaystyle \equiv }sobre elementos del tipo por ejemplo, podríamos decir que dos valores del tipo Pointson equivalentes si tienen las mismas coordenadas x e y respectivas; formalmente p1 == p2si p1.x == p2.x && p1.y == p2.y. En las teorías de tipos que permiten tipos cociente, se exige además que todas las operaciones respeten la equivalencia entre elementos. Por ejemplo, si fes una función sobre valores de tipo Point, debe cumplirse que para dos Pointy p1, p2si p1 == p2entonces f(p1) == f(p2).

Los tipos cociente forman parte de una clase general de tipos conocidos como tipos de datos algebraicos . A principios de la década de 1980, los tipos cociente se definieron e implementaron como parte del asistente de pruebas Nuprl , en un trabajo liderado por Robert L. Constable y otros. [ 1 ] [ 2 ] Los tipos cociente se han estudiado en el contexto de la teoría de tipos de Martin-Löf , [ 3 ] la teoría de tipos dependientes , [ 4 ] la lógica de orden superior , [ 5 ] y la teoría de tipos homotópicos . [ 6 ]

Definición

Para definir un tipo cociente, normalmente se proporciona un tipo de datos junto con una relación de equivalencia sobre ese tipo, por ejemplo, Point // ==, donde ==es una relación de igualdad definida por el usuario. Los elementos del tipo cociente son clases de equivalencia de elementos del tipo original. [ 3 ]

Los tipos de cociente se pueden usar para definir aritmética modular . Por ejemplo, si Integeres un tipo de datos de enteros,2{\displaystyle \equiv _{2}}se puede definir diciendo queincógnita2y{\displaystyle x\equiv _{2}y}si la diferenciaincógnitay{\displaystyle xy}es par. Entonces formamos el tipo de enteros módulo 2: [ 1 ]

Integer //2{\displaystyle \equiv _{2}}

Se puede demostrar que las operaciones con números enteros, +, -están bien definidas en el nuevo tipo de cociente.

Variaciones

En las teorías de tipos que carecen de tipos cociente, a menudo se utilizan setoides (conjuntos equipados explícitamente con una relación de equivalencia) en lugar de tipos cociente. Sin embargo, a diferencia de los setoides, muchas teorías de tipos pueden requerir una prueba formal de que cualquier función definida en tipos cociente está bien definida . [ 7 ]

Propiedades

Los tipos cociente forman parte de una clase general de tipos conocidos como tipos de datos algebraicos . Así como los tipos producto y los tipos suma son análogos al producto cartesiano y la unión disjunta de estructuras algebraicas abstractas, los tipos cociente reflejan el concepto de cocientes conjuntistas , conjuntos cuyos elementos se dividen en clases de equivalencia mediante una relación de equivalencia dada en el conjunto. Las estructuras algebraicas cuyo conjunto subyacente es un cociente también se denominan cocientes. Ejemplos de tales estructuras cociente incluyen conjuntos cociente , grupos , anillos , categorías y, en topología, espacios cociente . [ 3 ]

Referencias

  1. 1 2 Constable, Robert L. (1986). Implementing Mathematics with the Nuprl Proof Development System . Prentice-Hall. ISBN 978-0-13-451832-9.
  2. Constable, RL (1984). «Las matemáticas como programación» . En Clarke, Edmund; Kozen, Dexter (eds.). Lógicas de los programas . Lecture Notes in Computer Science. Vol. 164. Berlín, Heidelberg: Springer. pp. 116–128 . doi : 10.1007/3-540-12896-4_359 . hdl : 1813/6405 . ISBN   978-3-540-38775-6.
  3. 1 2 3 Li, Nuo (15-07-2015). "Tipos de cociente en la teoría de tipos" . eprints.nottingham.ac.uk . Recuperado el 13-09-2023 .
  4. Hofmann, Martin (1995). "Un modelo simple para tipos cociente" . Cálculos lambda tipados y aplicaciones . Notas de clase en informática. Vol. 902. Berlín, Heidelberg: Springer. págs. 216–234 . doi : 10.1007/BFb0014055 . ISBN   978-3-540-49178-1.
  5. Homeier, Peter V. (2005). "Una estructura de diseño para cocientes de orden superior" . En Hurd, Joe; Melham, Tom (eds.). Demostración de teoremas en lógicas de orden superior . Lecture Notes in Computer Science. Vol. 3603. Berlín, Heidelberg: Springer. pp. 130–146 . doi : 10.1007/11541868_9 . ISBN   978-3-540-31820-0.
  6. "El libro HoTT" . Teoría de tipos homotópicos . 12 de marzo de 2013. Consultado el 13 de septiembre de 2023 .
  7. Hofmann, Martin (1997). Extensional Constructs in Intensional Type Theory . doi : 10.1007/978-1-4471-0963-1 . ISBN 978-1-4471-1243-3.

Véase también