Сгруппированная логика
Сгруппированная логика [1] — разновидность субструктурной логики, предложенная Питером О’Хирном и Дэвидом Пимом . Сгруппированная логика предоставляет примитивы для рассуждений о составе ресурсов , которые помогают в композиционном анализе компьютерных и других систем. Он имеет теоретико-категориальную и истинностно-функциональную семантику, которую можно понять в терминах абстрактной концепции ресурса, а также теорию доказательства, в которой контексты Γ в суждении о следствии Γ ⊢ A представляют собой древовидные структуры (группы), а не списки или ( множественные ) множества, как в большинстве исчислений доказательств . С группированной логикой связана теория типов , и ее первое применение заключалось в обеспечении способа управления псевдонимами и другими формами вмешательства в императивные программы . [2] Логика нашла дальнейшее применение при верификации программ , где она является основой языка утверждений логики разделения . [3] и в системном моделировании , где он обеспечивает способ разложения ресурсов, используемых компонентами системы. [4] [5] [6]
Фонды
[ редактировать ]Теорема о дедукции классической логики связывает конъюнкцию и импликацию:
Сгруппированная логика имеет две версии теоремы о дедукции:
и — это формы соединения и импликации, которые учитывают ресурсы (поясняется ниже). Помимо этих связейСгруппированная логика имеет формулу, иногда записываемую I или emp, которая является единицей измерения *. В оригинальной версии сгруппированной логики и были связками из интуиционистской логики , тогда как логический вариант принимает и (и ) как из традиционной логической логики . Таким образом, групповая логика совместима с конструктивными принципами, но никоим образом не зависит от них.
Истинно-функциональная семантика (семантика ресурсов)
[ редактировать ]Проще всего понять эти формулы с точки зрения их истинностно-функциональной семантики. В этой семантике формула является истинной или ложной по отношению к данным ресурсам. утверждает, что имеющийся ресурс можно разложить на ресурсы, удовлетворяющие и . говорит, что если мы скомпонуем имеющийся ресурс с дополнительным ресурсом, который удовлетворяет , то объединенный ресурс удовлетворяет . и имеют свои привычные значения.
Основанием для такого прочтения формул послужилпринудительная семантика предложенное Пимом, где принуждающее отношение означает : « А имеет ресурс r » . Семантика аналогична семантике интуиционистской или модальной логики Крипке , но элементы модели рассматриваются как ресурсы, которые можно составлять и разлагать, а не как возможные миры, доступные друг из друга. Например, семантика принуждения для союза имеет форму
где это способ объединения ресурсов и является отношением аппроксимации.
Эта семантика группированной логики опирается на предыдущие работы в области логики релевантности (особенно операционную семантику Раутли-Мейера), но отличается от нее тем, что не требует и принимая семантику стандартных интуиционистских или классических версий и . Недвижимость оправдано, когда речь идет об актуальности, но отрицается из соображений ресурса; наличие двух копий ресурса — это не то же самое, что наличие одной, и в некоторых моделях (например, кучи ) моделях может быть даже не определена. Стандартная семантика (или отрицания) часто отвергается релевантными в их стремлении избежать «парадоксов материальной импликации», которые не являются проблемой с точки зрения моделирования ресурсов и поэтому не отвергаются групповой логикой. Семантика также связана с «фазовой семантикой» линейной логики , но опять же отличается принятием стандартной (даже логической) семантики и , которое в линейной логике отвергается в стремлении быть конструктивным. Эти соображения подробно обсуждаются в статье Пима, О'Хирна и Янга о семантике ресурсов. [7]
Категориальная семантика (дважды замкнутые категории)
[ редактировать ]Двойная версия теоремы о дедукции группированной логики имеет соответствующую теоретико-категорную структуру. Доказательства интуиционистской логики можно интерпретировать в декартовы замкнутые категории, то есть категории с конечными произведениями, удовлетворяющими ( естественному в A и C ) соответствию присоединения , связывающему однородные множества:
Сгруппированную логику можно интерпретировать в категориях, обладающих двумя такими структурами.
- Категориальная модель группированной логики представляет собой единую категорию, имеющую две закрытые структуры: одну симметричную моноидальную закрытую, другую декартово закрытую.
Дэя, можно создать множество категориальных моделей . тензорного произведения Используя конструкцию [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]
Пространственная логика
[ редактировать ]Карделли, Кайрес, Гордон и другие исследовали ряд логик исчисления процессов, где соединение интерпретируется с точки зрения параллельной композиции. [ нужна ссылка ] В отличие от работы Пима и др. в SCRP не делают различия между параллельным составом систем и составом ресурсов, к которым системы обращаются.
Их логика основана на примерах семантики ресурсов, которые порождают модели булевого варианта групповой логики. Хотя эти логики порождают примеры булевой группированной логики, они, похоже, были созданы независимо и в любом случае имеют значительную дополнительную структуру в виде модальностей и связующих. Связанная логика была также предложена для моделирования данных XML .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ О'Хирн, Питер; Пим, Дэвид (1999). «Логика объединенных импликаций» (PDF) . Бюллетень символической логики . 5 (2): 215–244. CiteSeerX 10.1.1.27.4742 . дои : 10.2307/421090 . JSTOR 421090 . S2CID 2948552 .
- ^ Перейти обратно: а б О'Хирн, Питер (2003). «О групповой печати» (PDF) . Журнал функционального программирования . 13 (4): 747–796. дои : 10.1017/S0956796802004495 .
- ^ Иштиак, Самин; О'Хирн, Питер (2001). «BI как язык утверждений для изменяемых структур данных» (PDF) . ПОПЛ . 28-е (3): 14–26. CiteSeerX 10.1.1.11.4925 . дои : 10.1145/373243.375719 .
- ^ Перейти обратно: а б с Пим, Дэвид; Тофтс, Крис (2006). «Исчисление и логика ресурсов и процессов» (PDF) . Формальные аспекты вычислений . 8 (4): 495–517. дои : 10.1007/s00165-006-0018-z . S2CID 16623194 .
- ^ Перейти обратно: а б с Коллинсон, Мэтью; Пим, Дэвид (2009). «Алгебра и логика для моделирования ресурсных систем». Математические структуры в информатике . 19 (5): 959–1027. CiteSeerX 10.1.1.153.3899 . дои : 10.1017/S0960129509990077 . S2CID 14228156 .
- ^ Перейти обратно: а б с Коллинсон, Мэтью; Монахан, Брайан; Пим, Дэвид (2012). Дисциплина моделирования математических систем . Лондон: Публикации колледжа. ISBN 978-1-904987-50-5 .
- ^ Пим, Дэвид; О'Хирн, Питер; Ян, Хонсок (2004). «Возможные миры и ресурсы: семантика BI» . Теоретическая информатика . 315 (1): 257–305. дои : 10.1016/j.tcs.2003.11.020 .
- ^ Дэй, Брайан (1970). «О закрытых категориях функторов» (PDF) . Отчеты семинара IV категории Среднего Запада . Конспект лекций по математике. Том. 137. Спрингер. стр. 1–38.
- ^ Маккаскер, Гай; Пим, Дэвид (2007). «Игровая модель группированных последствий» (PDF) . Информатика Логика . Конспекты лекций по информатике. Том. 4646. Спрингер.
- ^ Прочтите, Стивен (1989). Соответствующая логика: философское исследование умозаключений . Уайли-Блэквелл.
- ^ Бразерстон, Джеймс (2012). «Отображение объединенной логики» (PDF) . Студия Логика . 100 (6): 1223–1254. CiteSeerX 10.1.1.174.8777 . дои : 10.1007/s11225-012-9449-0 . S2CID 13634990 .
- ^ Белнап, Нуэль (1982). «Отображение логики». Журнал философской логики . 11 (4): 375–417. дои : 10.1007/BF00284976 . S2CID 41451176 .
- ^ Гальмиш, Дидье; Мери, Дэниел; Пим, Дэвид (2005). «Семантика BI и таблиц ресурсов». Математические структуры в информатике . 15 (6): 1033–1088. CiteSeerX 10.1.1.144.1421 . дои : 10.1017/S0960129505004858 . S2CID 1700033 .
- ^ Рейнольдс, Джон (1978). «Синтаксический контроль интерференции». Материалы 5-го симпозиума ACM SIGACT-SIGPLAN по принципам языков программирования - POPL '78 . стр. 39–46. дои : 10.1145/512760.512766 . ISBN 9781450373487 . S2CID 18716926 .
- ^ О'Хирн, Питер (2007). «Ресурсы, параллелизм и локальное мышление» (PDF) . Теоретическая информатика . 375 (1–3): 271–307. дои : 10.1016/j.tcs.2006.12.035 .
- ^ Кальканьо, Криштиану; О'Хирн, Питер В.; Ян, Хонсок (2007). «Локальное действие и абстрактная логика разделения» (PDF) . 22-й ежегодный симпозиум IEEE по логике в информатике (LICS 2007) . стр. 366–378. CiteSeerX 10.1.1.66.6337 . дои : 10.1109/LICS.2007.30 . ISBN 978-0-7695-2908-0 . S2CID 1044254 .
- ^ Динсдейл-Янг, Томас; Биркедал, Ларс; Гарднер, Филиппа; Паркинсон, Мэтью; Ян, Хонсок (2013). «Представления: композиционное обоснование для параллельных программ» (PDF) . Материалы 40-го ежегодного симпозиума ACM SIGPLAN-SIGACT по принципам языков программирования . 48 : 287–300. дои : 10.1145/2480359.2429104 .
- ^ Сергей, Илья; Наневский, Александр; Банерджи, Аниндья (2015). «Определение и проверка параллельных алгоритмов с историей и субъективностью» (PDF) . 24-й Европейский симпозиум по программированию . arXiv : 1410.0306 . Бибкод : 2014arXiv1410.0306S .
- ^ Кальканьо, Криштиану; Дистефано, Дино; О'Хирн, Питер (11 июня 2015 г.). «Facebook Infer с открытым исходным кодом: выявляйте ошибки перед отправкой» .
- ^ Андерсон, Габриель; Пим, Дэвид (2015). «Исчисление и логика объединенных ресурсов и процессов» . Теоретическая информатика . 614 : 63–96. дои : 10.1016/j.tcs.2015.11.035 .