Lineær logik ( engelsk Linear Logic er en substrukturel logik, foreslået af Jean -Yves Girard som en forfining af klassisk og intuitionistisk logik , der kombinerer førstnævntes dualitet med mange konstruktive egenskaber ved sidstnævnte [1] , introduceret og brugt til logisk ræsonnement, der tager højde for forbruget af en eller anden ressource [2] ] . Selvom logik også er blevet undersøgt i sig selv, finder ideerne om lineær logik applikationer i en række ressourcekrævende applikationer, herunder netværksprotokolverifikation , programmeringssprog , spilteori ( spilsemantik ) [ 2] og kvantefysik (fordi lineær logik kan betragtes som kvanteinformationsteoriens logik ) [3] , lingvistik [4] .
Sproget i klassisk lineær logik ( engelsk klassisk lineær logik, CLL ) kan beskrives i Backus-Naur-formen :
A ::= p ∣ p ⊥ | A ⊗ A ∣ A ⊕ A | A & A ∣ A ⅋ A | 1 ∣ 0 ∣ ⊤ ∣ ⊥ | ! A∣ ? ENHvor
Symbol | Betyder |
---|---|
⊗ | multiplikativ konjunktion ("tensor", eng. "tensor" ) |
⊕ | additiv disjunktion |
& | additiv konjunktion |
⅋ | multiplikativ disjunktion ("par", engelsk "par" ) |
! | modalitet " selvfølgelig " |
? | modalitet " hvorfor ikke " |
en | enhed for ⊗ |
0 | nul for ⊕ |
⊤ | null for & |
⊥ | enhed til ⅋ |
De binære bindeled ⊗, ⊕, & og ⅋ er associative og kommutative .
Hvert udsagn A i klassisk lineær logik har en dobbelt A ⊥ defineret som følger:
( p ) ⊥ = p ⊥ | ( p ⊥ ) ⊥ = s | ||||
( A ⊗ B ) ⊥ = A ⊥ ⅋ B ⊥ | ( A ⅋ B ) ⊥ = A ⊥ ⊗ B ⊥ | ||||
( A ⊕ B ) ⊥ = A ⊥ & B ⊥ | ( A & B ) ⊥ = A ⊥ ⊕ B ⊥ | ||||
(1) ⊥ = ⊥ | (⊥) ⊥ = 1 | ||||
(0) ⊥ = ⊤ | (⊤) ⊥ = 0 | ||||
(! A ) ⊥ = ?( A ⊥ ) | (? A ) ⊥ = !( A ⊥ ) |
I lineær logik (i modsætning til klassisk logik) behandles lokalerne ofte som forbrugsressourcer , så den afledte eller indledende formel kan begrænses i antallet af anvendelser.
Den multiplikative konjunktion ⊗ ligner multisæt additionsoperationen og kan udtrykke foreningen af ressourcer.
Bemærk at (.) ⊥ er en involution , det vil sige A ⊥⊥ = A for alle udsagn. A ⊥ kaldes også den lineære negation af A .
Lineær implikation spiller en stor rolle i lineær logik, selvom den ikke er inkluderet i den bindende grammatik. Kan udtrykkes i form af lineær negation og multiplikativ disjunktion
A ⊸ B := A ⊥ ⅋ B .Ledbåndet ⊸ kaldes undertiden "slikkepind" ( eng. slikkepind ) på grund af dets karakteristiske form.
En lineær implikation kan bruges i output, når der er ressourcer på dens venstre side, og resultatet er ressourcerne fra den højre lineære implikation. Denne transformation definerer en lineær funktion , som gav anledning til udtrykket "Lineær logik" [5] .
Modaliteten "selvfølgelig" (!) giver dig mulighed for at udpege en ressource som uudtømmelig.
Eksempel. Lad D være en dollar og C være en chokoladebar. Så kan køb af en chokoladebar betegnes som D ⊸ C . Købet kan udtrykkes således: D ⊗ !( D ⊸ C ) ⊢ C⊗!( D ⊸ C ) , det vil sige, at dollaren og muligheden for at købe en chokoladebar med den fører til en chokoladebar, og mulighed for at købe en chokoladebar er tilbage [5] .
I modsætning til klassisk og intuitionistisk logik har lineær logik to slags konjunktioner, som tillader begrænsningen af ressourcer at blive udtrykt. Lad os tilføje til det foregående eksempel muligheden for at købe en slikkepind L. Muligheden for at købe en chokoladebar eller en slikkepind kan udtrykkes ved hjælp af en additiv konjunktion [6] :
D ⊸ L & C
Du kan selvfølgelig kun vælge én. En multiplikativ konjunktion angiver tilstedeværelsen af begge ressourcer. Så for to dollars kan du købe både en chokoladebar og en slikkepind:
D ⊗ D ⊸ L ⊗ C
Den multiplikative disjunktion A ⅋ B kan forstås som "hvis ikke A, så B", og den lineære implikation A ⊸ B udtrykt gennem den har betydningen "kan B udledes fra A nøjagtigt én gang?" [6]
Den additive disjunktion A ⊕ B betegner muligheden for både A og B, men valget er ikke dit [6] . For eksempel kan et win-win lotteri, hvor du kan vinde en slikkepind eller en chokoladebar, udtrykkes ved hjælp af additiv disjunktion:
D ⊸ L ⊕ C
Ud over fuld lineær logik bruges dens fragmenter [7] :
Selvfølgelig udtømmer denne liste ikke alle mulige fragmenter. For eksempel er der forskellige Horn-fragmenter, der bruger lineær implikation (svarende til Horn-sætninger ) i kombination med forskellige bindeled. [otte]
Fragmenter af logik er af interesse for forskere med hensyn til kompleksiteten af deres beregningsfortolkning. Især M.I. Kanovich beviste, at et komplet MLL-fragment er NP-komplet , og et ⊕-Horn-fragment af en lineær logik med en svækkelsesregel( Engelsk svækkelsesregel ) PSPACE-fuld . Dette kan tolkes til at betyde, at styring af ressourceforbrug er en vanskelig opgave, selv i de mest simple tilfælde. [otte]
En måde at definere lineær logik på er sekventeregningen . Bogstaverne Γ og ∆ står for sætningslister og kaldes sammenhænge . I en sekvens placeres konteksten til venstre og højre for ⊢ ("bør"), for eksempel: . Nedenfor er den sekvente beregning for MLL i to-vejs format [7] .
Strukturel regel - permutation. Venstre og højre inferensregler er givet henholdsvis:
Identitet og sektion :
Multiplikativ konjunktion:
Multiplikativ disjunktion:
Negation:
Lignende regler kan defineres for komplet lineær logik, dens additiver og eksponentialer. Bemærk, at strukturelle regler for svækkelse og reduktion ikke er blevet tilføjet til lineær logik , da udsagn (og deres kopier) i det generelle tilfælde ikke kan optræde og forsvinde tilfældigt i sekvenser, som det er sædvanligt i klassisk logik.
Logik | |||||||||
---|---|---|---|---|---|---|---|---|---|
Filosofi • Semantik • Syntaks • Historie | |||||||||
Logiske grupper |
| ||||||||
Komponenter |
| ||||||||
Liste over booleske symboler |