Lógica lineal ( Lógica lineal inglesa es una lógica subestructural, propuesta por Jean -Yves Girard como un refinamiento de la lógica clásica e intuicionista , combinando la dualidad de la primera con muchas propiedades constructivas de la segunda [1] , introducida y utilizada para el razonamiento lógico que tiene en cuenta el consumo de algún recurso [2 ] . Aunque la lógica también se ha estudiado por derecho propio, las ideas de la lógica lineal encuentran aplicaciones en una variedad de aplicaciones que requieren muchos recursos, incluida la verificación de protocolos de red , lenguajes de programación , teoría de juegos ( semántica de juegos ) [2] y física cuántica (porque la lógica lineal se puede considerar como la lógica de la teoría cuántica de la información ) [3] , la lingüística [4] .
El lenguaje de la lógica lineal clásica ( English classic linear logic, CLL ) se puede describir en la forma Backus-Naur :
UN ::= pags ∣ pags ⊥ | UN ⊗ UN ∣ UN ⊕ UN | UN & UN ∣ UN ⅋ UN | 1 ∣ 0 ∣ ⊤ ∣ ⊥ | ! A∣ ? ADónde
Símbolo | Sentido |
---|---|
⊗ | conjunción multiplicativa ("tensor", ing. "tensor" ) |
⊕ | disyunción aditiva |
& | conjunción aditiva |
⅋ | disyunción multiplicativa ("par", Inglés "par" ) |
! | modalidad " por supuesto " |
? | modalidad " por qué no " |
una | unidad para ⊗ |
0 | cero para ⊕ |
⊤ | nulo para & |
⊥ | unidad de ⅋ |
Los conectores binarios ⊗, ⊕, & y ⅋ son asociativos y conmutativos .
Todo enunciado A en lógica lineal clásica tiene un dual A ⊥ definido de la siguiente manera:
( pags ) ⊥ = pags ⊥ | ( pags ⊥ ) ⊥ = pags | ||||
( UN ⊗ segundo ) ⊥ = UN ⊥ ⅋ segundo ⊥ | ( UN ⅋ segundo ) ⊥ = UN ⊥ ⊗ segundo ⊥ | ||||
( UN ⊕ segundo ) ⊥ = UN ⊥ y segundo ⊥ | ( UNA y segundo ) ⊥ = UNA ⊥ ⊕ segundo ⊥ | ||||
(1) ⊥ = ⊥ | (⊥) ⊥ = 1 | ||||
(0) ⊥ = ⊤ | (⊤) ⊥ = 0 | ||||
(! UN ) ⊥ = ?( UN ⊥ ) | (? UN ) ⊥ = !( UN ⊥ ) |
En lógica lineal (a diferencia de la lógica clásica), las premisas a menudo se tratan como recursos prescindibles , por lo que la fórmula inicial o derivada puede estar limitada en el número de usos.
La conjunción multiplicativa ⊗ es similar a la operación de suma de conjuntos múltiples y puede expresar la unión de recursos.
Tenga en cuenta que (.) ⊥ es una involución , es decir, A ⊥⊥ = A para todas las declaraciones. A ⊥ también se llama la negación lineal de A .
La implicación lineal juega un papel importante en la lógica lineal, aunque no está incluida en la gramática conectiva. Se puede expresar en términos de negación lineal y disyunción multiplicativa
UN ⊸ segundo : = UN ⊥ ⅋ segundo .El ligamento ⊸ a veces se llama "piruleta" ( ing. piruleta ) debido a su forma característica.
Una implicación lineal se puede utilizar en la salida cuando hay recursos en su lado izquierdo y el resultado son los recursos de la implicación lineal derecha. Esta transformación define una función lineal , lo que dio lugar al término "Lógica lineal" [5] .
La modalidad “por supuesto” (!) te permite designar un recurso como inagotable.
Ejemplo. Sea D un dólar y C una barra de chocolate. Entonces la compra de una barra de chocolate se puede denotar como D ⊸ C . La compra se puede expresar de la siguiente manera: D ⊗ !( D ⊸ C ) ⊢ C⊗!( D ⊸ C ) , es decir, que el dólar y la posibilidad de comprar una barra de chocolate con él conducen a una barra de chocolate, y la queda la oportunidad de comprar una barra de chocolate [5] .
A diferencia de la lógica clásica e intuicionista , la lógica lineal tiene dos tipos de conjunciones, lo que permite expresar la limitación de recursos. Agreguemos al ejemplo anterior la posibilidad de comprar una piruleta L. La posibilidad de comprar una barra de chocolate o una piruleta se puede expresar mediante una conjunción aditiva [6] :
D ⊸ L y C
Por supuesto, solo puedes elegir uno. Una conjunción multiplicativa denota la presencia de ambos recursos. Entonces, por dos dólares puedes comprar tanto una barra de chocolate como una piruleta:
re ⊗ re ⊸ L ⊗ C
La disyunción multiplicativa A ⅋ B puede entenderse como “si no A, entonces B”, y la implicación lineal A ⊸ B expresada a través de ella tiene el significado “¿se puede deducir B de A exactamente una vez?” [6]
La disyunción aditiva A ⊕ B denota la posibilidad tanto de A como de B, pero la elección no es tuya [6] . Por ejemplo, una lotería de ganar-ganar en la que puedes ganar una piruleta o una barra de chocolate se puede expresar mediante la disyunción aditiva:
RE ⊸ L ⊕ C
Además de la lógica lineal completa, se utilizan sus fragmentos [7] :
Por supuesto, esta lista no agota todos los fragmentos posibles. Por ejemplo, hay varios fragmentos de Horn que usan implicación lineal (similar a las cláusulas de Horn ) en combinación con varios conectores. [ocho]
Los fragmentos de lógica son de interés para los investigadores en términos de la complejidad de su interpretación computacional. En particular, M.I. Kanovich demostró que un fragmento MLL completo es NP-completo , y un fragmento ⊕-Horn de una lógica lineal con una regla de debilitamiento( Regla de debilitamiento en inglés ) PSPACE-full . Esto puede interpretarse en el sentido de que administrar el uso de recursos es una tarea difícil, incluso en los casos más simples. [ocho]
Una forma de definir la lógica lineal es el cálculo secuente . Las letras Γ y ∆ representan listas de oraciones y se denominan contextos . En una secuencia, el contexto se coloca a la izquierda y derecha de ⊢ ("debería"), por ejemplo: . A continuación se muestra el cálculo secuencial para MLL en formato bidireccional [7] .
Regla estructural - permutación. Las reglas de inferencia izquierda y derecha se dan, respectivamente:
Identidad y sección :
Conjunción multiplicativa:
Disyunción multiplicativa:
Negación:
Se pueden definir reglas similares para la lógica lineal completa, sus aditivos y exponenciales. Tenga en cuenta que las reglas estructurales de debilitamiento y reducción no se han agregado a la lógica lineal , ya que en el caso general las declaraciones (y sus copias) no pueden aparecer y desaparecer aleatoriamente en secuencias, como es habitual en la lógica clásica.
Lógicas | |||||||||
---|---|---|---|---|---|---|---|---|---|
Filosofía • Semántica • Sintaxis • Historia | |||||||||
Grupos lógicos |
| ||||||||
Componentes |
| ||||||||
Lista de símbolos booleanos |