Lista finita ordenada de elementos
En matemáticas , una tupla es una secuencia finita o lista ordenada de números o, de forma más general, objetos matemáticos , que se denominan elementos de la tupla. Una n -tupla es una tupla de n elementos, donde n es un entero no negativo . Solo hay una 0-tupla, llamada tupla vacía . Una 1-tupla y una 2-tupla se denominan comúnmente singleton y par ordenado , respectivamente. El término "tupla infinita" se utiliza ocasionalmente para "secuencias infinitas" .
Las tuplas se escriben generalmente enumerando los elementos entre paréntesis " ( ) " y separados por comas; por ejemplo, (2, 7, 4, 1, 7) denota una 5-tupla. A veces se utilizan otros tipos de corchetes, aunque pueden tener un significado diferente. [a]
Una n -tupla puede definirse formalmente como la imagen de una función que tiene como dominio el conjunto de los n primeros números naturales . Las tuplas también pueden definirse a partir de pares ordenados mediante una recurrencia que comienza a partir de pares ordenados ; de hecho, una n -tupla puede identificarse con el par ordenado de sus ( n − 1) primeros elementos y su n- ésimo elemento.
En informática , las tuplas se presentan en muchas formas. La mayoría de los lenguajes de programación funcional tipados implementan tuplas directamente como tipos de producto , [1] estrechamente asociados con tipos de datos algebraicos , coincidencia de patrones y asignación de desestructuración . [2] Muchos lenguajes de programación ofrecen una alternativa a las tuplas, conocidas como tipos de registro , que presentan elementos no ordenados a los que se accede por etiqueta. [3] Algunos lenguajes de programación combinan tipos de producto de tupla ordenados y tipos de registro no ordenados en una sola construcción, como en las estructuras de C y los registros de Haskell. Las bases de datos relacionales pueden identificar formalmente sus filas (registros) como tuplas .
Las tuplas también aparecen en el álgebra relacional , en la programación de la web semántica con el Marco de Descripción de Recursos (RDF), en lingüística [ 4] y en filosofía [5] .
Etimología
El término se originó como una abstracción de la secuencia: simple, pareja/doble, triple, cuádruple, quíntuple, séxtuple, séptuple, óctuple, ..., n -tupla, ..., donde los prefijos se toman de los nombres latinos de los numerales. La única 0-tupla se llama tupla nula o tupla vacía . Una 1-tupla se llama simple (o singleton ), una 2-tupla se llama par o pareja ordenada , y una 3-tupla se llama triple (o triplete ). El número n puede ser cualquier entero no negativo . Por ejemplo, un número complejo se puede representar como una 2-tupla de reales, un cuaternión se puede representar como una 4-tupla, un octonión se puede representar como una 8-tupla y un sedenión se puede representar como una 16-tupla.
Aunque estos usos tratan a -uple como sufijo, el sufijo original era -ple como en "triple" (triple) o "decuple" (décuple). Esto se origina del latín medieval plus (que significa "más") relacionado con el griego -πλοῦς, que reemplazó al clásico y antiguo ‑plex (que significa "plegado"), como en "dúplex". [6] [b]
Propiedades
La regla general para la identidad de dos n -tuplas es
- si y sólo si .
Por lo tanto, una tupla tiene propiedades que la distinguen de un conjunto :
- Una tupla puede contener múltiples instancias del mismo elemento, por lo tanto
tupla ; pero conjunto . - Los elementos de la tupla están ordenados: tupla , pero conjunto .
- Una tupla tiene un número finito de elementos, mientras que un conjunto o un multiconjunto puede tener un número infinito de elementos.
Definiciones
Existen varias definiciones de tuplas que les otorgan las propiedades descritas en la sección anterior.
Tuplas como funciones
La -tupla puede identificarse como la función vacía . La -tupla puede identificarse con la función ( sobreyectiva )
con dominio
y con codominio
que se define por
Es decir, ¿la función está definida por
En cuyo caso la igualdad
necesariamente se cumple.
- Tuplas como conjuntos de pares ordenados
Las funciones se identifican comúnmente con sus gráficos , que son un conjunto determinado de pares ordenados. De hecho, muchos autores utilizan los gráficos como definición de una función. Utilizando esta definición de "función", la función anterior se puede definir como:
Tuplas como pares ordenados anidados
Otra forma de modelar tuplas en la teoría de conjuntos es como pares ordenados anidados . Este enfoque supone que el concepto de par ordenado ya se ha definido.
- La tupla 0 (es decir, la tupla vacía) está representada por el conjunto vacío .
- Una n -tupla, con n > 0 , se puede definir como un par ordenado de su primera entrada y una ( n − 1) -tupla (que contiene las entradas restantes cuando n > 1) :
Esta definición se puede aplicar recursivamente a la ( n − 1) -tupla:
Así, por ejemplo:
Una variante de esta definición comienza "despegando" elementos del otro extremo:
- La tupla 0 es el conjunto vacío .
- Para n > 0 :
Esta definición se puede aplicar recursivamente:
Así, por ejemplo:
Tuplas como conjuntos anidados
Utilizando la representación de Kuratowski para un par ordenado , la segunda definición anterior puede reformularse en términos de teoría de conjuntos pura :
- La tupla 0 (es decir, la tupla vacía) está representada por el conjunto vacío ;
- Sea una n -tupla , y sea . Entonces, . (La flecha hacia la derecha, , podría leerse como "adjunto con".)
En esta formulación:
norte-tuplas demetro-conjuntos
En matemáticas discretas , especialmente combinatoria y teoría de probabilidad finita , las n -tuplas surgen en el contexto de varios problemas de conteo y se tratan de manera más informal como listas ordenadas de longitud n . [7] Las n -tuplas cuyas entradas provienen de un conjunto de m elementos también se denominan arreglos con repetición , permutaciones de un multiconjunto y, en alguna literatura no inglesa, variaciones con repetición . El número de n -tuplas de un m -conjunto es m n . Esto se deduce de la regla combinatoria del producto . [8] Si S es un conjunto finito de cardinalidad m , este número es la cardinalidad de la potencia cartesiana de n -veces S × S × ⋯ × S. Las tuplas son elementos de este conjunto producto.
Teoría de tipos
En la teoría de tipos , que se utiliza habitualmente en los lenguajes de programación , una tupla tiene un tipo de producto ; esto fija no solo la longitud, sino también los tipos subyacentes de cada componente. Formalmente:
y las proyecciones son constructores de términos:
La tupla con elementos etiquetados que se utiliza en el modelo relacional tiene un tipo de registro . Ambos tipos pueden definirse como extensiones simples del cálculo lambda de tipo simple . [9]
La noción de tupla en la teoría de tipos y en la teoría de conjuntos están relacionadas de la siguiente manera: si consideramos el modelo natural de una teoría de tipos y utilizamos los corchetes de Scott para indicar la interpretación semántica, entonces el modelo consta de algunos conjuntos (nota: el uso de cursiva aquí distingue a los conjuntos de los tipos) tales que:
y la interpretación de los términos básicos es:
- .
La n -tupla de la teoría de tipos tiene la interpretación natural como una n -tupla de la teoría de conjuntos: [10]
El tipo de unidad tiene como interpretación semántica la 0-tupla.
Véase también
Notas
Referencias
- ^ "Tipo de datos algebraicos - HaskellWiki". wiki.haskell.org .
- ^ "Tarea de desestructuración". MDN Web Docs . 18 de abril de 2023.
- ^ "¿JavaScript garantiza el orden de las propiedades de los objetos?". Desbordamiento de pila .
- ^ Matthews, PH, ed. (enero de 2007). "N-tuple". Diccionario Oxford de lingüística conciso . Oxford University Press. ISBN 9780199202720. Recuperado el 1 de mayo de 2015 .
- ^ Blackburn, Simon (1994). "ordered n-tuple". Diccionario Oxford de Filosofía. Referencia rápida de las directrices de Oxford (3.ª ed.). Oxford: Oxford University Press (publicado en 2016). pág. 342. ISBN 9780198735304. Recuperado el 30 de junio de 2017.
n-tupla ordenada[:] Una generalización de la noción de un [...] par ordenado a secuencias de n objetos.
- ^ OED , sv "triple", "cuádruple", "quíntuple", "decuple"
- ^ D'Angelo y West 2000, pág. 9
- ^ D'Angelo y West 2000, pág. 101
- ^ Pierce, Benjamin (2002). Tipos y lenguajes de programación . MIT Press. págs. 126-132. ISBN. 0-262-16209-1.
- ^ Steve Awodey, De conjuntos a tipos, a categorías, a conjuntos, 2009, preimpresión
Fuentes
- D'Angelo, John P.; West, Douglas B. (2000), Pensamiento matemático/Resolución de problemas y demostraciones (2.ª ed.), Prentice-Hall, ISBN 978-0-13-014412-6
- Keith Devlin , The Joy of Sets (La alegría de los conjuntos) , Springer Verlag, 2.ª ed., 1993, ISBN 0-387-94094-4 , págs. 7-8
- Abraham Adolf Fraenkel , Yehoshua Bar-Hillel , Azriel Lévy , Fundamentos de la teoría de conjuntos escolares , Elsevier Studies in Logic Vol. 67, 2.ª edición, revisada, 1973, ISBN 0-7204-2270-1 , pág. 33
- Gaisi Takeuti , WM Zaring, Introducción a la teoría de conjuntos axiomáticos , Springer GTM 1, 1971, ISBN 978-0-387-90024-7 , pág. 14
- George J. Tourlakis, Lecture Notes in Logic and Set Theory. Volume 2: Set Theory , Cambridge University Press, 2003, ISBN 978-0-521-75374-6 , págs. 182-193
Enlaces externos
- La definición del diccionario de tupla en Wikcionario