Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Сгруппированная логика [1] - это разновидность субструктурной логики, предложенная Питером О'Хирном и Дэвидом Пимом . Сгруппированная логика предоставляет примитивы для рассуждений о составе ресурсов , которые помогают в композиционном анализе компьютера и других систем. Он имеет теоретико-категориальную и функциональную семантику, которую можно понять в терминах абстрактного понятия ресурса, и теорию доказательства, в которой контексты Γ в суждении о выводе Γ ⊢ A представляют собой древовидные структуры (группы), а не списки. или (мульти) множества, как в большинстве исчислений доказательств. Сгруппированная логика связана с теорией типов, и ее первым применением было обеспечение способа управления наложением имен и другими формами помех в императивных программах. [2] Логика нашла дальнейшее применение в верификации программ, где она является основой языка утверждений логики разделения , [3] и в системном моделировании, где она обеспечивает способ декомпозиции ресурсов, используемых компонентами системы. [4] [5] [6]

Фонды [ править ]

Теорема дедукции из классической логики относится конъюнкция и импликация:

Сгруппированная логика имеет две версии теоремы дедукции:

и являются формами соединения и импликации, которые принимают во внимание ресурсы (поясняется ниже). В дополнение к этим связкам в сгруппированной логике есть формула, иногда обозначаемая буквой I или emp, которая является единицей измерения *. В исходной версии сгруппированной логики и были связки интуиционистской логики, тогда как логический вариант берет and (и ) как из традиционной булевой логики. Таким образом, сгруппированная логика совместима с конструктивными принципами, но никоим образом от них не зависит.

Истинно-функциональная семантика (семантика ресурсов) [ править ]

Самый простой способ понять эти формулы - с точки зрения их функциональной семантики истинности. В этой семантике формула истинна или ложна по отношению к данным ресурсам. утверждает, что данный ресурс можно разложить на ресурсы, удовлетворяющие требованиям и . говорит, что если мы объединяем имеющийся ресурс с дополнительным ресурсом, который удовлетворяет , то объединенный ресурс удовлетворяет . и имеют знакомые значения.

Основание для такого прочтения формул было обеспечено семантикой принуждения, продвинутой Пимом, где отношение принуждения означает «A удерживает ресурс r». Семантика аналогична семантике интуиционистской или модальной логики Крипке , но где элементы модели рассматриваются как ресурсы, которые могут быть составлены и разложены, а не как возможные миры, доступные друг из друга. Например, семантика принуждения для конъюнкции имеет вид

где - способ объединения ресурсов, а - отношение приближения.

Эта семантика сгруппированной логики опирается на предыдущую работу в Relevant Logic (особенно на операционную семантику Рутли-Мейера), но отличается от нее тем, что не требует и принимает семантику стандартных интуиционистских или классических версий и . Свойство оправдано, когда думают о релевантности, но отрицается соображениями ресурса; наличие двух копий ресурса - это не то же самое, что наличие одной, и в некоторых моделях (например, моделях кучи) может даже не быть определено. Стандартная семантика (или отрицания) часто отвергаются релевантистами в их попытках избежать «парадоксов материального подтекста», которые не являются проблемой с точки зрения моделирования ресурсов и, следовательно, не отвергаются сгруппированной логикой. Семантика также относятся к «фазе семантике» линейной логики, но опять - таки отличается от принятия стандарта (даже булева) семантики и что в линейной логике отвергаются в попытке быть конструктивными. Эти соображения подробно обсуждаются в статье Пима, О'Хирна и Янга о семантике ресурсов. [7]

Категориальная семантика (дважды замкнутые категории) [ править ]

Двойная версия теоремы вывода групповой логики имеет соответствующую теоретико-категориальную структуру. Доказательства в интуиционистской логике можно интерпретировать в декартовых замкнутых категориях, то есть в категориях с конечными продуктами, удовлетворяющими (естественному для A и C) соответствию присоединения, связывающему множества hom:

Сгруппированную логику можно интерпретировать в категориях, обладающих двумя такими структурами.

категориальная модель сгруппированной логики - это единственная категория, обладающая двумя замкнутыми структурами: одна симметричная моноидальная замкнутая, а другая декартово замкнутая.

Множество категориальных моделей может быть задано с помощью построения тензорного произведения Дэя . [8] Кроме того, импликационный фрагмент сгруппированной логики получил игровую семантику. [9]

Алгебраическая семантика [ править ]

Алгебраическая семантика сгруппированной логики является частным случаем ее категориальной семантики, но ее легко сформулировать и она может быть более доступной.

алгебраическая модель сгруппированной логики - это ч.у., которая является алгеброй Гейтинга и которая несет дополнительную коммутативную структуру решетки с делениями (для той же решетки, что и алгебра Гейтинга): то есть упорядоченный коммутативный моноид со связанной импликацией, удовлетворяющей .

Логическая версия сгруппированной логики имеет следующие модели.

Алгебраическая модель логической групповой логики - это ч.у., которая является булевой алгеброй и несет дополнительную структуру коммутативного моноида с делениями.

Теория доказательств и теория типов (пучки) [ править ]

Доказательство исчисления в пучках логика отличается от обычных секвенциальных конкрементов в том , древовидную контекст гипотез вместо плоского списка подобной структуры. В его основанных на последовательностях теориях доказательства контекст в суждении о следствии - это дерево, листья которого являются предложениями, а внутренние узлы помечены способами композиции, соответствующими двум соединениям. Два объединяющих оператора, запятая и точка с запятой, используются (например) в правилах введения для двух значений.

Разница между двумя правилами композиции заключается в дополнительных правилах, которые к ним применяются.

  • Мультипликативная композиция отрицает структурные правила ослабления и сжатия.
  • Аддитивный состав допускает ослабление и сжатие целых пучков.

Структурные правила и другие операции с группами часто применяются глубоко в контексте дерева, а не только на верхнем уровне: таким образом, это в некотором смысле исчисление глубокого вывода .

Групповой логике соответствует теория типов, имеющая два типа функциональных типов. Следуя соответствию Карри – Ховарда , вводные правила импликации соответствуют вводным правилам для типов функций.

Здесь есть два разных связывателя и по одному для каждого типа функции.

Теория доказательств групповой логики исторически обязана использованию групп в логике релевантности. [10] Но сгруппированная структура может быть в некотором смысле выведена из категориальной и алгебраической семантики: чтобы сформулировать правило введения, мы должны имитировать слева в секвенциях, а для введения мы должны имитировать . Это соображение приводит к использованию двух объединяющих операторов.

Джеймс Братстон проделал дальнейшую значительную работу над единой теорией доказательства для сгруппированной логики и вариантов [11], используя понятие логики отображения Белнапа . [12]

Галмиш, Мери и Пим предоставили исчерпывающую трактовку сгруппированной логики, включая полноту и другие мета-теории, основанные на маркированных таблицах . [13]

Приложения [ править ]

Контроль помех [ править ]

Возможно, впервые применив теорию субструктурных типов для управления ресурсами, Джон С. Рейнольдс показал, как использовать теорию аффинных типов для управления наложением имен и другими формами помех в языках программирования, подобных Алголу. [14] О'Хирн использовал теорию связанного типа, чтобы расширить систему Рейнольдса, позволив более гибко смешивать интерференцию и невмешательство. [2] Это разрешило открытые проблемы, касающиеся рекурсии и скачков в системе Рейнольдса.

Логика разделения [ править ]

Логика разделения - это расширение логики Хоара, которое упрощает рассуждения об изменяемых структурах данных, использующих указатели. Следуя логике Хоара, формулы логики разделения имеют форму , но предусловия и постусловия являются формулами, интерпретируемыми в модели сгруппированной логики. Исходная версия логики была основана на следующих моделях:

  • (конечные частичные функции от местоположений до значений)
  • объединение куч с непересекающимися доменами, не определено, когда домены перекрываются.

Идея разделения моделируется в неопределенности композиции на перекрывающихся кучах. Это модель логического варианта сгруппированной логики.

Логика разделения первоначально использовалась для доказательства последовательных программ, но затем была расширена до параллелизма с использованием правила доказательства.

который разделяет хранилище, к которому обращаются параллельные потоки. [15]

Позже была использована более общая семантика ресурсов: абстрактная версия логики разделения работает для троек Хоара, где предусловия и постусловия представляют собой формулы, интерпретируемые над произвольным частичным коммутативным моноидом вместо конкретной модели кучи. [16] Путем подходящего выбора коммутативного моноида было неожиданно обнаружено, что правила доказательства абстрактных версий логики параллельного разделения могут использоваться для рассуждений о вмешательстве в параллельные процессы, например, путем кодирования основанных на гарантии и трассировок рассуждений. [17] [18]

Логика разделения является основой ряда инструментов для автоматического и полуавтоматического анализа программ и используется в анализаторе программ Infer, который в настоящее время развернут в Facebook. [19]

Ресурсы и процессы [ править ]

Сгруппированная логика использовалась в связи с (синхронным) исчислением ресурсов и процессов SCRP [4] [5] [6] , чтобы дать (модальную) логику, которая характеризует, в смысле Хеннесси- Милнера , композиционную структуру параллельные системы.

SCRP примечателен интерпретации с точки зрения как параллельной композиции систем и состава связанных с ними ресурсов. Семантическое предложение логики процесса SCRP, которое соответствует правилу логики разделения для параллелизма, утверждает, что формула верна в состоянии ресурс-процесс , на всякий случай, когда есть декомпозиции ресурса и процесса ~ , где ~ обозначает бимоделирование, такое, что истинно в состояние ресурсов процесс , и это верно в состоянии ресурсов процесса , ; то есть тогда и только тогда .

Системная SCRP [4] [5] [6] основана непосредственно на семантике ресурсов сгруппированной логики; то есть на упорядоченных моноидах ресурсных элементов. Этот выбор, будучи прямым и интуитивно привлекательным, приводит к конкретной технической проблеме: теорема о полноте Хеннесси-Милнера верна только для фрагментов модальной логики, исключающих мультипликативную импликацию и мультипликативные модальности. Эта проблема решается путем базирования исчисления ресурсов и процессов на семантике ресурсов, в которой элементы ресурсов объединяются с использованием двух комбинаторов, один из которых соответствует параллельной композиции, а другой - выбору. [20]

Пространственная логика [ править ]

Карделли, Кайрес, Гордон и другие исследовали ряд логик исчислений процессов, в которых конъюнкция интерпретируется в терминах параллельной композиции. [Ссылки, добавить] В отличие от работы Pym et al. в SCRP они не делают различий между параллельным составом систем и составом ресурсов, к которым системы обращаются.

Их логика основана на экземплярах семантики ресурсов, которые порождают модели логического варианта сгруппированной логики. Хотя эти логики порождают примеры логической сгруппированной логики, они, по-видимому, были получены независимо и в любом случае имеют существенную дополнительную структуру в виде модальностей и связующих. Родственная логика также была предложена для моделирования XML-данных.

См. Также [ править ]

  • Логика разделения
  • Логика релевантности
  • Линейная логика

Ссылки [ править ]

  1. ^ О'Хирн, Питер; Пим, Дэвид (1999). «Логика сгруппированных следствий» (PDF) . Вестник символической логики . 5 (2): 215–244. CiteSeerX  10.1.1.27.4742 . DOI : 10.2307 / 421090 . JSTOR  421090 .
  2. ^ а б О'Хирн, Питер (2003). «О сгруппированной печати» (PDF) . Журнал функционального программирования . 13 (4): 747–796. DOI : 10.1017 / S0956796802004495 .
  3. ^ Иштиак, Самин; О'Хирн, Питер (2001). «BI как язык утверждений для изменяемых структур данных» (PDF) . ПОПЛ . 28-е (3): 14–26. CiteSeerX 10.1.1.11.4925 . DOI : 10.1145 / 373243.375719 .  
  4. ^ a b c Пим, Дэвид; Тофтс, Крис (2006). «Исчисление и логика ресурсов и процессов» (PDF) . Формальные аспекты вычислений . 8 (4): 495–517.
  5. ^ a b c Коллинсон, Мэтью; Пим, Дэвид (2009). «Алгебра и логика для моделирования ресурсных систем». Математические структуры в информатике . 19 (5): 959–1027. CiteSeerX 10.1.1.153.3899 . DOI : 10.1017 / S0960129509990077 . 
  6. ^ a b c Коллинсон, Мэтью; Монахан, Брайан; Пим, Дэвид (2012). Дисциплина моделирования математических систем . Лондон: Публикации колледжа. ISBN 978-1-904987-50-5.
  7. ^ Пим, Дэвид; О'Хирн, Питер; Ян, Хонгсок (2004). «Возможные миры и ресурсы: семантика BI» . Теоретическая информатика . 315 (1): 257–305. DOI : 10.1016 / j.tcs.2003.11.020 .
  8. ^ День, Брайан (1970). «О замкнутых категориях функторов» (PDF) . Отчеты семинара IV категории Среднего Запада, конспект лекций Springer по математике 137 : 1–38.
  9. ^ Маккаскер, Гай; Пим, Дэвид (2007). «Игровая модель сгруппированных последствий» (PDF) . Логика информатики, конспект лекций Springer по информатике 4646 .
  10. Перейти ↑ Read, Stephen (1989). Соответствующая логика: философское исследование вывода . Вили-Блэквелл.
  11. ^ Brotherston, Джеймс (2012). «Сгруппированная логика отображается» (PDF) . Studia Logica . 100 (6): 1223–1254. CiteSeerX 10.1.1.174.8777 . DOI : 10.1007 / s11225-012-9449-0 .  
  12. ^ Белнапа, Nuel (1982). Журнал философской логики . 11 (4): 375–417. Отсутствует или пусто |title=( справка )
  13. ^ Гальмиче, Дидье; Мери, Даниэль; Пим, Дэвид (2005). «Семантика бизнес-аналитики и таблиц ресурсов». Математические структуры в информатике . 15 (6): 1033–1088. CiteSeerX 10.1.1.144.1421 . DOI : 10.1017 / S0960129505004858 . 
  14. ^ Рейнольдс, Джон (1978). «Синтаксический контроль вмешательства». Пятый ежегодный симпозиум ACM по принципам языков программирования : 39–46. DOI : 10.1145 / 512760.512766 .
  15. ^ O'Hearn, Питер (2007). «Ресурсы, параллелизм и локальное мышление» (PDF) . Теоретическая информатика . 375 (1–3): 271–307. DOI : 10.1016 / j.tcs.2006.12.035 .
  16. ^ Кальканьо, Криштиану; О'Хирн, Питер В .; Ян, Хонгсок (2007). «Локальное действие и логика абстрактного разделения» (PDF) . 22-й ежегодный симпозиум IEEE по логике в компьютерных науках (LICS 2007) . С. 366–378. CiteSeerX 10.1.1.66.6337 . DOI : 10,1109 / LICS.2007.30 . ISBN   978-0-7695-2908-0.
  17. ^ Динсдейл-Янг, Томас; Биркедал, Ларс; Гарднер, Филиппа; Паркинсон, Мэтью; Ян, Хонгсок (2013). «Представления: составные аргументы для параллельных программ» (PDF) . Материалы 40-го ежегодного симпозиума ACM SIGPLAN-SIGACT по принципам языков программирования . 48 : 287–300. DOI : 10.1145 / 2480359.2429104 .
  18. ^ Сергей, Илья; Наневский, Александар; Банерджи, Аниндья (2015). «Определение и проверка параллельных алгоритмов с историей и субъективностью» (PDF) . 24-й Европейский симпозиум по программированию . arXiv : 1410.0306 . Bibcode : 2014arXiv1410.0306S .
  19. ^ Кальканьо, Криштиану; Дистефано, Дино; О'Хирн, Питер (11.06.2015). «Вывод Facebook с открытым исходным кодом: выявление ошибок перед отправкой» .
  20. ^ Андерсон, Габриель; Пим, Дэвид (2015). «Исчисление и логика сгруппированных ресурсов и процессов» . Теоретическая информатика . 614 : 63–96. DOI : 10.1016 / j.tcs.2015.11.035 .