Связанная логика [1] является разновидностью субструктурной логики, предложенной Питером О'Хирном и Дэвидом Пимом. Связанная логика предоставляет примитивы для рассуждений о составе ресурсов , которые помогают в композиционном анализе компьютерных и других систем. Она имеет категориально-теоретическую и истинностно-функциональную семантику, которую можно понять в терминах абстрактной концепции ресурса, и теорию доказательств, в которой контексты Γ в суждении вывода Γ ⊢ A являются древовидными структурами (связками), а не списками или ( мульти ) множествами, как в большинстве исчислений доказательств . Связанная логика имеет связанную теорию типов , и ее первое применение заключалось в предоставлении способа управления наложением имен и другими формами помех в императивных программах . [2] Логика нашла дальнейшее применение в верификации программ , где она является основой языка утверждений логики разделения , [3] и в моделировании систем , где она предоставляет способ разложения ресурсов, используемых компонентами системы. [4] [5] [6]
Теорема дедукции классической логики связывает конъюнкцию и импликацию:
В связной логике есть две версии теоремы дедукции:
и являются формами конъюнкции и импликации, которые учитывают ресурсы (объясняется ниже). В дополнение к этим связкам сгруппированная логика имеет формулу, иногда записываемую как I или emp, которая является единицей *. В оригинальной версии сгруппированной логики и были связками из интуиционистской логики , в то время как булев вариант берет и (и ) как из традиционной булевой логики . Таким образом, сгруппированная логика совместима с конструктивными принципами, но никоим образом не зависит от них.
Самый простой способ понять эти формулы — с точки зрения их истинностно-функциональной семантики. В этой семантике формула является истинной или ложной относительно заданных ресурсов. утверждает, что имеющийся ресурс может быть разложен на ресурсы, которые удовлетворяют и . говорит, что если мы скомпонуем имеющийся ресурс с дополнительным ресурсом, который удовлетворяет , то объединенный ресурс удовлетворяет . и имеют их знакомые значения.
Основой для такого прочтения формул послужила семантика принуждения, предложенная Пимом, где отношение принуждения означает « A удерживает ресурс r » . Семантика аналогична семантике интуиционистской или модальной логики Крипке , но элементы модели рассматриваются как ресурсы, которые могут быть составлены и разложены, а не как возможные миры, которые доступны друг из друга. Например, семантика принуждения для конъюнкции имеет вид
где — способ объединения ресурсов, — отношение аппроксимации.
Эта семантика сгруппированной логики опирается на предыдущие работы в области релевантной логики (особенно на операциональную семантику Раутли–Мейера), но отличается от нее тем, что не требует и , принимая семантику стандартных интуиционистских или классических версий и . Свойство оправдано при размышлении о релевантности, но отрицается соображениями ресурса; наличие двух копий ресурса не то же самое, что наличие одной, и в некоторых моделях (например, моделях кучи ) может даже не быть определено. Стандартная семантика (или отрицания) часто отвергается релевантистами в их попытке избежать «парадоксов материальной импликации», которые не являются проблемой с точки зрения моделирования ресурсов и, следовательно, не отвергаются сгруппированной логикой. Семантика также связана с «фазовой семантикой» линейной логики , но снова отличается принятием стандартной (даже булевой) семантики и , которая в линейной логике отвергается в попытке быть конструктивной. Эти соображения подробно обсуждаются в статье о семантике ресурсов, написанной Пимом, О'Хирном и Янгом. [7]
Двойная версия теоремы дедукции сгруппированной логики имеет соответствующую теоретико-категорную структуру. Доказательства в интуиционистской логике могут быть интерпретированы в декартовых замкнутых категориях, то есть категориях с конечными произведениями, удовлетворяющими ( естественному в A и C ) соответствию сопряжения , связывающему hom-множества:
Связанную логику можно интерпретировать в категориях, имеющих две такие структуры
Множество категориальных моделей может быть задано с использованием конструкции тензорного произведения Дэя . [8] Кроме того, импликативный фрагмент сгруппированной логики получил игровую семантику . [9]
Алгебраическая семантика связной логики является частным случаем ее категориальной семантики, но ее проще сформулировать и она может быть более доступной.
Булева версия групповой логики имеет следующие модели.
Исчисление доказательств сгруппированной логики отличается от обычных исчислений последовательностей наличием древовидного контекста гипотез вместо плоской структуры, подобной списку. В его теориях доказательств, основанных на последовательностях, контекст в суждении о выводе представляет собой конечное корневое дерево, листья которого являются предложениями, а внутренние узлы помечены способами композиции, соответствующими двум конъюнкциям. Два оператора объединения, запятая и точка с запятой, используются (например) в правилах введения для двух импликаций.
Разница между двумя правилами композиции заключается в дополнительных правилах, которые к ним применяются.
Структурные правила и другие операции над группами часто применяются глубоко внутри древовидного контекста, а не только на верхнем уровне: таким образом, это в некотором смысле исчисление глубокого вывода .
Связанной логике соответствует теория типов, имеющая два вида типа функции. Следуя соответствию Карри–Ховарда , правила введения для импликаций соответствуют правилам введения для типов функций.
Здесь есть два отдельных связующих элемента, и , по одному для каждого типа функции.
Теория доказательств сгруппированной логики исторически обязана использованием связок в релевантной логике. [10] Но сгруппированная структура может быть в некотором смысле выведена из категориальной и алгебраической семантики: чтобы сформулировать правило введения для мы должны имитировать слева в секвенциях, а чтобы ввести мы должны имитировать . Это соображение приводит к использованию двух объединяющих операторов.
Джеймс Бразерстон проделал дальнейшую значительную работу по единой теории доказательств для сгруппированной логики и вариантов, [11] используя понятие логики отображения Белнапа . [12]
Гальмиш, Мери и Пим представили всестороннюю трактовку сгруппированной логики, включая полноту и другие метатеории, основанные на маркированных таблицах . [13]
Возможно, в первом использовании теории субструктурных типов для управления ресурсами Джон К. Рейнольдс показал, как использовать теорию аффинных типов для управления наложением имен и другими формами помех в языках программирования, подобных Алголу . [14] О'Херн использовал теорию сгруппированных типов для расширения системы Рейнольдса, позволяя более гибко смешивать помехи и непомехи. [2] Это решило открытые проблемы, касающиеся рекурсии и скачков в системе Рейнольдса.
Разделительная логика — это расширение логики Хоара , которое облегчает рассуждения об изменчивых структурах данных, использующих указатели . Согласно логике Хоара, формулы разделительной логики имеют вид , но предусловия и постусловия — это формулы, интерпретируемые в модели сгруппированной логики. Первоначальная версия логики основывалась на следующих моделях:
Именно неопределенность композиции на перекрывающихся кучах моделирует идею разделения. Это модель булевого варианта сгруппированной логики.
Логика разделения изначально использовалась для доказательства свойств последовательных программ, но затем была расширена до параллелизма с использованием правила доказательства.
который разделяет хранилище, к которому обращаются параллельные потоки. [15]
Позже была использована большая общность семантики ресурсов: абстрактная версия логики разделения работает для троек Хоара, где предусловия и постусловия являются формулами, интерпретируемыми по произвольному частичному коммутативному моноиду вместо конкретной модели кучи. [16] При подходящем выборе коммутативного моноида было неожиданно обнаружено, что правила доказательств абстрактных версий логики параллельного разделения могут использоваться для рассуждений о мешающих параллельных процессах, например, путем кодирования рассуждений на основе rely-gurantee и trace-based. [17] [18]
Логика разделения является основой ряда инструментов для автоматического и полуавтоматического рассуждения о программах и используется в анализаторе программ Infer, который в настоящее время развернут в Facebook. [19]
Связанная логика использовалась в сочетании с (синхронным) исчислением ресурсов и процессов SCRP [4] [5] [6] для того, чтобы дать (модальную) логику, которая характеризует, в смысле Хеннесси - Милнера , композиционную структуру параллельных систем.
SCRP примечателен тем, что интерпретируется в терминах как параллельной композиции систем, так и композиции их связанных ресурсов. Семантическое положение логики процесса SCRP, которое соответствует правилу логики разделения для параллелизма, утверждает, что формула истинна в состоянии ресурс-процесс , только в том случае, если есть разложения ресурса и процесса ~ , где ~ обозначает бисимуляцию , такую, что истинна в состоянии ресурс-процесс , и истинна в состоянии ресурс-процесс , ; то есть тогда и только тогда , и .
Система SCRP [4] [5] [6] основана непосредственно на семантике ресурсов сгруппированной логики; то есть на упорядоченных моноидах элементов ресурсов. Хотя этот выбор и выглядит прямолинейным и интуитивно привлекательным, он приводит к определенной технической проблеме: теорема о полноте Хеннесси–Милнера справедлива только для фрагментов модальной логики, которые исключают мультипликативную импликацию и мультипликативные модальности. Эта проблема решается путем базирования исчисления ресурсного процесса на семантике ресурсов, в которой элементы ресурсов объединяются с использованием двух комбинаторов, один из которых соответствует параллельной композиции, а другой — выбору. [20]
Карделли, Кайрес, Гордон и другие исследовали ряд логик исчисления процессов, где конъюнкция интерпретируется в терминах параллельной композиции. [ необходима ссылка ] В отличие от работы Пима и др. в SCRP, они не делают различий между параллельной композицией систем и композицией ресурсов, к которым системы получают доступ.
Их логика основана на примерах семантики ресурсов, которые порождают модели булевой разновидности сгруппированной логики. Хотя эти логики порождают примеры булевой сгруппированной логики, они, по-видимому, были получены независимо и в любом случае имеют значительную дополнительную структуру в виде модальностей и связующих. Связанные логики были также предложены для моделирования XML- данных.
{{cite journal}}
: CS1 maint: DOI inactive as of November 2024 (link)