Em matemática, uma tupla é uma sequência finita (ou lista ordenada) de números. Mais geralmente, é uma sequência de objetos matemáticos, chamados de elementos da tupla. Uma n-tupla é uma tupla de n elementos, onde n é um número inteiro não negativo. Existe apenas uma 0-tupla, chamada de tupla vazia. Uma 1-tupla e uma 2-tupla são comumente chamadas de singleton e par ordenado, respectivamente. O termo "tupla infinita" é ocasionalmente usado para "sequências infinitas".
As tuplas são geralmente escritas listando os elementos entre parênteses "( )" e separados por vírgulas; por exemplo, (2, 7, 4, 1, 7) denota uma 5-tupla. Outros tipos de colchetes são às vezes usados, embora possam ter um significado diferente.
Uma n-tupla pode ser formalmente definida como a imagem de uma função que tem o conjunto dos primeiros nnúmeros naturais como seu domínio (1, 2, ..., n). Tuplas também podem ser definidas a partir de pares ordenados por uma recorrência começando com um par ordenado; de fato, uma n-tupla pode ser identificada com o par ordenado de seus (n − 1) primeiros elementos e seu n-ésimo elemento, por exemplo, .
Em ciência da computação, as tuplas vêm em muitas formas. A maioria das linguagens de programação funcionais tipadas implementam tuplas diretamente como tipos produto, intimamente associados a tipos de dados algébricos, correspondência de padrões e atribuição destrutiva. Muitas linguagens de programação oferecem uma alternativa às tuplas, conhecida como tipos registro, apresentando elementos não ordenados acessados por rótulo. Algumas linguagens de programação combinam tipos produto de tuplas ordenadas e tipos registro não ordenados em uma única construção, como em structs C e registros Haskell. Bancos de dados relacionais podem identificar formalmente suas linhas (registros) como tuplas.
O termo se originou como uma abstração da sequência: simples, duplo, triplo, quádruplo, quíntuplo, sêxtuplo, sétuplo, óctuplo, ..., n‑tupla, ..., onde os prefixos são tomados dos nomes latins dos numerais. A única 0-tupla é chamada de tupla nula ou tupla vazia. Uma 1‑tupla é chamada de simples (ou singleton), uma 2‑tupla é chamada de par ordenado ou duplo, e uma 3‑tupla é chamada de tripla (ou triplete). O número n pode ser qualquer número inteiro não negativo. Por exemplo, um número complexo pode ser representado como uma 2‑tupla de reais, um quaternião pode ser representado como uma 4‑tupla, um octonião pode ser representado como uma 8‑tupla, e um sedenião pode ser representado como uma 16‑tupla.
Embora esses usos tratem ‑tupla como o sufixo, o sufixo original era ‑ple como em "triple" (tríplice) ou "decuple" (décuplo). Isso se origina do latim medievalplus (significando "mais") relacionado ao grego ‑πλοῦς, que substituiu o clássico e tardio antigo ‑plex (significando "dobrado"), como em "duplex".
Propriedades
A regra geral para a identidade de duas n-tuplas é
Funções são comumente identificadas com seus gráficos, que é um certo conjunto de pares ordenados.
De fato, muitos autores usam gráficos como a definição de função.
Usando esta definição de "função", a função acima pode ser definida como:
Tuplas como pares ordenados aninhados
Outra forma de modelar tuplas em teoria dos conjuntos é como pares ordenados aninhados. Esta abordagem assume que a noção de par ordenado já foi definida.
A 0-tupla (isto é, a tupla vazia) é representada pelo conjunto vazio .
Uma n-tupla, com n > 0, pode ser definida como um par ordenado de sua primeira entrada e uma (n − 1)-tupla (que contém as entradas restantes quando n > 1):
Esta definição pode ser aplicada recursivamente à (n − 1)-tupla:
Assim, por exemplo:
Uma variante desta definição começa "retirando" elementos da outra extremidade:
A 0-tupla (isto é, a tupla vazia) é representada pelo conjunto vazio ;
Seja uma n-tupla , e seja . Então, . (A seta para a direita, , pode ser lida como "anexado com".)
Nesta formulação:
n-tuplas de m-conjuntos
Em matemática discreta, especialmente combinatória e teoria das probabilidades finita, n-tuplas surgem no contexto de vários problemas de contagem e são tratadas mais informalmente como listas ordenadas de comprimento n. n-tuplas cujas entradas vêm de um conjunto de m elementos também são chamadas de arranjos com repetição, permutações de um multiconjunto e, em algumas literaturas não inglesas, variações com repetição. O número de n-tuplas de um m-conjunto é mn. Isso segue da regra do produto combinatória. Se S é um conjunto finito de cardinalidadem, este número é a cardinalidade da n-ésima potência cartesianaS × S × ⋯ × S. Tuplas são elementos deste conjunto produto.
Na teoria dos tipos, comumente usada em linguagens de programação, uma tupla tem um tipo produto; isso fixa não apenas o comprimento, mas também os tipos subjacentes de cada componente. Formalmente:
A noção de tupla na teoria dos tipos e aquela na teoria dos conjuntos estão relacionadas da seguinte forma: Se considerarmos o modelo natural de uma teoria dos tipos, e usarmos os colchetes de Scott para indicar a interpretação semântica, então o modelo consiste em alguns conjuntos (nota: o uso de itálico aqui distingue conjuntos de tipos) tais que:
e a interpretação dos termos básicos é:
.
A n-tupla da teoria dos tipos tem a interpretação natural como uma n-tupla da teoria dos conjuntos:
O tipo unitário tem como interpretação semântica a 0-tupla.
Para uma lista de tipos de tuplas em linguagens de programação, veja Tipo produto#Tipos produto em linguagens de programação.
↑«N-tuple». The Concise Oxford Dictionary of Linguistics. Oxford University Press. Janeiro de 2007. ISBN9780199202720. Consultado em 1 de maio de 2015
↑
Blackburn, Simon (1994). «ordered n-tuple». The Oxford Dictionary of Philosophy. Col: Oxford guidelines quick reference 3 ed. Oxford: Oxford University Press (publicado em 2016). p.342. ISBN9780198735304. Consultado em 30 de junho de 2017. ordered n-tuple[:] A generalization of the notion of an [...] ordered pair to sequences of n objects.