# Lógica vetorial

Lógica Vetorial é um modelo algébrico da lógica elementar baseado em matrizes algébricas. A lógica vetorial assume que os valores verdade mapeiam em vetores, e que as operações monádicas e diádicas são executadas por operadores matriciais.

## Resumo

A lógica binária é representada por um pequeno conjunto de funções matemáticas dependendo de uma (monádico) ou duas (diádico) variáveis. No conjunto binário, o valor 1 corresponde a verdadeiro e o valor 0 a falso. Uma lógica vetorial bivalorada requer uma correspondência entre os valores-verdade verdadeiro (v) e falso (f), e dois vetores coluna normalizados de dimensão q compostos por números reais s e n, sendo assim:
    $t\mapsto s$ e $f\mapsto n$
(onde $q\geq 2$ é um numero natural qualquer, e “normalizado” quer dizer que o tamanho do vetor é 1; normalmente s e n são vetores ortogonais). Essa correspondência gera um espaço de vetores valores-verdade: V$_2$ = {s,n}. As operações lógicas básicas definidas usando esse conjunto de vetores levam à operadores matriciais.
As operações da lógica vetorial são baseadas no produto escalar entre vetores coluna de dimensão q: $u^{T}v=\langle u,v\rangle$: a ortogonalidade entre vetores s e n implica que $\langle u,v\rangle =1$ se $u=v$, e $\langle u,v\rangle =0$ se $u\neq v$.

### Operadores monádicos

Os operadores monádicos resultam da aplicação $Mon:V_{2}\to V_{2}$, e as matrizes associadas tem q linhas e q colunas. Os dois operadores monádicos básicos para essa lógica vetorial bivalorada são identidade e a negação:
* Identidade: Uma identidade lógica ID(p) é representada pela matriz $I=ss^{T}+nn^{T}$. Essa matriz opera da seguinte forma: Ip = p, p ∈ V$_2$; como an ortogonalidade de s respeita a n, temos que $Is=ss^{T}s+nn^{T}s=s\langle s,s\rangle +n\langle n,s\rangle =s$, e inversamente $In=n$.
* Negação: Uma negação lógica ¬p é representada pela matriz $N=ns^{T}+sn^{T}$. Consequentemente, Ns = n e Nn = s. O comportamento involuntário da negação lógica, ou seja, ¬(¬p) é igual à p, corresponde com o fato de que N$^2$ = I. É importante notar que essa matriz identidade da lógica vetorial nem sempre é uma matriz identidade no sentido da álgebra matricial.

### Operadores diádicos

Os 16 operadores diádicos 2-valorados correspondem à funções do tipo $Dyad:V_{2}\otimes V_{2}\to V_{2}$; as matrizes diádicas tem q linhas e q$^2$ colunas. As matrizes que executam essas operações diádicas são baseadas nas propriedades do produto de Kronecker.
Duas propriedades desse produto são essenciais para o formalismo da lógica vetorial:
* Propriedade do produto misto: Se A, B, C e D são matrizes de tamanho tal onde uma pode formar os produtos de matrizes AC e BD, então :$(A\otimes B)(C\otimes D)=AC\otimes BD$
* Transposta distributiva A operação de transposição é distributiva sobre o produto de Kronecker: :$(A\otimes B)^{T}=A^{T}\otimes B^{T}.$
Usando essas propriedades, expressões para funções lógicas diádicas podem ser obtidas:
* Conjunção. A conjunção (p^q) é executada por uma matriz que atua em dois vetores valor-verdade: $C(u\otimes v)$. Essa matriz reproduz as funcionalidades da conjunção clássica de tabela-verdade na sua formulação:
       $C=s(s\otimes s)^{T}+n(s\otimes n)^{T}+n(n\otimes s)^{T}+n(n\otimes n)^{T}$
       e verifica
       $C(s\otimes s)=s,$ e
       $C(s\otimes n)=C(n\otimes s)=C(n\otimes n)=n.$
* Disjunção. A disjunção (p∨q) é executada pela matriz ::$D=s(s\otimes s)^{T}+s(s\otimes n)^{T}+s(n\otimes s)^{T}+n(n\otimes n)^{T},$ resultando em
       $D(s\otimes s)=D(s\otimes n)=D(n\otimes s)=s$ e
       $D(n\otimes n)=n.$
* Implicação. A implicação corresponde na lógica clássica para a expressão p → q ≡ ¬p ∨ q. A versão na lógica vetorial dessa equivalência leva à uma matriz que representa essa implicação na lógica vetorial: $L=D(N\otimes I)$. A expressão explícita para essa implicação é:
       $L=s(s\otimes s)^{T}+n(s\otimes n)^{T}+s(n\otimes s)^{T}+n(n\otimes n)^{T},$
       e as propriedades da implicação clássica são satisfeitas
       $L(s\otimes s)=L(n\otimes s)=L(n\otimes n)=s$ e
       $L(s\otimes n)=n.$
* Equivalência e Disjunção exclusiva. Na lógica vetorial an equivalência p≡q é representada pela seguinte matriz:
       $E=s(s\otimes s)^{T}+n(s\otimes n)^{T}+n(n\otimes s)^{T}+s(n\otimes n)^{T}$ com
       $E(s\otimes s)=E(n\otimes n)=s$ e
       $E(s\otimes n)=E(n\otimes s)=n.$
       O ou exclusivo é a negação da equivalência, ¬(p≡q); isso corresponde à matriz $X=NE$ dada por
       $X=n(s\otimes s)^{T}+s(s\otimes n)^{T}+s(n\otimes s)^{T}+n(n\otimes n)^{T},$
       com $X(s\otimes s)=X(n\otimes n)=n$ e
       $X(s\otimes n)=X(n\otimes s)=s.$
* NAND e NOR
As matrizes S e P correspondem às operações Sheffer (NAND) e Peirce (NOR), respectivamente:
       $S=NC$
       $P=ND$

### Lei de De Morgan

Na lógica de dois valores, a conjunção e a disjunção satisfazem a Lei de De Morgan: p∧q≡¬(¬p∨¬q), e o seu par: p∨q≡¬(¬p∧¬q)). Para a lógica vetorial de dois valores essa lei também é verificada:
       $C(u\otimes v)=ND(Nu\otimes Nv)$, onde u E v são dois vetores lógicos.
O produto de Kronecker implica a seguinte fatorização:
       $C(u\otimes v)=ND(N\otimes N)(u\otimes v).$
Então pode ser provado que na lógica vetorial de duas dimensões a Lei de De Morgan é uma lei envolvendo operadores, e não somente uma lei em relação a operações:
       $C=ND(N\otimes N)$

### Lei da contraposição

No clássico cálculo de proposições, a contraposição p → q ≡ ¬q → ¬p é provada porque an equivalência vale para todas as possíveis combinações de valores-verdade de p e q. Em vez disso, na lógica vetorial, a lei da contraposição emerge de uma cadeia de igualdades dentro das regras da álgebra matricial e produtos de Kronecker, como mostrado a seguir:
       $L(u\otimes v)=D(N\otimes I)(u\otimes v)=D(Nu\otimes v)=D(Nu\otimes NNv)=$
       $D(NNv\otimes Nu)=D(N\otimes I)(Nv\otimes Nu)=L(Nv\otimes Nu)$
Esse resultado é baseado no fato de que D, a matriz de disjunção, representa uma operação comutativa.

## Lógica bidimensional multivalorada

Lógica Multivalorada foi desenvolvida por muitos pesquisadores, particularmente por Jan Łukasiewicz e permite estender operações lógicas para valores-verdade que incluem incertezas. No caso da lógica vetorial bivalorada, incertezas em valores verdade podem ser introduzidas usando vetores com s e n ponderadas por probabilidades.
Deixando $f=\epsilon s+\delta n$, com $\epsilon ,\delta \in [0,1],\epsilon +\delta =1$ ser esse tipo de vetores “probabilísticos”. Aqui, o caráter multivalorado da lógica é introduzido a posteriori via incertezas introduzidas nas entradas.

### Projeções escalares dos vetores resultantes

As saídas dessa lógica multivalorada podem ser projetadas em funções escalares e gerar uma classe particular de lógica probabilística com similaridades com a multivalorada lógica de Reichenbach. Dados dois vetores $u=\alpha s+\beta n$ and $v=\alpha 's+\beta 'n$ e uma matriz lógica diádica $G$, uma lógica probabilística escalar é fornecida pela projeção sobre vector s:
       $Val(\mathrm {scalars} )=s^{T}G(\mathrm {vectors} )$
Aqui estão os principais resultados dessas projeções:
       $NOT(\alpha )=s^{T}Nu=1-\alpha$
       $OR(\alpha ,\alpha ')=s^{T}D(u\otimes v)=\alpha +\alpha '-\alpha \alpha '$
       $AND(\alpha ,\alpha ')=s^{T}C(u\otimes v)=\alpha \alpha '$
       $IMPL(\alpha ,\alpha ')=s^{T}L(u\otimes v)=1-\alpha (1-\alpha ')$
       $XOR(\alpha ,\alpha ')=s^{T}X(u\otimes v)=\alpha +\alpha '-2\alpha \alpha '$
As negações associadas são:
       $NOR(\alpha ,\alpha ')=1-OR(\alpha ,\alpha ')$
       $NAND(\alpha ,\alpha ')=1-AND(\alpha ,\alpha ')$
       $EQUI(\alpha ,\alpha ')=1-XOR(\alpha ,\alpha ')$
Se os valores escalares pertencem ao conjunto {0, ½, 1}, esse escalar da lógica multivalorada é para muitas dos operadores quase idênticos aos da lógica 3-valorada de Łukasiewicz. Também, foi provado que quando os operadores monádicos ou diádicos atuam sobre vetores probabilísticos pertencentes a esse conjunto, o resultado é também um elemento desse conjunto.

## História

A abordagem foi inspirada em modelos de redes neurais baseados no uso de matrizes e vetores com muitas dimensões. A lógica vetorial é uma tradução direta e um formalismo de matriz-vetor dos clássicos polinomiais booleanos. Esse tipo de formalismo foi applicado para desenvolver a lógica difusa em termos de número complexo. Outras abordagens de matrizes e vetores foram desenvolvidas na armação da física quântica, ciência da computação e ótica. As primeiras tentativas de usar álgebra linear para representar operações lógicas podem ser referidas à Peirce e Copilowish. O biofísico indiano G.N. Ramachandran desenvolveu um formalismo usando matrizes algébricas e vetores para representar muitas operações da lógica indiana clássica.

## Polinômios booleanos

George Boole estabeleceu o desenvolvimento de operações lógicas como polinômios. Para o caso de operações monádicas (tal como a função identidade ou negação lógica), os polinômios booleanos tem um formato como o seguinte:
       $f(x)=f(1)x+f(0)(1-x)$
As quatro diferentes operações monádicas resultam dos diferentes valores binários dos coeficientes. A função identidade requer f(1) = 1 e f(0) = 0, e a negação ocorre se f(1) = 0 e f(0) = 1. Para os 16 operadores diádicos, os polinômios booleanos são da seguinte forma:
       $f(x,y)=f(1,1)xy+f(1,0)x(1-y)+f(0,1)(1-x)y+f(0,0)(1-x)(1-y)$
As operações diádicas podem ser traduzidas para esse formato polinomial quando os coeficientes f tomarem os valores indicados na respectiva tabela verdade s. Por instância: a operação NAND requer o seguinte:
       $f(1,1)=0$ and $f(1,0)=f(0,1)=f(0,0)=1$. Esses polinomios booleanos podem ser imediatamente estendidos para qualquer número de variáveis, produzindo um grande potencial variedade de operadores lógicos. Na lógica vetorial, a estrutura matriz-vetor dos operadores é uma exata tradução para o formato da álgebra linear desses polinômios booleanos, onde o x e 1-x correspondem aos vetores s e n respectivamente (o mesmo para y e 1-y). No exemplo de NAND, f(1,1)=n e f(1,0)=f(0,1)=f(0,0)=s e a versão matricial se tornam:
       $S=n(s\otimes s)^{T}+s[(s\otimes n)^{T}+(n\otimes s)^{T}+(n\otimes n)^{T}]$

## Extensões

* A Lógica vetorial pode ser estendida para incluir muitos valores-verdade desde que vetores de dimensões altas permitam criar muitos valores-verdade ortogonais e as correspondentes matrizes lógicas.
* Modalidades lógicas podem ser totalmente representadas nesse contexto, com um processo recursivo inspirado em modelos neurais.
* Alguns problemas cognitivos sobre computações lógicas podem ser analisados usando este formalismo, em particular decisões recursivas. Qualquer expressão lógica da lógica proposicional pode ser naturalmente representada por uma árvore. Esse fato é retido pela lógica vetorial, e tem sido usada parcialmente em modelos neurais focados em investigação de estruturas ramificadas da linguagem natural.
* As operações reversíveis via computação como a Fredkin gate podem ser implementadas na lógica vetorial. Essas implementações proveem expressões explícitas para operadores matriciais que produzem o formato da entrada e o filtro da saída necessário para obter computações
* A Automação celular elementar pode ser analisada usando an estrutura de operador da lógica vetorial; essa análise leva an uma decomposição espectral das leis governando essas dinâmicas.