Linear logic: Difference between revisions
imported>Marc Schroeder |
imported>Beland m convert special characters found by Wikipedia:Typo Team/moss (via WP:JWB) |
||
| Line 1: | Line 1: | ||
{{Short description|System of resource-aware logic}} | {{Short description|System of resource-aware logic}} | ||
{{Redirect|⅋|the EP|& (The Moth & The Flame EP){{!}}''&'' (The Moth & The Flame EP)}} | |||
{{use dmy dates|date=March 2025}} | {{use dmy dates|date=March 2025}} | ||
'''Linear logic''' is a [[substructural logic]] proposed by French [[logician]] [[Jean-Yves Girard]] as a refinement of [[classical logic|classical]] and [[intuitionistic logic]], joining the [[Duality (mathematics)#Duality in logic and set theory|dualities]] of the former with many of the [[Constructivism (mathematics)|constructive]] properties of the latter.{{sfn|Girard|1987}} Although the logic has also been studied for its own sake, more broadly, ideas from linear logic have been influential in fields such as [[programming languages]], [[game semantics]], and [[quantum physics]] (because linear logic can be seen as the logic of [[quantum information theory]]),{{sfn|Baez|Stay|2008}} as well as [[linguistics]],{{sfn|De Paiva|Van Genabith|Ritter|1999}} particularly because of its emphasis on resource-boundedness, duality, and interaction. | '''Linear logic''' is a [[substructural logic]] proposed by French [[logician]] [[Jean-Yves Girard]] as a refinement of [[classical logic|classical]] and [[intuitionistic logic]], joining the [[Duality (mathematics)#Duality in logic and set theory|dualities]] of the former with many of the [[Constructivism (mathematics)|constructive]] properties of the latter.{{sfn|Girard|1987}} Although the logic has also been studied for its own sake, more broadly, ideas from linear logic have been influential in fields such as [[programming languages]], [[game semantics]], and [[quantum physics]] (because linear logic can be seen as the logic of [[quantum information theory]]),{{sfn|Baez|Stay|2008}} as well as [[linguistics]],{{sfn|De Paiva|Van Genabith|Ritter|1999}} particularly because of its emphasis on resource-boundedness, duality, and interaction. | ||
| Line 15: | Line 15: | ||
|- | |- | ||
| {{math|<VAR>A</VAR>}} | | {{math|<VAR>A</VAR>}} | ||
| ::= | |::= | ||
| {{math|<VAR>p</VAR> ∣ <VAR>p</VAR><sup>⊥</sup>}} | | {{math|<VAR>p</VAR> ∣ <VAR>p</VAR><sup>⊥</sup>}} | ||
|- | |- | ||
| Line 69: | Line 69: | ||
|} | |} | ||
Binary connectives ⊗, ⊕, & and ⅋ are associative and commutative; 1 is the unit for ⊗, 0 is the unit for ⊕, ⊥ is the unit for ⅋ and ⊤ is the unit for &. | |||
Binary connectives ⊗, ⊕, & and ⅋ are associative and commutative; 1 is the unit for ⊗, 0 is the unit for ⊕, ⊥ is the unit for ⅋ and ⊤ is the unit for &. | |||
Every proposition {{math|<VAR>A</VAR>}} in CLL has a '''dual''' {{math|<VAR>A</VAR><sup>⊥</sup>}}, defined as follows: | Every proposition {{math|<VAR>A</VAR>}} in CLL has a '''dual''' {{math|<VAR>A</VAR><sup>⊥</sup>}}, defined as follows: | ||
| Line 112: | Line 111: | ||
The columns of the table suggest another way of classifying the connectives of linear logic, termed '''{{em|{{visible anchor|polarity}}}}''': the connectives negated in the left column (⊗, ⊕, 1, 0, !) are called ''positive'', while their duals on the right (⅋, &, ⊥, ⊤, ?) are called ''negative''; cf. table on the right. | The columns of the table suggest another way of classifying the connectives of linear logic, termed '''{{em|{{visible anchor|polarity}}}}''': the connectives negated in the left column (⊗, ⊕, 1, 0, !) are called ''positive'', while their duals on the right (⅋, &, ⊥, ⊤, ?) are called ''negative''; cf. table on the right. | ||
{{em|{{visible anchor|Linear implication}}}} is not included in the grammar of connectives, but is definable in CLL using linear negation and multiplicative disjunction, by {{math|<VAR>A</VAR> ⊸ <VAR>B</VAR> :{{=}} <VAR>A</VAR><sup>⊥</sup> ⅋ <VAR>B</VAR>}}. The connective ⊸ is sometimes pronounced "[[lollipop]]", owing to its shape. | {{em|{{visible anchor|Linear implication}}}} is not included in the grammar of connectives, but is definable in CLL using linear negation and multiplicative disjunction, by {{math|<VAR>A</VAR> ⊸ <VAR>B</VAR>:{{=}} <VAR>A</VAR><sup>⊥</sup> ⅋ <VAR>B</VAR>}}. The connective ⊸ is sometimes pronounced "[[lollipop]]", owing to its shape. | ||
==Sequent calculus presentation== | ==Sequent calculus presentation== | ||
One way of defining linear logic is as a [[sequent calculus]]. We use the letters {{math| Γ}} and {{math| Δ}} to range over | One way of defining linear logic is as a [[sequent calculus]]. We use the letters {{math| Γ}} and {{math| Δ}} to range over finite [[list (mathematics)|list]]s of propositions {{math|<VAR>A</VAR><sub>1</sub>, ..., <VAR>A</VAR><sub>''n''</sub>}}, also called ''contexts''. A ''sequent'' places a context to the left and the right of the [[turnstile (symbol)|turnstile]], written {{math|Γ {{tee}} Δ}}. Intuitively, the sequent asserts that the conjunction of {{math| Γ}} [[Logical consequence|entails]] the disjunction of {{math| Δ}} (though we mean the "multiplicative" conjunction and disjunction, as explained below). Girard describes classical linear logic using only ''one-sided'' sequents (where the left-hand context is empty), and we follow here that more economical presentation. This is possible because any premises to the left of a turnstile can always be moved to the other side and dualised. | ||
We now give [[Sequent calculus#Inference rules|inference rules]] describing how to build proofs of sequents.{{sfn|Girard|1987|loc=p.22, Def.1.15}} | We now give [[Sequent calculus#Inference rules|inference rules]] describing how to build proofs of sequents.{{sfn|Girard|1987|loc=p.22, Def.1.15}} | ||
| Line 140: | Line 139: | ||
{| border="0" | {| border="0" | ||
|- | |- | ||
| | | | ||
|- | |- | ||
| style="border-top:2px solid black;" | | | style="border-top:2px solid black;" | | ||
| Line 150: | Line 149: | ||
{| border="0" | {| border="0" | ||
|- | |- | ||
| {{math|{{tee}} Γ, <VAR>A</VAR>}} || | | {{math|{{tee}} Γ, <VAR>A</VAR>}} || || || {{math|{{tee}} <VAR>A</VAR><sup>⊥</sup>, Δ}} | ||
|- | |- | ||
| colspan=4 style="border-top:2px solid black;" | | | colspan=4 style="border-top:2px solid black;" | | ||
| Line 158: | Line 157: | ||
|} | |} | ||
The cut rule can be seen as a way of composing proofs, and initial sequents serve as the [[identity element|units]] for composition. In a certain sense these rules are redundant: as we introduce additional rules for building proofs below, we will | The cut rule can be seen as a way of composing proofs, and initial sequents serve as the [[identity element|units]] for composition. In a certain sense these rules are redundant: as we introduce additional rules for building proofs below, we will obtain the property that arbitrary initial sequents can be derived from atomic initial sequents, and that whenever a sequent is provable it can be given a cut-free proof. | ||
Ultimately, this [[canonical form]] property (which can be divided into the [[completeness of atomic initial sequents]] and the [[cut-elimination theorem]], inducing a notion of [[analytic proof]]) lies behind the applications of linear logic in computer science, since it allows the logic to be used in proof search and as a resource-aware [[lambda-calculus]]. | Ultimately, this [[canonical form]] property (which can be divided into the [[completeness of atomic initial sequents]] and the [[cut-elimination theorem]], inducing a notion of [[analytic proof]]) lies behind the applications of linear logic in computer science, since it allows the logic to be used in proof search and as a resource-aware [[lambda-calculus]]. | ||
| Line 174: | Line 173: | ||
{| border="0" | {| border="0" | ||
|- | |- | ||
| {{math|{{tee}} Γ, <VAR>A</VAR>}} || | | {{math|{{tee}} Γ, <VAR>A</VAR>}} || || || {{math|{{tee}} Δ, <VAR>B</VAR>}} | ||
|- | |- | ||
| colspan=4 style="border-top:2px solid black;" | | | colspan=4 style="border-top:2px solid black;" | | ||
| Line 199: | Line 198: | ||
{| border="0" | {| border="0" | ||
|- | |- | ||
| | | | ||
|- | |- | ||
| colspan=4 style="border-top:2px solid black;" | | | colspan=4 style="border-top:2px solid black;" | | ||
| Line 222: | Line 221: | ||
===Additives=== | ===Additives=== | ||
The rules for additive conjunction (&) and disjunction (⊕) : | The rules for additive conjunction (&) and disjunction (⊕): | ||
{| style="margin:auto" | {| style="margin:auto" | ||
| Line 229: | Line 228: | ||
{| border="0" | {| border="0" | ||
|- | |- | ||
| {{math|{{tee}} Γ, <VAR>A</VAR>}} || | | {{math|{{tee}} Γ, <VAR>A</VAR>}} || || || {{math|{{tee}} Γ, <VAR>B</VAR>}} | ||
|- | |- | ||
| colspan=4 style="border-top:2px solid black;" | | | colspan=4 style="border-top:2px solid black;" | | ||
| Line 264: | Line 263: | ||
{| border="0" | {| border="0" | ||
|- | |- | ||
| | | | ||
|- | |- | ||
| colspan=4 style="border-top:2px solid black;" | | | colspan=4 style="border-top:2px solid black;" | | ||
| Line 336: | Line 335: | ||
In addition to the [[De Morgan's laws|De Morgan dualities]] described above, some important equivalences in linear logic include: | In addition to the [[De Morgan's laws|De Morgan dualities]] described above, some important equivalences in linear logic include: | ||
; Distributivity : | ; Distributivity: | ||
{| style="margin:auto" border="0" | {| style="margin:auto" border="0" | ||
| Line 360: | Line 359: | ||
(Here {{math|<VAR>A</VAR> ≣ <VAR>B</VAR>}} is {{math|(<VAR>A</VAR> ⊸ <VAR>B</VAR>) & (<VAR>B</VAR> ⊸ <VAR>A</VAR>)}}.) | (Here {{math|<VAR>A</VAR> ≣ <VAR>B</VAR>}} is {{math|(<VAR>A</VAR> ⊸ <VAR>B</VAR>) & (<VAR>B</VAR> ⊸ <VAR>A</VAR>)}}.) | ||
; Exponential isomorphism : | ; Exponential isomorphism: | ||
{| style="margin:auto" border="0" | {| style="margin:auto" border="0" | ||
| Line 369: | Line 368: | ||
|} | |} | ||
; Linear distributions : | ; Linear distributions: | ||
A map that is not an isomorphism yet plays a crucial role in linear logic is: | A map that is not an isomorphism yet plays a crucial role in linear logic is: | ||
| Line 380: | Line 379: | ||
Linear distributions are fundamental in the proof theory of linear logic. The consequences of this map were first investigated in Cockett & Seely (1997) and called a "weak distribution".{{sfn|Cockett|Seely|1997}} In subsequent work it was renamed to "linear distribution" to reflect the fundamental connection to linear logic. | Linear distributions are fundamental in the proof theory of linear logic. The consequences of this map were first investigated in Cockett & Seely (1997) and called a "weak distribution".{{sfn|Cockett|Seely|1997}} In subsequent work it was renamed to "linear distribution" to reflect the fundamental connection to linear logic. | ||
; Other implications : | ; Other implications: | ||
The following distributivity formulas are not in general an equivalence, only an implication: | The following distributivity formulas are not in general an equivalence, only an implication: | ||
| Line 412: | Line 411: | ||
|} | |} | ||
== | ==Extending classical/intuitionistic logic== | ||
Both intuitionistic and classical implication can be recovered from linear implication by inserting exponentials: intuitionistic implication is encoded as {{math|!<VAR>A</VAR> ⊸ <VAR>B</VAR>}}, while classical implication can be encoded as {{math|!?<VAR>A</VAR> ⊸ ?<VAR>B</VAR>}} or {{math|!<VAR>A</VAR> ⊸ ?!<VAR>B</VAR>}} (or a variety of alternative possible translations).{{sfn|Di Cosmo|1996}} The idea is that exponentials allow us to use a formula as many times as we need, which is always possible in classical and intuitionistic logic. | Both intuitionistic and classical implication can be recovered from linear implication by inserting exponentials: intuitionistic implication is encoded as {{math|!<VAR>A</VAR> ⊸ <VAR>B</VAR>}}, while classical implication can be encoded as {{math|!?<VAR>A</VAR> ⊸ ?<VAR>B</VAR>}} or {{math|!<VAR>A</VAR> ⊸ ?!<VAR>B</VAR>}} (or a variety of alternative possible translations).{{sfn|Di Cosmo|1996}} The idea is that exponentials allow us to use a formula as many times as we need, which is always possible in classical and intuitionistic logic. | ||
| Line 418: | Line 417: | ||
Formally, there exists a translation of formulas of intuitionistic logic to formulas of linear logic in a way that guarantees that the original formula is provable in intuitionistic logic if and only if the translated formula is provable in linear logic. Using the [[Gödel–Gentzen negative translation]], we can thus embed classical [[first-order logic]] into linear first-order logic. | Formally, there exists a translation of formulas of intuitionistic logic to formulas of linear logic in a way that guarantees that the original formula is provable in intuitionistic logic if and only if the translated formula is provable in linear logic. Using the [[Gödel–Gentzen negative translation]], we can thus embed classical [[first-order logic]] into linear first-order logic. | ||
== | ==Proof systems== | ||
===Proof nets=== | ===Proof nets=== | ||
| Line 474: | Line 458: | ||
==Semantics== | ==Semantics== | ||
{{ | Multiple distinct semantics have been developed for linear logic, reflecting its complex nature as a resource-sensitive logical system. Unlike classical or intuitionistic logic, linear logic distinguishes between different ways of combining formulas and treats assumptions as finite resources that are consumed during proof rather than being endlessly reproducible.<ref>{{Cite journal |last=Jean-Yves |first=Girard |title=LINEAR LOGIC: ITS SYNTAX AND SEMANTICS |url=https://girard.perso.math.cnrs.fr/Synsem.pdf |journal=Linear Logic: Its Syntax and Semantics |pages=42}}</ref> | ||
=== | |||
{{ | The main semantic approaches include: | ||
; Phase semantics: An early model focusing on provability.{{citation needed|date=October 2025}} | |||
; [[Categorical semantics]]: An algebraic framework that models proofs as [[morphism]]s. The appropriate category is a subcategory of complete, separated, [[vector bornology|bornological vector space]] with [[continuous linear map]]s.<ref>{{cite journal|url=https://www.pps.jussieu.fr/~ehrhard/pub/convenient.pdf|title=A convenient differential category|first1=Richard|last1=Blute|first2=Thomas|last2=Ehrhard|first3=Christine|last3=Tasson|date=January 13, 2011}}</ref> | |||
; Game semantics: An interactive model that interprets formulas as games and proofs as strategies.<ref>Andreas Blass: "A game semantics for linear logic", ''Annals of Pure and Applied Logic'', vol. 56 (1992) pp. 183–220.</ref> | |||
; Denotational semantics: A model that interprets proofs as mathematical objects.<ref>{{Citation |last1=Di Cosmo |first1=Roberto |title=Linear Logic |date=2023 |encyclopedia=The Stanford Encyclopedia of Philosophy |editor-last=Zalta |editor-first=Edward N. |url=https://plato.stanford.edu/archives/fall2023/entries/logic-linear/ |access-date=2025-09-20 |edition=Fall 2023 |publisher=Metaphysics Research Lab, Stanford University |last2=Miller |first2=Dale |editor2-last=Nodelman |editor2-first=Uri}}</ref> | |||
The [[algebraic semantics (math)|algebraic semantics]] of linear logic is that of [[quantale]]s.{{citation needed|date=October 2025}} | |||
In [[linguistics]], linear logic models grammatical [[parsing]] as [[logical deduction|deduction]]. In that circumstance, a valid parse tree corresponds to proving the existence of a sentence using implication rules encoding the grammar.<ref>{{Cite web|title=Linear Logic for Linguists|first1=Dick|last1=Crouch|first2=Josef|last2=van Genabith|date=20 June 2000|url=https://www.asc.ohio-state.edu/pollard.4/681/crouch.pdf<!--Document says a later version might be available at Crouch's Xerox PARC page, but one never materialized before his page went down-->|page=8}}</ref> | |||
===The resource interpretation=== | |||
Lafont (1993) first showed how intuitionistic linear logic can be explained as a logic of resources, so providing the logical language with access to formalisms that can be used for reasoning about resources within the logic itself, rather than, as in classical logic, by means of non-logical predicates and relations. [[Tony Hoare]] (1985){{full citation needed|date=October 2025}} used purchases at a [[vending machine]] to illustrate the logic, and culinary transactions have become the traditional example to describe use of the connectives.{{sfn|Crouch|van Genabith|2000|p=15}} | |||
In particular, a ''[[prix fixe]]'' menu corresponds to a linear implication from the price to the meal; either | |||
:(Cash) ⊸ (Meal) | |||
or equivalently | |||
:(Cash)<sup>⊥</sup> ⅋ (Meal) | |||
depending on if implication or par is taken to be the primitive connective. Different courses are then conjoined using tensor, as a purchased meal is guaranteed to consist of both. For example, one might define (Meal) as | |||
:(Meal) := (Appetizer) ⊗ (Main) ⊗ (Dessert) ⊗ (Drink) | |||
The customer's choice is conjoined using &: | |||
:(Appetizer) := (Soup) & (Salad) | |||
indicating that the customer must choose either a soup or a salad. Contrariwise, the restaurant's choice is disjoined using ⊕: if the dessert is seasonal fruits, then it might be well-modeled as | |||
:(Dessert) := (Summer berries) ⊕ (Apple slices) ⊕ (Winter pineapple) ⊕ (Cherries) | |||
Finally, an all-you-can-eat/drink item is modeled with !:{{sfn|Crouch|van Genabith|2000|p=15}} | |||
:(Drink) := (Coffee) & (Tea) & !(Tap water) | |||
In the resource interpretation, the constant 1 denotes the absence of any resource, and so functions as the unit of ⊗ (any formula {{mvar|A}} is equivalent to {{math|''A'' ⊗ 1}}). ⊤ is the unit for & and consumes any unneeded resources; 0 represents a product that cannot be made, and thus serves as the unit of ⊕ (a machine that might produce {{mvar|A}} or {{math|0}} is as good as a machine that always produces {{mvar|A}}, because it will never succeed in producing a 0); and ⊥ denotes unconsumable resources.{{sfn|Crouch|van Genabith|2000|pp=60-61}} | |||
==Decidability/complexity of entailment== | ==Decidability/complexity of entailment== | ||
| Line 485: | Line 495: | ||
* Multiplicative linear logic (MLL): only the multiplicative connectives. MLL entailment is [[NP-complete]], even restricting to [[Horn clauses]] in the purely implicative fragment,{{sfn|Kanovich|1992}} or to atom-free formulas.{{sfn|Lincoln|Winkler|1994}} | * Multiplicative linear logic (MLL): only the multiplicative connectives. MLL entailment is [[NP-complete]], even restricting to [[Horn clauses]] in the purely implicative fragment,{{sfn|Kanovich|1992}} or to atom-free formulas.{{sfn|Lincoln|Winkler|1994}} | ||
* Multiplicative-additive linear logic (MALL): only multiplicatives and additives (i.e., exponential-free). MALL entailment is [[PSPACE-complete]].<ref name="Lincoln+92" /> | * Multiplicative-additive linear logic (MALL): only multiplicatives and additives (i.e., exponential-free). MALL entailment is [[PSPACE-complete]].<ref name="Lincoln+92" /> | ||
* Multiplicative-exponential linear logic (MELL): only multiplicatives and exponentials. By reduction from the reachability problem for [[Petri nets]],{{sfn|Gunter|Gehlot|1989}} MELL entailment must be at least [[EXPSPACE|EXPSPACE-hard]], although decidability itself has had the status of a longstanding open problem. In 2015, a proof of decidability was published in the journal ''[[Theoretical Computer Science (journal)|Theoretical Computer Science]]'',{{sfn|Bimbó|2015}} but was later shown | * Multiplicative-exponential linear logic (MELL): only multiplicatives and exponentials. By reduction from the reachability problem for [[Petri nets]],{{sfn|Gunter|Gehlot|1989}} MELL entailment must be at least [[EXPSPACE|EXPSPACE-hard]], although decidability itself has had the status of a longstanding open problem. In 2015, a proof of decidability was published in the journal ''[[Theoretical Computer Science (journal)|Theoretical Computer Science]]'',{{sfn|Bimbó|2015}} but was later shown erroneous.{{sfn|Straßburger|2019}} | ||
* Affine linear logic (that is linear logic with weakening, an extension rather than a fragment) was shown to be decidable, in 1995.{{sfn|Kopylov|1995}} | * [[affine logic|Affine linear logic]] (that is linear logic with weakening, an extension rather than a fragment) was shown to be decidable, in 1995.{{sfn|Kopylov|1995}} | ||
==Variants== | ==Variants== | ||
| Line 492: | Line 503: | ||
* [[Affine logic]], which forbids contraction but allows global weakening (a decidable extension). | * [[Affine logic]], which forbids contraction but allows global weakening (a decidable extension). | ||
* [[Strict logic]] or [[ | * [[Strict logic]] or [[relevance logic]], which forbids weakening but allows global contraction. | ||
* [[Noncommutative logic|Non-commutative logic]] or ordered logic, which removes the rule of exchange, in addition to barring weakening and contraction. In ordered logic, linear implication divides further into left-implication and right-implication. | * [[Noncommutative logic|Non-commutative logic]] or ordered logic, which removes the rule of exchange, in addition to barring weakening and contraction. In ordered logic, linear implication divides further into left-implication and right-implication. | ||
| Line 517: | Line 528: | ||
==References== | ==References== | ||
*{{cite journal|last1=Baez|first1=John|author1-link=John Baez|last2=Stay|first2=Mike|year=2008|title=Physics, Topology, Logic and Computation: A Rosetta Stone|journal=New Structures of Physics|editor=Bob Coecke|editor-link=Bob Coecke|url=http://math.ucr.edu/home/baez/rosetta.pdf}} | *{{cite journal|last1=Baez|first1=John|author1-link=John Baez|last2=Stay|first2=Mike|year=2008|title=Physics, Topology, Logic and Computation: A Rosetta Stone|journal=New Structures of Physics|editor=Bob Coecke|editor-link=Bob Coecke|url=http://math.ucr.edu/home/baez/rosetta.pdf}} | ||
*{{Cite journal|last=Bimbó|first=Katalin|author-link=Katalin Bimbó|date=2015-09-13|title=The decidability of the intensional fragment of classical linear logic|journal=Theoretical Computer Science|volume=597|pages=1–17|doi=10.1016/j.tcs.2015.06.019|issn=0304-3975|doi-access=free}} | *{{Cite journal|last=Bimbó|first=Katalin|author-link=Katalin Bimbó|date=2015-09-13|title=The decidability of the intensional fragment of classical linear logic|journal=Theoretical Computer Science|volume=597|pages=1–17|doi=10.1016/j.tcs.2015.06.019|issn=0304-3975|doi-access=free}} | ||
*{{cite journal|last1=Cockett|first1=J. Robin|author1-link=Robin Cockett|last2=Seely|first2=Robert|year=1997|title=Weakly distributive categories|journal=[[Journal of Pure and Applied Algebra]]|volume=114|issue=2|pages=133–173|doi=10.1016/0022-4049(95)00160-3 }} | |||
*{{cite journal|last1=Cockett|first1=J. Robin|author1-link=Robin Cockett|last2=Seely|first2=Robert|year=1997|title=Weakly distributive categories|journal=Journal of Pure and Applied Algebra|volume=114|issue=2|pages=133–173|doi=10.1016/0022-4049(95)00160-3 }} | |||
*{{cite book|last=Di Cosmo|first=Roberto|year=1996|title=The Linear Logic Primer|type=Course notes|chapter=2|url=http://www.dicosmo.org/CourseNotes/LinLog/}} | *{{cite book|last=Di Cosmo|first=Roberto|year=1996|title=The Linear Logic Primer|type=Course notes|chapter=2|url=http://www.dicosmo.org/CourseNotes/LinLog/}} | ||
*{{cite journal|last1=De Paiva|first1=V.|author1-link=Valeria de Paiva|last2=Van Genabith|first2=J.|last3=Ritter|first3=E.|year=1999|title=Dagstuhl Seminar 99341 on Linear Logic and Applications|journal=Drops-Idn/V2/Document/10.4230/Dagsemrep.248|pages=1–21|publisher=Schloss Dagstuhl – Leibniz-Zentrum für Informatik|doi=10.4230/DagSemRep.248|doi-access=free|url=http://www.dagstuhl.de/Reports/99/99341.pdf}} | *{{cite journal|last1=De Paiva|first1=V.|author1-link=Valeria de Paiva|last2=Van Genabith|first2=J.|last3=Ritter|first3=E.|year=1999|title=Dagstuhl Seminar 99341 on Linear Logic and Applications|journal=Drops-Idn/V2/Document/10.4230/Dagsemrep.248|pages=1–21|publisher=Schloss Dagstuhl – Leibniz-Zentrum für Informatik|doi=10.4230/DagSemRep.248|doi-access=free|url=http://www.dagstuhl.de/Reports/99/99341.pdf}} | ||
*{{cite journal|last1=Girard|first1=Jean-Yves|author1-link=Jean-Yves Girard|year=1987|title=Linear logic|journal=Theoretical Computer Science|volume=50|issue=1|pages=1–102|doi=10.1016/0304-3975(87)90045-4|hdl=10338.dmlcz/120513|url=https://girard.perso.math.cnrs.fr/linear.pdf|doi-access=free}} | *{{cite journal|last1=Girard|first1=Jean-Yves|author1-link=Jean-Yves Girard|year=1987|title=Linear logic|journal=Theoretical Computer Science|volume=50|issue=1|pages=1–102|doi=10.1016/0304-3975(87)90045-4|hdl=10338.dmlcz/120513|url=https://girard.perso.math.cnrs.fr/linear.pdf|doi-access=free}} | ||
*{{Cite tech report|last1=Gunter|first1=C. A.|last2=Gehlot|first2=V.|year=1989|title=Nets as Tensor Theories|institution=University of Pennsylvania|number=MS-CIS-89-68|url=http://seclab.illinois.edu/wp-content/uploads/2011/04/GunterG89.pdf}} | *{{Cite tech report|last1=Gunter|first1=C. A.|last2=Gehlot|first2=V.|year=1989|title=Nets as Tensor Theories|institution=University of Pennsylvania|number=MS-CIS-89-68|url=http://seclab.illinois.edu/wp-content/uploads/2011/04/GunterG89.pdf}} | ||
*{{Cite conference|last=Kanovich|first=Max I.|date=1992-06-22|title=Horn programming in linear logic is NP-complete|conference=Seventh Annual [[IEEE Symposium on Logic in Computer Science]], 1992. LICS '92. Proceedings|book-title=Seventh Annual IEEE Symposium on Logic in Computer Science, 1992. LICS '92. Proceedings|pages=200–210|doi=10.1109/LICS.1992.185533|isbn=0-8186-2735-2}} | |||
*{{Cite conference|last=Kanovich|first=Max I.|date=1992-06-22|title=Horn programming in linear logic is NP-complete|conference=Seventh Annual IEEE Symposium on Logic in Computer Science, 1992. LICS '92. Proceedings|book-title=Seventh Annual IEEE Symposium on Logic in Computer Science, 1992. LICS '92. Proceedings|pages=200–210|doi=10.1109/LICS.1992.185533|isbn=0-8186-2735-2}} | |||
*{{Cite conference|last=Kopylov|first=A. P.|date=1995-06-01|title=Decidability of linear affine logic|conference=Tenth Annual IEEE Symposium on Logic in Computer Science, 1995. LICS '95. Proceedings|book-title=Tenth Annual IEEE Symposium on Logic in Computer Science, 1995. LICS '95. Proceedings|pages=496–504|doi=10.1109/LICS.1995.523283|citeseerx=10.1.1.23.9226|isbn=0-8186-7050-9}} | *{{Cite conference|last=Kopylov|first=A. P.|date=1995-06-01|title=Decidability of linear affine logic|conference=Tenth Annual IEEE Symposium on Logic in Computer Science, 1995. LICS '95. Proceedings|book-title=Tenth Annual IEEE Symposium on Logic in Computer Science, 1995. LICS '95. Proceedings|pages=496–504|doi=10.1109/LICS.1995.523283|citeseerx=10.1.1.23.9226|isbn=0-8186-7050-9}} | ||
*{{cite journal|last1=Lincoln|first1=Patrick|last2=Mitchell|first2=John|last3=Scedrov|first3=Andre|last4=Shankar|first4=Natarajan|year=1992|title=Decision Problems for Propositional Linear Logic|journal=[[Annals of Pure and Applied Logic]]|volume=56|issue=1–3|pages=239–311|doi=10.1016/0168-0072(92)90075-B|doi-access=free}} | |||
*{{cite journal|last1=Lincoln|first1=Patrick|last2=Mitchell|first2=John|last3=Scedrov|first3=Andre|last4=Shankar|first4=Natarajan|year=1992|title=Decision Problems for Propositional Linear Logic|journal=Annals of Pure and Applied Logic|volume=56|issue=1–3|pages=239–311|doi=10.1016/0168-0072(92)90075-B|doi-access=free}} | |||
*{{cite journal|last1=Lincoln|first1=Patrick|last2=Winkler|first2=Timothy|year=1994|title=Constant-only multiplicative linear logic is NP-complete|journal=Theoretical Computer Science|volume=135|pages=155–169|doi=10.1016/0304-3975(94)00108-1|doi-access=free}} | *{{cite journal|last1=Lincoln|first1=Patrick|last2=Winkler|first2=Timothy|year=1994|title=Constant-only multiplicative linear logic is NP-complete|journal=Theoretical Computer Science|volume=135|pages=155–169|doi=10.1016/0304-3975(94)00108-1|doi-access=free}} | ||
*{{Cite journal|last=Straßburger|first=Lutz|date=2019-05-10|title=On the decision problem for MELL|journal=Theoretical Computer Science|volume=768|pages=91–98|doi=10.1016/j.tcs.2019.02.022|issn=0304-3975|doi-access=free}} | *{{Cite journal|last=Straßburger|first=Lutz|date=2019-05-10|title=On the decision problem for MELL|journal=Theoretical Computer Science|volume=768|pages=91–98|doi=10.1016/j.tcs.2019.02.022|issn=0304-3975|doi-access=free}} | ||
==Further reading== | ==Further reading== | ||
* {{nLab|id=linear+logic|title=Linear logic}} | |||
* {{cite web |title=Introduction to Linear Logic |last=Braüner| first=Torben|url=http://www.brics.dk/LS/96/6/BRICS-LS-96-6.pdf |date=December 1996|publisher=Basic Research in Computer Science (BRICS)|volume=LS-96/6|series=BRICS Lecture Series |access-date=2025-05-20}} | * {{cite web |title=Introduction to Linear Logic |last=Braüner| first=Torben|url=http://www.brics.dk/LS/96/6/BRICS-LS-96-6.pdf |date=December 1996|publisher=Basic Research in Computer Science (BRICS)|volume=LS-96/6|series=BRICS Lecture Series |access-date=2025-05-20}} | ||
* {{cite book |last1=Di Cosmo |first1=Roberto |last2=Danos |first2=Vincent |year=1992|title=The Linear Logic Primer |url=https://www.dicosmo.org/CourseNotes/LinLog/ }} | * {{cite book |last1=Di Cosmo |first1=Roberto |last2=Danos |first2=Vincent |year=1992|title=The Linear Logic Primer |url=https://www.dicosmo.org/CourseNotes/LinLog/ }} | ||
*{{cite SEP|title=Linear Logic|url-id=logic-linear|date=2023-09-16|edition=Fall 2023|author-last=Di Cosmo|author-first=Roberto|author-last2=Miller|author-first2=Dale |author-link2=Dale Miller (academic)}} | *{{cite SEP|title=Linear Logic|url-id=logic-linear|date=2023-09-16|edition=Fall 2023|author-last=Di Cosmo|author-first=Roberto|author-last2=Miller|author-first2=Dale |author-link2=Dale Miller (academic)}} | ||
* {{cite book |last1=Girard |first1=Jean-Yves |last2=Lafont |first2=Yves |last3=Taylor |first3=Paul |year=1989 |title=Proofs and Types |publisher=Cambridge University Press |url=http://www.cs.man.ac.uk/~pt/stable/Proofs+Types.html |archive-url=https://web.archive.org/web/20160704202340/http://www.cs.man.ac.uk/~pt/stable/Proofs+Types.html |archive-date=4 July 2016 }} | * {{cite book |last1=Girard |first1=Jean-Yves |last2=Lafont |first2=Yves |last3=Taylor |first3=Paul |year=1989 |title=Proofs and Types |publisher=Cambridge University Press |url=http://www.cs.man.ac.uk/~pt/stable/Proofs+Types.html |archive-url=https://web.archive.org/web/20160704202340/http://www.cs.man.ac.uk/~pt/stable/Proofs+Types.html |archive-date=4 July 2016 }} | ||
* {{cite book |last=Hoare |first=C. A. R. |year=1985 |title=Communicating Sequential Processes |publisher=Prentice-Hall International |isbn=0-13-153271-5 }} | * {{cite book |last=Hoare |first=C. A. R. |year=1985 |title=Communicating Sequential Processes |publisher=Prentice-Hall International |isbn=0-13-153271-5 }} | ||
*{{cite conference | last = Lafont | first = Yves | year = 1993 | title = Introduction to Linear Logic | book-title = TEMPUS Summer School on Algebraic and Categorical Methods in Computer Science | location = Brno, Czech Republic | type = Lecture notes}} | *{{cite conference | last = Lafont | first = Yves | year = 1993 | title = Introduction to Linear Logic | book-title = TEMPUS Summer School on Algebraic and Categorical Methods in Computer Science | location = Brno, Czech Republic | type = Lecture notes}} | ||
* {{cite web |title=Introduction to Linear Logic |last=Lincoln |first=Patrick|url=http://www.csl.sri.com/~lincoln/papers/sigact92.ps |format=Postscript }} | * {{cite web |title=Introduction to Linear Logic |last=Lincoln |first=Patrick|url=http://www.csl.sri.com/~lincoln/papers/sigact92.ps |format=Postscript }} | ||
* {{cite book|last=Miller |first=Dale |year=2004 |chapter=Overview of Linear Logic Programming |title=Linear Logic in Computer Science |editor1-last=Ehrhard |editor2-last=Girard |editor3-last=Ruet |editor4-last=Scott |publisher=Cambridge University Press |series=London Mathematical Society Lecture Notes |volume=316 |url=http://www.lix.polytechnique.fr/Labo/Dale.Miller/papers/llp.pdf }} | * {{cite book|last=Miller |first=Dale |year=2004 |chapter=Overview of Linear Logic Programming |title=Linear Logic in Computer Science |editor1-last=Ehrhard |editor2-last=Girard |editor3-last=Ruet |editor4-last=Scott |publisher=Cambridge University Press |series=London Mathematical Society Lecture Notes |volume=316 |url=http://www.lix.polytechnique.fr/Labo/Dale.Miller/papers/llp.pdf }} | ||
* {{cite book | last = Troelstra | first = A. S. | author-link = Anne Sjerp Troelstra | year = 1992 | title = Lectures on Linear Logic | publisher = CSLI Publications | location = Stanford | series = CSLI Lecture Notes | volume = 29 | isbn = 978-0937073773 }} | * {{cite book | last = Troelstra | first = A. S. | author-link = Anne Sjerp Troelstra | year = 1992 | title = Lectures on Linear Logic | publisher = CSLI Publications | location = Stanford | series = CSLI Lecture Notes | volume = 29 | isbn = 978-0937073773 }} | ||
* {{cite book |last1=Troelstra |first1=A. S.| author1-link = Anne Sjerp Troelstra|last2=Schwichtenberg |first2=H. |author2-link=Helmut Schwichtenberg|year=2000|orig-year=1996 |title=Basic Proof Theory |series=Cambridge Tracts in Theoretical Computer Science |volume=43|location=Cambridge |publisher=Cambridge University Press |pages=XII, 417|edition=2nd|isbn=9780521779111|doi=10.1017/CBO9781139168717|oclc=951181823}} | * {{cite book |last1=Troelstra |first1=A. S.| author1-link = Anne Sjerp Troelstra|last2=Schwichtenberg |first2=H. |author2-link=Helmut Schwichtenberg|year=2000|orig-year=1996 |title=Basic Proof Theory |series=Cambridge Tracts in Theoretical Computer Science |volume=43|location=Cambridge |publisher=Cambridge University Press |pages=XII, 417|edition=2nd|isbn=9780521779111|doi=10.1017/CBO9781139168717|oclc=951181823}} | ||
* {{cite web |title=A Taste of Linear Logic |last=Wadler| first=Philip|url=https://homepages.inf.ed.ac.uk/wadler/topics/linear-logic.html#lineartaste }} | |||
* {{cite web |title=A Taste of Linear Logic |last=Wadler| first=Philip|url= | |||
==External links== | ==External links== | ||
* {{Commons category-inline}} | * {{Commons category-inline}} | ||
* [http://bach.istc.kobe-u.ac.jp/llprover/ A Linear Logic Prover (llprover)] {{Webarchive|url=https://web.archive.org/web/20160404181455/http://bach.istc.kobe-u.ac.jp/llprover/ |date=2016-04-04 }}, available for use online, from: Naoyuki Tamura / Dept of CS / Kobe University / Japan | * [http://bach.istc.kobe-u.ac.jp/llprover/ A Linear Logic Prover (llprover)] {{Webarchive|url=https://web.archive.org/web/20160404181455/http://bach.istc.kobe-u.ac.jp/llprover/ |date=2016-04-04 }}, available for use online, from: Naoyuki Tamura / Dept of CS / Kobe University / Japan | ||
* [https://click-and-collect.linear-logic.org/ Click And Collect] interactive linear logic prover, available online | * [https://click-and-collect.linear-logic.org/ Click And Collect] interactive linear logic prover, available online | ||
* {{cite web|url=http://adelelopez.com/visual-linear-logic|title=Visual Linear Logic|date=2020-06-07|first=Adele|last=Lopez}} — a visual calculus for statements and deduction in linear logic | |||
{{Non-classical logic}} | {{Non-classical logic}} | ||
Latest revision as of 07:40, 9 December 2025
Template:Short description Script error: No such module "redirect hatnote". Template:Use dmy dates Linear logic is a substructural logic proposed by French logician Jean-Yves Girard as a refinement of classical and intuitionistic logic, joining the dualities of the former with many of the constructive properties of the latter.Template:Sfn Although the logic has also been studied for its own sake, more broadly, ideas from linear logic have been influential in fields such as programming languages, game semantics, and quantum physics (because linear logic can be seen as the logic of quantum information theory),Template:Sfn as well as linguistics,Template:Sfn particularly because of its emphasis on resource-boundedness, duality, and interaction.
Linear logic lends itself to many different presentations, explanations, and intuitions. Proof-theoretically, it derives from an analysis of classical sequent calculus in which uses of (the structural rules) contraction and weakening are carefully controlled. Operationally, this means that logical deduction is no longer merely about an ever-expanding collection of persistent "truths", but also a way of manipulating resources that cannot always be duplicated or thrown away at will. In terms of simple denotational models, linear logic may be seen as refining the interpretation of intuitionistic logic by replacing cartesian (closed) categories by symmetric monoidal (closed) categories, or the interpretation of classical logic by replacing Boolean algebras by C*-algebras.Script error: No such module "Unsubst".
Connectives, duality, and polarity
Syntax
Script error: No such module "anchor". The language of classical linear logic (CLL) is defined inductively by the BNF notation
| AScript error: No such module "Check for unknown parameters". | ::= | p ∣ p⊥Script error: No such module "Check for unknown parameters". |
| ∣Script error: No such module "Check for unknown parameters". | A ⊗ A ∣ A ⊕ AScript error: No such module "Check for unknown parameters". | |
| ∣Script error: No such module "Check for unknown parameters". | A & A ∣ A ⅋ AScript error: No such module "Check for unknown parameters". | |
| ∣Script error: No such module "Check for unknown parameters". | 1 ∣ 0 ∣ ⊤ ∣ ⊥Script error: No such module "Check for unknown parameters". | |
| ∣Script error: No such module "Check for unknown parameters". | !A ∣ ?AScript error: No such module "Check for unknown parameters". |
Here pScript error: No such module "Check for unknown parameters". and p⊥Script error: No such module "Check for unknown parameters". range over logical atoms. For reasons to be explained below, the connectives ⊗, ⅋, 1, and ⊥ are called multiplicatives, the connectives &, ⊕, ⊤, and 0 are called additives, and the connectives ! and ? are called exponentials. We can further employ the following terminology:
| Symbol | Name | |||
|---|---|---|---|---|
| ⊗ | multiplicative conjunction | times | tensor | |
| ⊕ | additive disjunction | plus | ||
| & | additive conjunction | with | ||
| Script error: No such module "anchor".⅋ | multiplicative disjunction | par | ||
| ! | of course | bang | ||
| ? | why not | quest | ||
Binary connectives ⊗, ⊕, & and ⅋ are associative and commutative; 1 is the unit for ⊗, 0 is the unit for ⊕, ⊥ is the unit for ⅋ and ⊤ is the unit for &.
Every proposition AScript error: No such module "Check for unknown parameters". in CLL has a dual A⊥Script error: No such module "Check for unknown parameters"., defined as follows:
| (p)⊥ = p⊥Script error: No such module "Check for unknown parameters". | (p⊥)⊥ = pScript error: No such module "Check for unknown parameters". | ||||
| (A ⊗ B)⊥ = A⊥ ⅋ B⊥Script error: No such module "Check for unknown parameters". | (A ⅋ B)⊥ = A⊥ ⊗ B⊥Script error: No such module "Check for unknown parameters". | ||||
| (A ⊕ B)⊥ = A⊥ & B⊥Script error: No such module "Check for unknown parameters". | (A & B)⊥ = A⊥ ⊕ B⊥Script error: No such module "Check for unknown parameters". | ||||
| (1)⊥ = ⊥Script error: No such module "Check for unknown parameters". | (⊥)⊥ = 1Script error: No such module "Check for unknown parameters". | ||||
| (0)⊥ = ⊤Script error: No such module "Check for unknown parameters". | (⊤)⊥ = 0Script error: No such module "Check for unknown parameters". | ||||
| (!A)⊥ = ?(A⊥)Script error: No such module "Check for unknown parameters". | (?A)⊥ = !(A⊥)Script error: No such module "Check for unknown parameters". |
| add | mul | exp | |
|---|---|---|---|
| pos | ⊕ 0 | ⊗ 1 | ! |
| neg | & ⊤ | ⅋ ⊥ | ? |
Observe that (-)⊥Script error: No such module "Check for unknown parameters". is an involution, i.e., A⊥⊥ = AScript error: No such module "Check for unknown parameters". for all propositions. A⊥Script error: No such module "Check for unknown parameters". is also called the linear negation of AScript error: No such module "Check for unknown parameters"..
The columns of the table suggest another way of classifying the connectives of linear logic, termed Template:Em: the connectives negated in the left column (⊗, ⊕, 1, 0, !) are called positive, while their duals on the right (⅋, &, ⊥, ⊤, ?) are called negative; cf. table on the right.
Template:Em is not included in the grammar of connectives, but is definable in CLL using linear negation and multiplicative disjunction, by A ⊸ B:= A⊥ ⅋ BScript error: No such module "Check for unknown parameters".. The connective ⊸ is sometimes pronounced "lollipop", owing to its shape.
Sequent calculus presentation
One way of defining linear logic is as a sequent calculus. We use the letters ΓScript error: No such module "Check for unknown parameters". and ΔScript error: No such module "Check for unknown parameters". to range over finite lists of propositions A1, ..., AnScript error: No such module "Check for unknown parameters"., also called contexts. A sequent places a context to the left and the right of the turnstile, written Γ ΔScript error: No such module "Check for unknown parameters".. Intuitively, the sequent asserts that the conjunction of ΓScript error: No such module "Check for unknown parameters". entails the disjunction of ΔScript error: No such module "Check for unknown parameters". (though we mean the "multiplicative" conjunction and disjunction, as explained below). Girard describes classical linear logic using only one-sided sequents (where the left-hand context is empty), and we follow here that more economical presentation. This is possible because any premises to the left of a turnstile can always be moved to the other side and dualised.
We now give inference rules describing how to build proofs of sequents.Template:Sfn
First, to formalize the fact that we do not care about the order of propositions inside a context, we add the structural rule of exchange:
| Γ, A1, A2, ΔScript error: No such module "Check for unknown parameters". |
| Γ, A2, A1, ΔScript error: No such module "Check for unknown parameters". |
Note that we do not add the structural rules of weakening and contraction, because we do care about the absence of propositions in a sequent, and the number of copies present.
Next we add initial sequents and cuts:
|
| ||||||||||||||||
The cut rule can be seen as a way of composing proofs, and initial sequents serve as the units for composition. In a certain sense these rules are redundant: as we introduce additional rules for building proofs below, we will obtain the property that arbitrary initial sequents can be derived from atomic initial sequents, and that whenever a sequent is provable it can be given a cut-free proof. Ultimately, this canonical form property (which can be divided into the completeness of atomic initial sequents and the cut-elimination theorem, inducing a notion of analytic proof) lies behind the applications of linear logic in computer science, since it allows the logic to be used in proof search and as a resource-aware lambda-calculus.
Now, we explain the connectives by giving logical rules. Typically in sequent calculus one gives both "right-rules" and "left-rules" for each connective, essentially describing two modes of reasoning about propositions involving that connective (e.g., verification and falsification). In a one-sided presentation, one instead makes use of negation: the right-rules for a connective (say ⅋) effectively play the role of left-rules for its dual (⊗). So, we should expect a certain "harmony" between the rule(s) for a connective and the rule(s) for its dual.
Multiplicatives
The rules for multiplicative conjunction (⊗) and disjunction (⅋):
|
| ||||||||||||||||
and for their units:
|
| |||||||||||||
Observe that the rules for multiplicative conjunction and disjunction are admissible for plain conjunction and disjunction under a classical interpretation (i.e., they are admissible rules in LK).
Additives
The rules for additive conjunction (&) and disjunction (⊕):
|
|
| ||||||||||||||||||||
and for their units:
|
(no rule for 0Script error: No such module "Check for unknown parameters".) | ||||||||||
Observe that the rules for additive conjunction and disjunction are again admissible under a classical interpretation. But now we can explain the basis for the multiplicative/additive distinction in the rules for the two different versions of conjunction: for the multiplicative connective (⊗), the context of the conclusion (Γ, ΔScript error: No such module "Check for unknown parameters".) is split up between the premises, whereas for the additive case connective (&) the context of the conclusion (ΓScript error: No such module "Check for unknown parameters".) is carried whole into both premises.
Exponentials
The exponentials are used to give controlled access to weakening and contraction. Specifically, we add structural rules of weakening and contraction for ?Script error: No such module "Check for unknown parameters".'d propositions:Template:Sfn
|
|
and use the following logical rules, in which ?ΓScript error: No such module "Check for unknown parameters". stands for a list of propositions each prefixed with ?Script error: No such module "Check for unknown parameters".:
|
|
One might observe that the rules for the exponentials follow a different pattern from the rules for the other connectives, resembling the inference rules governing modalities in sequent calculus formalisations of the normal modal logic S4, and that there is no longer such a clear symmetry between the duals !Script error: No such module "Check for unknown parameters". and ?Script error: No such module "Check for unknown parameters".. This situation is remedied in alternative presentations of CLL (e.g., the LU presentation).
Remarkable formulas
In addition to the De Morgan dualities described above, some important equivalences in linear logic include:
- Distributivity
| A ⊗ (B ⊕ C) ≣ (A ⊗ B) ⊕ (A ⊗ C)Script error: No such module "Check for unknown parameters". |
| (A ⊕ B) ⊗ C ≣ (A ⊗ C) ⊕ (B ⊗ C)Script error: No such module "Check for unknown parameters". |
| A ⅋ (B & C) ≣ (A ⅋ B) & (A ⅋ C)Script error: No such module "Check for unknown parameters". |
| (A & B) ⅋ C ≣ (A ⅋ C) & (B ⅋ C)Script error: No such module "Check for unknown parameters". |
By definition of A ⊸ BScript error: No such module "Check for unknown parameters". as A⊥ ⅋ BScript error: No such module "Check for unknown parameters"., the last two distributivity laws also give:
| A ⊸ (B & C) ≣ (A ⊸ B) & (A ⊸ C)Script error: No such module "Check for unknown parameters". |
| (A ⊕ B) ⊸ C ≣ (A ⊸ C) & (B ⊸ C)Script error: No such module "Check for unknown parameters". |
(Here A ≣ BScript error: No such module "Check for unknown parameters". is (A ⊸ B) & (B ⊸ A)Script error: No such module "Check for unknown parameters"..)
- Exponential isomorphism
| !(A & B) ≣ !A ⊗ !BScript error: No such module "Check for unknown parameters". |
| ?(A ⊕ B) ≣ ?A ⅋ ?BScript error: No such module "Check for unknown parameters". |
- Linear distributions
A map that is not an isomorphism yet plays a crucial role in linear logic is:
| (A ⊗ (B ⅋ C)) ⊸ ((A ⊗ B) ⅋ C)Script error: No such module "Check for unknown parameters". |
Linear distributions are fundamental in the proof theory of linear logic. The consequences of this map were first investigated in Cockett & Seely (1997) and called a "weak distribution".Template:Sfn In subsequent work it was renamed to "linear distribution" to reflect the fundamental connection to linear logic.
- Other implications
The following distributivity formulas are not in general an equivalence, only an implication:
| !A ⊗ !B ⊸ !(A ⊗ B)Script error: No such module "Check for unknown parameters". |
| !A ⊕ !B ⊸ !(A ⊕ B)Script error: No such module "Check for unknown parameters". |
| ?(A ⅋ B) ⊸ ?A ⅋ ?BScript error: No such module "Check for unknown parameters". |
| ?(A & B) ⊸ ?A & ?BScript error: No such module "Check for unknown parameters". |
| (A & B) ⊗ C ⊸ (A ⊗ C) & (B ⊗ C)Script error: No such module "Check for unknown parameters". |
| (A & B) ⊕ C ⊸ (A ⊕ C) & (B ⊕ C)Script error: No such module "Check for unknown parameters". |
| (A ⅋ C) ⊕ (B ⅋ C) ⊸ (A ⊕ B) ⅋ CScript error: No such module "Check for unknown parameters". |
| (A & C) ⊕ (B & C) ⊸ (A ⊕ B) & CScript error: No such module "Check for unknown parameters". |
Extending classical/intuitionistic logic
Both intuitionistic and classical implication can be recovered from linear implication by inserting exponentials: intuitionistic implication is encoded as !A ⊸ BScript error: No such module "Check for unknown parameters"., while classical implication can be encoded as !?A ⊸ ?BScript error: No such module "Check for unknown parameters". or !A ⊸ ?!BScript error: No such module "Check for unknown parameters". (or a variety of alternative possible translations).Template:Sfn The idea is that exponentials allow us to use a formula as many times as we need, which is always possible in classical and intuitionistic logic.
Formally, there exists a translation of formulas of intuitionistic logic to formulas of linear logic in a way that guarantees that the original formula is provable in intuitionistic logic if and only if the translated formula is provable in linear logic. Using the Gödel–Gentzen negative translation, we can thus embed classical first-order logic into linear first-order logic.
Proof systems
Proof nets
Script error: No such module "Labelled list hatnote".
Introduced by Jean-Yves Girard, proof nets have been created to avoid the bureaucracy, that is all the things that make two derivations different in the logical point of view, but not in a "moral" point of view.
For instance, these two proofs are "morally" identical:
|
|
The goal of proof nets is to make them identical by creating a graphical representation of them.
Semantics
Multiple distinct semantics have been developed for linear logic, reflecting its complex nature as a resource-sensitive logical system. Unlike classical or intuitionistic logic, linear logic distinguishes between different ways of combining formulas and treats assumptions as finite resources that are consumed during proof rather than being endlessly reproducible.[1]
The main semantic approaches include:
- Phase semantics
- An early model focusing on provability.Script error: No such module "Unsubst".
- Categorical semantics
- An algebraic framework that models proofs as morphisms. The appropriate category is a subcategory of complete, separated, bornological vector space with continuous linear maps.[2]
- Game semantics
- An interactive model that interprets formulas as games and proofs as strategies.[3]
- Denotational semantics
- A model that interprets proofs as mathematical objects.[4]
The algebraic semantics of linear logic is that of quantales.Script error: No such module "Unsubst".
In linguistics, linear logic models grammatical parsing as deduction. In that circumstance, a valid parse tree corresponds to proving the existence of a sentence using implication rules encoding the grammar.[5]
The resource interpretation
Lafont (1993) first showed how intuitionistic linear logic can be explained as a logic of resources, so providing the logical language with access to formalisms that can be used for reasoning about resources within the logic itself, rather than, as in classical logic, by means of non-logical predicates and relations. Tony Hoare (1985)Script error: No such module "Unsubst". used purchases at a vending machine to illustrate the logic, and culinary transactions have become the traditional example to describe use of the connectives.Template:Sfn
In particular, a prix fixe menu corresponds to a linear implication from the price to the meal; either
- (Cash) ⊸ (Meal)
or equivalently
- (Cash)⊥ ⅋ (Meal)
depending on if implication or par is taken to be the primitive connective. Different courses are then conjoined using tensor, as a purchased meal is guaranteed to consist of both. For example, one might define (Meal) as
- (Meal) := (Appetizer) ⊗ (Main) ⊗ (Dessert) ⊗ (Drink)
The customer's choice is conjoined using &:
- (Appetizer) := (Soup) & (Salad)
indicating that the customer must choose either a soup or a salad. Contrariwise, the restaurant's choice is disjoined using ⊕: if the dessert is seasonal fruits, then it might be well-modeled as
- (Dessert) := (Summer berries) ⊕ (Apple slices) ⊕ (Winter pineapple) ⊕ (Cherries)
Finally, an all-you-can-eat/drink item is modeled with !:Template:Sfn
- (Drink) := (Coffee) & (Tea) & !(Tap water)
In the resource interpretation, the constant 1 denotes the absence of any resource, and so functions as the unit of ⊗ (any formula Template:Mvar is equivalent to A ⊗ 1Script error: No such module "Check for unknown parameters".). ⊤ is the unit for & and consumes any unneeded resources; 0 represents a product that cannot be made, and thus serves as the unit of ⊕ (a machine that might produce Template:Mvar or 0Script error: No such module "Check for unknown parameters". is as good as a machine that always produces Template:Mvar, because it will never succeed in producing a 0); and ⊥ denotes unconsumable resources.Template:Sfn
Decidability/complexity of entailment
The entailment relation in full CLL is undecidable.Template:Refn When considering fragments of CLL, the decision problem has varying complexity:
- Multiplicative linear logic (MLL): only the multiplicative connectives. MLL entailment is NP-complete, even restricting to Horn clauses in the purely implicative fragment,Template:Sfn or to atom-free formulas.Template:Sfn
- Multiplicative-additive linear logic (MALL): only multiplicatives and additives (i.e., exponential-free). MALL entailment is PSPACE-complete.[6]
- Multiplicative-exponential linear logic (MELL): only multiplicatives and exponentials. By reduction from the reachability problem for Petri nets,Template:Sfn MELL entailment must be at least EXPSPACE-hard, although decidability itself has had the status of a longstanding open problem. In 2015, a proof of decidability was published in the journal Theoretical Computer Science,Template:Sfn but was later shown erroneous.Template:Sfn
- Affine linear logic (that is linear logic with weakening, an extension rather than a fragment) was shown to be decidable, in 1995.Template:Sfn
Variants
Many variations of linear logic arise by further tinkering with the structural rules:
- Affine logic, which forbids contraction but allows global weakening (a decidable extension).
- Strict logic or relevance logic, which forbids weakening but allows global contraction.
- Non-commutative logic or ordered logic, which removes the rule of exchange, in addition to barring weakening and contraction. In ordered logic, linear implication divides further into left-implication and right-implication.
Different intuitionistic variants of linear logic have been considered. When based on a single-conclusion sequent calculus presentation, like in ILL (Intuitionistic Linear Logic), the connectives ⅋, ⊥, and ? are absent, and linear implication is treated as a primitive connective. In FILL (Full Intuitionistic Linear Logic) the connectives ⅋, ⊥, and ? are present, linear implication is a primitive connective and, similarly to what happens in intuitionistic logic, all connectives (except linear negation) are independent. There are also first- and higher-order extensions of linear logic, whose formal development is somewhat standard (see first-order logic and higher-order logic).
See also
Script error: No such module "Portal".
- Chu spaces
- Computability logic
- Game semantics
- Geometry of interaction
- Intuitionistic logic
- Linear logic programming
- Linear type system, a substructural type system
- Ludics
- Proof nets
- Uniqueness type
Notes
<templatestyles src="Reflist/styles.css" />
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Andreas Blass: "A game semantics for linear logic", Annals of Pure and Applied Logic, vol. 56 (1992) pp. 183–220.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Cite error: Script error: No such module "Namespace detect".Script error: No such module "Namespace detect".
Script error: No such module "Check for unknown parameters".
References
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
Further reading
- Template:NLab
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
External links
- Template:Sister-inline
- A Linear Logic Prover (llprover) Template:Webarchive, available for use online, from: Naoyuki Tamura / Dept of CS / Kobe University / Japan
- Click And Collect interactive linear logic prover, available online
- Script error: No such module "citation/CS1". — a visual calculus for statements and deduction in linear logic