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 -tupla é uma tupla de elementos, onde é 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, denota uma 5-tupla. Outros tipos de colchetes são às vezes usados, embora possam ter um significado diferente.
Uma -tupla pode ser formalmente definida como a imagem de uma função que tem o conjunto dos primeiros números naturais como seu domínio (). Tuplas também podem ser definidas a partir de pares ordenados por uma recorrência começando com um par ordenado; de fato, uma -tupla pode ser identificada com o par ordenado de seus primeiros elementos e seu -é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.
Tuplas também ocorrem em álgebra relacional; ao programar a web semântica com o Resource Description Framework (RDF); em linguística; e em filosofia.
Etimologia O termo se originou como uma abstração da sequência: simples, duplo, triplo, quádruplo, quíntuplo, sêxtuplo, sétuplo, óctuplo, ..., ‑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 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 medieval plus (significando "mais") relacionado ao grego ‑πλοῦς, que substituiu o clássico e tardio antigo ‑plex (significando "dobrado"), como em "duplex".OED, s.v. "triple", "quadruple", "quintuple", "decuple"
Propriedades A regra geral para a identidade de duas -tuplas é se e somente se .
Assim, uma tupla tem propriedades que a distinguem de um conjunto: Uma tupla pode conter múltiplas instâncias do mesmo elemento, então tupla ; mas conjunto . Os elementos da tupla são ordenados: tupla , mas conjunto . Uma tupla tem um número finito de elementos, enquanto um conjunto ou um multiconjunto pode ter um número infinito de elementos.
Definições
Existem várias definições de tuplas que lhes conferem as propriedades descritas na seção anterior.
Tuplas como funções A -tupla pode ser identificada como a função vazia. Para a -tupla pode ser identificada com a função sobrejetiva
com domínio
e com contradomínio
que é definida em por
Isto é, é a função definida por
em cujo caso a igualdade
necessariamente se mantém.
Tuplas como conjuntos de pares ordenados
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 -tupla, com , pode ser definida como um par ordenado de sua primeira entrada e uma -tupla (que contém as entradas restantes quando :
Esta definição pode ser aplicada recursivamente à -tupla:
Assim, por exemplo:
Uma variante desta definição começa "retirando" elementos da outra extremidade: A 0-tupla é o conjunto vazio . Para :
Esta definição pode ser aplicada recursivamente:
Assim, por exemplo:
Tuplas como conjuntos aninhados Usando a representação de Kuratowski para um par ordenado, a segunda definição acima pode ser reformulada em termos de teoria dos conjuntos pura: A 0-tupla (isto é, a tupla vazia) é representada pelo conjunto vazio ; Seja uma -tupla , e seja . Então, . (A seta para a direita, , pode ser lida como "anexado com".)
Nesta formulação:
-tuplas de -conjuntos
Em matemática discreta, especialmente combinatória e teoria das probabilidades finita, -tuplas surgem no contexto de vários problemas de contagem e são tratadas mais informalmente como listas ordenadas de comprimento . -tuplas cujas entradas vêm de um conjunto de 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 -tuplas de um -conjunto é . Isso segue da regra do produto combinatória. Se é um conjunto finito de cardinalidade , este número é a cardinalidade da -ésima potência cartesiana . Tuplas são elementos deste conjunto produto.
Teoria dos tipos
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:
e as projeções são construtores de termos:
A tupla com elementos rotulados usada no modelo relacional tem um tipo registro. Ambos os tipos podem ser definidos como extensões simples do cálculo lambda simplesmente tipado.
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 -tupla da teoria dos tipos tem a interpretação natural como uma -tupla da teoria dos conjuntos:Steve Awodey, From sets, to types, to categories, to sets, 2009, preprint
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.
Ver também Aridade Vetor de coordenadas Objeto exponencial Linguagem formal Expressões multidimensionais (OLAP) Tupla k de primos Relação (matemática) Sequência Espaço de tuplas Nomes de tuplas
Notas
Referências
Bibliografia
Keith Devlin, The Joy of Sets. Springer Verlag, 2ª ed., 1993, , pp. 7–8 Abraham Adolf Fraenkel, Yehoshua Bar-Hillel, Azriel Lévy, Foundations of School Set Theory, Elsevier Studies in Logic Vol. 67, 2ª Edição, revisada, 1973, , p. 33 Gaisi Takeuti, W. M. Zaring, Introduction to Axiomatic Set Theory, Springer GTM 1, 1971, , p. 14 George J. Tourlakis, Lecture Notes in Logic and Set Theory. Volume 2: Set Theory, Cambridge University Press, 2003, , pp. 182–193
Categoria:Gestão de dados Categoria:Notação matemática Categoria:Sequências e séries Categoria:Conceitos básicos da teoria dos conjuntos Categoria:Teoria dos tipos Categoria:Administração de dados Categoria:Sucessões Categoria:Notação matemática Categoria:Teoria dos tipos