Negação - Negation

Negação
NÃO
Definição
Mesa da verdade
Portão lógico NÃO ANSI.svg
Formas normais
Disjuntivo
Conjuntivo
Polinômio de Zhegalkin
Treliça do Post
0-preservação não
1-preservando não
Monotone não
Afim sim

Na lógica , a negação , também chamada de complemento lógico , é uma operação que leva uma proposição a outra proposição "não ", escrita , ou . É interpretado intuitivamente como verdadeiro quando é falso e falso quando verdadeiro. A negação é, portanto, um conectivo lógico unário (argumento único) . Pode ser aplicado como uma operação em noções , proposições , valores de verdade ou valores semânticos de forma mais geral. Na lógica clássica , a negação é normalmente identificada com a função de verdade que leva a verdade à falsidade (e vice-versa). Na lógica intuicionista , de acordo com a interpretação de Brouwer-Heyting-Kolmogorov , a negação de uma proposição é a proposição cujas provas são as refutações de .

Definição

Não existe acordo quanto à possibilidade de definir negação, quanto ao seu estatuto lógico, função e significado, quanto ao seu campo de aplicabilidade, e quanto à interpretação do juízo negativo (FH Heinemann 1944).

A negação clássica é uma operação em um valor lógico , normalmente o valor de uma proposição , que produz um valor verdadeiro quando seu operando é falso e um valor falso quando seu operando é verdadeiro. Assim, se a afirmação P for verdadeira, então (pronuncia-se "não P") seria falsa; e, inversamente, se for falso, então P seria verdadeiro.

A tabela verdade de é a seguinte:

Verdade Falso
Falso Verdade

A negação pode ser definida em termos de outras operações lógicas. Por exemplo, pode ser definido como (onde é consequência lógica e é mentira absoluta ). Por outro lado, pode-se definir como para qualquer proposição Q (onde está a conjunção lógica ). A ideia aqui é que qualquer contradição é falsa e, embora essas ideias funcionem tanto na lógica clássica quanto na intuicionista, não funcionam na lógica paraconsistente , onde as contradições não são necessariamente falsas. Na lógica clássica, também obtemos uma identidade adicional, que pode ser definida como , onde está a disjunção lógica .

Algebricamente, a negação clássica corresponde à complementação em uma álgebra booleana e a negação intuicionista à pseudocomplementação em uma álgebra de Heyting . Essas álgebras fornecem uma semântica para a lógica clássica e intuicionista, respectivamente.

Notação

A negação de uma proposição p é notada de maneiras diferentes, em vários contextos de discussão e campos de aplicação. A tabela a seguir documenta algumas dessas variantes:

Notação Texto simples Vocalização
¬p Não p
~ p Não p
-p Não p
N p En p
p '
̅P
! p

A notação N p é a notação Łukasiewicz .

Em teoria dos conjuntos , também é usado para indicar 'não no conjunto de': é o conjunto de todos os membros da U que não são membros de A .

Independentemente de como é notada ou simbolizada , a negação pode ser lida como "não é o caso de P ", "não é aquele P " ou, geralmente, mais simplesmente como "não P ".

Propriedades

Negação dupla

Dentro de um sistema de lógica clássica , a negação dupla, isto é, a negação da negação de uma proposição , é logicamente equivalente a . Expresso em termos simbólicos ,. Na lógica intuicionista , uma proposição implica sua dupla negação, mas não o contrário. Isso marca uma diferença importante entre a negação clássica e a intuicionista. Algebricamente, a negação clássica é chamada de involução do período dois.

No entanto, na lógica intuicionista , a equivalência mais fraca é válida. Isso ocorre porque, na lógica intuicionista, é apenas uma abreviatura para , e também temos . Compondo essa última implicação com negação tripla implica isso .

Como resultado, no caso proposicional, uma sentença é classicamente demonstrável se sua dupla negação for intuicionisticamente demonstrável. Este resultado é conhecido como teorema de Glivenko .

Distributividade

As leis de De Morgan fornecem uma maneira de distribuir negação sobre disjunção e conjunção :

, e
.

Linearidade

Deixe denotar a operação lógica xor . Na álgebra booleana , uma função linear é aquela que:

Se existe , , para todos .

Outra maneira de expressar isso é que cada variável sempre faz diferença no valor de verdade da operação, ou nunca faz diferença. A negação é um operador lógico linear.

Self dual

Na álgebra booleana , uma função autoduada é uma função tal que:

para todos . A negação é um operador lógico autoduplicado.

Negações de quantificadores

Na lógica de primeira ordem , existem dois quantificadores, um é o quantificador universal (significa "para todos") e o outro é o quantificador existencial (significa "existe"). A negação de um quantificador é o outro quantificador ( e ). Por exemplo, com o predicado P como " x é mortal" e o domínio de x como a coleção de todos os humanos, significa "uma pessoa x em todos os humanos é mortal" ou "todos os humanos são mortais". A negação disso é , significando "existe uma pessoa x em todos os humanos que não é mortal", ou "existe alguém que vive para sempre".

Regras de inferência

Existem várias maneiras equivalentes de formular regras para negação. Uma maneira usual de formular negação clássica em um cenário de dedução natural é tomar como regras primitivas de introdução de negação de inferência (de uma derivação de para e , inferir ; esta regra também sendo chamada de reductio ad absurdum ), eliminação de negação (de e inferir ; esta regra também sendo denominada ex falso quodlibet ), e eliminação da dupla negação (por inferir ). Obtém-se as regras para a negação intuicionista da mesma maneira, mas excluindo a eliminação da dupla negação.

A introdução da negação afirma que, se um absurdo pode ser tirado como conclusão, então não deve ser o caso (isto é, é falso (classicamente) ou refutável (intuicionisticamente) ou etc.). A eliminação da negação afirma que tudo decorre de um absurdo. Às vezes, a eliminação da negação é formulada usando um sinal de absurdo primitivo . Neste caso, a regra diz que de e segue um absurdo. Juntamente com a eliminação da dupla negação, pode-se inferir nossa regra originalmente formulada, a saber, que tudo decorre de um absurdo.

Normalmente, a negação intuicionista de é definida como . Então, a introdução da negação e a eliminação são apenas casos especiais de introdução de implicação ( prova condicional ) e eliminação ( modus ponens ). Neste caso, deve-se adicionar também como regra primitiva ex falso quodlibet .

Linguagem de programação e linguagem comum

Como na matemática, a negação é usada na ciência da computação para construir afirmações lógicas.

if (!(r == t))
{
    /*...statements executed when r does NOT equal t...*/
}

O ponto de exclamação " !" significa NOT lógico em B , C e linguagens com uma sintaxe inspirada em C , como C ++ , Java , JavaScript , Perl e PHP . " NOT" é o operador usado em ALGOL 60 , BASIC e em linguagens com sintaxe inspirada em ALGOL ou BASIC, como Pascal , Ada , Eiffel e Seed7 . Algumas linguagens (C ++, Perl, etc.) fornecem mais de um operador para negação. Algumas linguagens como PL / I e Ratfor usam ¬para negação. Alguns computadores e sistemas operacionais modernos serão exibidos ¬como !arquivos codificados em ASCII . A maioria das linguagens modernas permite que a instrução acima seja encurtada de if (!(r == t))para if (r != t), o que às vezes permite, quando o compilador / interpretador não é capaz de otimizá-lo, programas mais rápidos.

Na ciência da computação também há negação bit a bit . Isso pega o valor dado e muda todos os binários 1s para 0s e 0s para 1s. Veja operação bit a bit . Isso é frequentemente usado para criar o complemento de uns ou " ~" em C ou C ++ e o complemento de dois (simplificado para " -" ou o sinal negativo, pois isso é equivalente a pegar o valor aritmético negativo do número), pois basicamente cria o oposto ( equivalente de valor negativo) ou complemento matemático do valor (onde ambos os valores são somados, eles criam um todo).

Para obter o valor absoluto (equivalente positivo) de um determinado número inteiro, o seguinte funcionaria, pois o " -" muda de negativo para positivo (é negativo porque " x < 0" resulta em verdadeiro)

unsigned int abs(int x)
{
    if (x < 0)
        return -x;
    else
        return x;
}

Para demonstrar a negação lógica:

unsigned int abs(int x)
{
    if (!(x < 0))
        return x;
    else
        return -x;
}

Inverter a condição e reverter os resultados produz um código que é logicamente equivalente ao código original, ou seja, terá resultados idênticos para qualquer entrada (observe que dependendo do compilador usado, as instruções reais executadas pelo computador podem ser diferentes).

Essa convenção ocasionalmente surge na fala escrita comum, como uma gíria relacionada ao computador para não . Por exemplo, a frase !votingsignifica "não votar". Outro exemplo é a frase !clueque é usada como sinônimo de "sem pista" ou "sem noção".

Semântica de Kripke

Na semântica de Kripke, onde os valores semânticos das fórmulas são conjuntos de mundos possíveis , a negação pode ser considerada como uma complementação teórica dos conjuntos (veja também a semântica do mundo possível para mais informações).

Veja também

Referências

Leitura adicional

links externos

Tabelas da verdade das orações compostas