Какова интуиция за линейной логикой?

11

Я пытаюсь понять линейную логику, чтобы лучше понять системы линейного типа. Однако, когда я прочитал правила, я не в состоянии получить интуицию позади него , как я сделал в модальной логике - A означает требуются , как в Крипке кадров требуются для каждого достижимого мира [ является возможно с учетом необходимыми изменения]. Но я не могу найти какое-либо интуитивное объяснение двойственности и того, какая из пар соединения / дизъюнкции (если есть) соответствует и .AAAA

Мацей Печотка
источник
Оригинальная статья Жирара - это то место, куда вы должны обратить внимание, если хотите понять интуицию, стоящую за ними. Вопрос как таковой является слишком общим imo, и ответ будет состоять в том, чтобы взглянуть на страницу Википедии для линейной логики.
Каве
5
Я согласен, что это слишком сложный вопрос и, безусловно, не уровень исследований, возможно, вам следует задать вопрос по CS Stack Exchange. Тем не менее, я бы не рекомендовал использовать оригинальную статью Жирара в качестве отправной точки для линейной логики. Может быть, Wikipedia - лучшее место для начала.
Дамиано
Это довольно широко. Возможно, предложение может начать рассматривать формулы как «валюту», которую можно тратить, вместо утверждений правды. Затем соединение может быть Ь означает , что мы можем проводить как в а монету и б монету. Другим видом соединения может быть a & b , что означает, что мы можем выбирать между расходами a и расходами b (но не обоими!). Вы можете найти несколько примеров в Википедии, как предложил Дамиано. aбaбa&бaб
Чи
@chi Я не уверен, что «интерпретация ресурсов» - лучший способ понять дуальность в LL. Процесс интерпретации гораздо более понятен.
Мартин Бергер

Ответы:

11

Я не уверен, что этот вопрос идеально подходит для CSTheory, но, учитывая, что он уже собирает голоса, вот ответ, который кто-то мог бы дать, если бы этот вопрос был размещен на cs.stackexchange .

Чтобы понять понятие дуальности линейной логики , которое разделяет конъюнкцию и дизъюнкцию гораздо дальше, чем мы привыкли в обычной логике, я рекомендую не рассматривать линейную логику с точки зрения ресурсов (хотя это важное чтение ). Вместо этого думайте о линейных логических формулах A как о процессах, которые взаимодействуют в порту / имени / канале. Насколько мне известно, эта интерпретация была впервые изложена в (1), но уже упоминалась в оригинальной работе Жирара. Как изображение:()A

                    Процесс

(Я не знаю , как правильно центр изображений здесь.) Линейное соединение B интерпретируются как запущенные процессы A и B в параллели . Процесс B передает пары ( , б ) на своем порте, где происходит от A и B является B связи «с.AВAВAВ (a,б)aAбВ

                   введите описание изображения здесь

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

(AВ)знак равноAВ

В этом чтение представляет собой процесс , который взаимодействует с A B .AВAВ

Линейный логический эквивалент дизъюнкции может быть дан аналогично теоретико-процессуальному чтению. Формула

A & В

также следует рассматривать как два процесса и B параллельно, но вместо того, чтобы активно отправлять сообщения, они ждут, когда среда решит, какой запускать. Так & B сидит там, ожидая ее русло немного информации , которая принимает решения , если & B должны работать как A или B . Это «параллельная» версия i / f / t h e n / e l s e на языках последовательного программирования. Двойной ( A & B ) AВA&ВA&ВAВяе/TчасеN/еLsе(A&В)из & B являетсяA&В

(A&В)знак равноAВ

может рассматриваться как процесс отправки 1 бита информации в , а именно: «продолжить как A » или «продолжить как B ». Это похоже на в I е т р у й т ч е н Р х л ы х Q , вычисляемые Р , а я е е L сек х т ч е н Р х л ы х Q , вычисляемая Q , за исключением того, что при выборе междуA&ВAВяе TрUе TчасеN п еLsе Qпяе еaLsе TчасеN п еLsе QQ и Б теперь сделаны окружающей средой.AВ

Оператор! Также имеет теоретико-процессную интерпретацию: если читается как процесс, то ! A можно читать как выполняющий бесконечно много процессов A параллельно.A!AA

При этом чтении аксиом A линейных логики становится простыми проводами «» , которые пересылают сообщения от процессов A к процессам А . Эта интерпретация аксиом уже есть в сетках доказательства Жирара (3).AAAA

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


1. Абрамский С. Вычислительные интерпретации линейной логики .
2. П. Вадлер, Предложения как сеансы .
3. Википедия, Сеть доказательств .

Мартин Бергер
источник