Конечный упорядоченный список элементов
В математике кортеж — это конечная последовательность или упорядоченный список чисел или, в более общем смысле, математических объектов , которые называются элементами кортежа. Кортеж из n элементов — это кортеж из n элементов, где n — неотрицательное целое число . Существует только один кортеж из 0 элементов, называемый пустым кортежем . Кортеж из 1 элементов и кортеж из 2 элементов обычно называют синглтоном и упорядоченной парой соответственно. Термин «бесконечный кортеж» иногда используется для «бесконечных последовательностей» .
Кортежи обычно записываются путем перечисления элементов в скобках " ( ) " и разделяются запятыми; например, (2, 7, 4, 1, 7) обозначает 5-кортеж. Иногда используются и другие типы скобок, хотя они могут иметь иное значение. [a]
n -кортеж может быть формально определен как образ функции , которая имеет множество из n первых натуральных чисел в качестве своей области определения . Кортежи могут быть также определены из упорядоченных пар с помощью рекуррентности, начинающейся с упорядоченных пар ; действительно, n -кортеж может быть идентифицирован с упорядоченной парой его ( n − 1) первых элементов и его n -го элемента.
В информатике кортежи бывают разных форм. Большинство типизированных функциональных языков программирования реализуют кортежи непосредственно как типы продуктов , [1] тесно связанные с алгебраическими типами данных , сопоставлением с образцом и деструктурирующим присваиванием . [2] Многие языки программирования предлагают альтернативу кортежам, известную как типы записей , включающую неупорядоченные элементы, доступные по метке. [3] Несколько языков программирования объединяют упорядоченные типы продуктов кортежей и неупорядоченные типы записей в одну конструкцию, как в структурах C и записях Haskell. Реляционные базы данных могут формально идентифицировать свои строки (записи) как кортежи .
Кортежи также встречаются в реляционной алгебре , при программировании семантической сети с помощью Resource Description Framework (RDF), в лингвистике [ 4] и в философии [5] .
Этимология
Термин возник как абстракция последовательности: single, couple/double, triple, quadruple, quintuple, sixtuple, septuple, octuple, ..., n ‑tuple, ..., где префиксы взяты из латинских названий цифр. Уникальный 0-кортеж называется нулевым кортежем или пустым кортежем . 1-кортеж называется сингленом ( или синглтоном ), 2-кортеж называется упорядоченной парой или парой , а 3-кортеж называется тройкой (или триплетом ). Число n может быть любым неотрицательным целым числом . Например, комплексное число можно представить как 2-кортеж вещественных чисел, кватернион можно представить как 4-кортеж, октонион можно представить как 8-кортеж, а седенион можно представить как 16-кортеж.
Хотя эти использования рассматривают ‑uple как суффикс, исходный суффикс был ‑ple , как в "triple" (тройной) или "decuple" (десятикратный). Это происходит от средневекового латинского plus (что означает "больше"), связанного с греческим ‑πλοῦς, который заменил классический и позднеантичный ‑plex (что означает "сложенный"), как в "duplex". [6] [b]
Характеристики
Общее правило для тождественности двух n -кортежей:
- тогда и только тогда, когда .
Таким образом, кортеж обладает свойствами, которые отличают его от набора :
- Кортеж может содержать несколько экземпляров одного и того же элемента, поэтому
кортеж ; но набор . - Элементы кортежа упорядочены: кортеж , но множество .
- Кортеж имеет конечное число элементов, тогда как множество или мультимножество может иметь бесконечное число элементов.
Определения
Существует несколько определений кортежей, которые придают им свойства, описанные в предыдущем разделе.
Кортежи как функции
-кортеж может быть идентифицирован как пустая функция . Для -кортежа может быть идентифицирован с ( сюръективной ) функцией
с доменом
и с кодоменом
который определяется по
То есть, функция определяется как
в этом случае равенство
обязательно выполняется.
- Кортежи как наборы упорядоченных пар
Функции обычно отождествляются с их графиками , которые являются определенным набором упорядоченных пар. Действительно, многие авторы используют графики в качестве определения функции. Используя это определение «функции», вышеуказанную функцию можно определить как:
Кортежи как вложенные упорядоченные пары
Другой способ моделирования кортежей в теории множеств — вложенные упорядоченные пары . Этот подход предполагает, что понятие упорядоченной пары уже определено.
- 0-кортеж (т.е. пустой кортеж) представлен пустым множеством .
- Кортеж из n элементов , где n > 0 , можно определить как упорядоченную пару его первой записи и ( n − 1) -кортежа (который содержит оставшиеся записи, если n > 1) :
Это определение можно применить рекурсивно к ( n − 1) -кортежу:
Так, например:
Вариант этого определения начинает «отслаивать» элементы с другого конца:
- Нулевой кортеж — это пустое множество .
- Для n > 0 :
Это определение можно применять рекурсивно:
Так, например:
Кортежи как вложенные множества
Используя представление Куратовского для упорядоченной пары , второе определение выше можно переформулировать в терминах чистой теории множеств :
- 0-кортеж (т.е. пустой кортеж) представлен пустым набором ;
- Пусть будет n -кортежом , и пусть . Тогда . (Правую стрелку , можно прочитать как «присоединенную с».)
В этой формулировке:
н-кортежим-наборы
В дискретной математике , особенно в комбинаторике и теории конечных вероятностей , n -кортежи возникают в контексте различных задач подсчета и рассматриваются более неформально как упорядоченные списки длины n . [7] n -кортежи, записи которых происходят из набора из m элементов, также называются расположениями с повторением , перестановками мультимножества и, в некоторой неанглоязычной литературе, вариациями с повторением . Количество n -кортежей m -множества равно m n . Это следует из комбинаторного правила произведения . [8] Если S — конечное множество мощности m , это число является мощностью n -кратной декартовой степени S × S × ⋯ × S. Кортежи являются элементами этого множества произведения.
Теория типов
В теории типов , обычно используемой в языках программирования , кортеж имеет тип продукта ; это фиксирует не только длину, но и базовые типы каждого компонента. Формально:
а проекции являются конструкторами терминов:
Кортеж с помеченными элементами, используемый в реляционной модели, имеет тип записи . Оба эти типа могут быть определены как простые расширения простого типизированного лямбда-исчисления . [9]
Понятие кортежа в теории типов и в теории множеств связаны следующим образом: если мы рассмотрим естественную модель теории типов и используем скобки Скотта для указания семантической интерпретации, то модель состоит из некоторых множеств (обратите внимание: использование курсива здесь отличает множества от типов), таких что:
и толкование основных терминов следующее:
- .
Кортеж n теории типов имеет естественную интерпретацию как кортеж n теории множеств: [10]
Тип единицы имеет семантическую интерпретацию 0-кортежа.
Смотрите также
Примечания
Ссылки
- ^ "Алгебраический тип данных - HaskellWiki". wiki.haskell.org .
- ^ "Деструктуризация назначения". MDN Web Docs . 18 апреля 2023 г.
- ^ «Гарантирует ли JavaScript порядок свойств объекта?». Stack Overflow .
- ↑ Matthews, PH, ed. (Январь 2007). "N-кортеж". Краткий Оксфордский словарь лингвистики . Oxford University Press. ISBN 9780199202720. Получено 1 мая 2015 г.
- ^ Блэкберн, Саймон (1994). "ordered n-tuple". Оксфордский философский словарь. Краткое руководство по Оксфорду (3-е изд.). Оксфорд: Oxford University Press (опубликовано в 2016 г.). стр. 342. ISBN 9780198735304. Получено 30.06.2017 .
упорядоченный n-кортеж[:] Обобщение понятия [...] упорядоченной пары на последовательности из n объектов.
- ^ OED , св «тройной», «четверной», «пятерной», «десятеричный»
- ^ Д'Анджело и Уэст 2000, стр. 9
- ^ Д'Анджело и Уэст 2000, стр. 101
- ^ Пирс, Бенджамин (2002). Типы и языки программирования . MIT Press. С. 126–132. ISBN 0-262-16209-1.
- ^ Стив Аводей, От множеств к типам, к категориям, к множествам, 2009, препринт
Источники
- Д'Анджело, Джон П.; Уэст, Дуглас Б. (2000), Математическое мышление/решение проблем и доказательства (2-е изд.), Prentice-Hall, ISBN 978-0-13-014412-6
- Кит Девлин , Радость множеств . Springer Verlag, 2-е изд., 1993, ISBN 0-387-94094-4 , стр. 7–8
- Авраам Адольф Френкель , Иегошуа Бар-Хиллель , Азриэль Леви , Основы школьной теории множеств , Elsevier Studies in Logic, том 67, 2-е издание, пересмотренное, 1973, ISBN 0-7204-2270-1 , стр. 33
- Гаиси Такеути , В. М. Заринг, Введение в аксиоматическую теорию множеств , Springer GTM 1, 1971, ISBN 978-0-387-90024-7 , стр. 14
- Джордж Дж. Турлакис, Конспект лекций по логике и теории множеств. Том 2: Теория множеств , Cambridge University Press, 2003, ISBN 978-0-521-75374-6 , стр. 182–193
Внешние ссылки
- Словарное определение кортежа в Викисловаре