Negacja - Negation

Negacja
NIE
Definicja
Tabela prawdy
Bramka logiczna NIE ANSI.svg
Normalne formy
Dysjunktywny
Łączący
Wielomian Żegalkina
Kraty posta
0-zachowanie nie
1-konserwujący nie
Monotonia nie
Affine tak

W logice , negacji , zwany także logicznym dopełnieniem , to operacja , która zajmuje propozycję innej propozycji „nie ”, napisanym , lub . Intuicyjnie interpretuje się je jako prawdziwe, gdy jest fałszywe, i fałszywe, gdy jest prawdziwe. Negacja jest więc jednoargumentowym (jednoargumentowym) spójnikiem logicznym . Może być stosowany jako operacja na pojęciach , twierdzeniach , wartościach logicznych lub ogólniej wartościach semantycznych . W logice klasycznej negacja jest zwykle utożsamiana z funkcją prawdy, która doprowadza prawdę do fałszu (i odwrotnie). W logice intuicjonistycznej , zgodnie z interpretacją Brouwera–Heytinga–Kolmogorova , negacją zdania jest zdanie, którego dowodami są obalenia .

Definicja

Nie ma zgody co do możliwości zdefiniowania negacji, co do jej logicznego statusu, funkcji i znaczenia, co do zakresu jej stosowalności oraz co do interpretacji sądu negatywnego (FH Heinemann 1944).

Negacja klasyczna to operacja na jednej wartości logicznej , zwykle wartości zdania , która daje wartość true, gdy jej operand jest fałszywy, i wartość false, gdy jej operand jest prawdziwy. Zatem jeśli zdanie P jest prawdziwe, to (wymawiane „nie P”) byłoby wtedy fałszywe; i odwrotnie, jeśli jest fałszywe, to P byłoby prawdziwe.

Tabela prawdy od przedstawia się następująco:

Prawdziwe Fałszywe
Fałszywe Prawdziwe

Negację można zdefiniować w kategoriach innych operacji logicznych. Na przykład można zdefiniować jako (gdzie jest logiczną konsekwencją i jest absolutnym fałszem ). Odwrotnie, można zdefiniować jak dla dowolnego zdania Q (gdzie jest koniunkcją logiczną ). Chodzi o to, że każda sprzeczność jest fałszywa i chociaż te idee działają zarówno w logice klasycznej, jak i intuicjonistycznej, nie działają w logice parakonsystentnej , gdzie sprzeczności niekoniecznie są fałszywe. W logice klasycznej otrzymujemy również dalszą tożsamość, którą można zdefiniować jako , gdzie jest alternatywą logiczną .

Algebraicznie, klasyczna negacja odpowiada komplementacji w algebrze Boole'a , a intuicjonistyczna negacja pseudokomplementacji w algebrze Heytinga . Algebry te zapewniają semantykę odpowiednio logiki klasycznej i intuicjonistycznej.

Notacja

Negacja zdania p jest zapisywana na różne sposoby, w różnych kontekstach dyskusji i polach zastosowań. Poniższa tabela przedstawia niektóre z tych wariantów:

Notacja Zwykły tekst Wokalizacja
¬p Nie p
~p Nie p
-P Nie p
N P En p
P'
P
!P

Notacja N p to notacja Łukasiewicza .

W teorii mnogości , jest również używany do wskazania „nie w zbiorze”: jest zbiorem wszystkich członków U , które nie są członkami A .

Bez względu na to, jak jest to zapisane lub symbolizowane , negację można odczytać jako „to nie jest tak, że P ”, „nie to P ”, lub zwykle prościej jako „nie P ”.

Nieruchomości

Podwójna negacja

W ramach systemu klasycznej logiki , podwójne zaprzeczenie, to znaczy negacja negacji zdania , jest logicznie równoważne do . Wyrażone w kategoriach symbolicznych, . W logice intuicjonistycznej zdanie implikuje jego podwójną negację, ale nie odwrotnie. Oznacza to jedną ważną różnicę między negacją klasyczną a intuicjonistyczną. Algebraicznie klasyczna negacja nazywana jest inwolucją okresu drugiego.

Jednak w logice intuicjonistycznej słabsza ekwiwalencja jest aktualna. Dzieje się tak dlatego, że w logice intuicjonistycznej to tylko skrót od , a my też mamy . Skomponowanie tej ostatniej implikacji z potrójną negacją implikuje, że .

W rezultacie w przypadku zdaniowym zdanie jest klasycznie dowodliwe, jeśli jego podwójna negacja jest dowodliwa intuicjonistycznie. Ten wynik jest znany jako twierdzenie Glivenka .

Dystrybucja

Prawa De Morgana zapewniają sposób rozłożenia negacji na alternatywę i koniunkcję :

, oraz
.

Liniowość

Niech oznaczają logiczny xor operacji. W algebrze Boole'a funkcja liniowa to taka, że:

Jeśli istnieje , , dla wszystkich .

Innym sposobem wyrażenia tego jest to, że każda zmienna zawsze ma wpływ na wartość prawdziwości operacji lub nigdy nie ma znaczenia. Negacja to liniowy operator logiczny.

Własna podwójna

W algebrze Boole'a funkcja self dual jest funkcją taką, że:

dla wszystkich . Negacja to samodzielny podwójny operator logiczny.

Negacje kwantyfikatorów

W logice pierwszego rzędu istnieją dwa kwantyfikatory, jeden jest kwantyfikatorem uniwersalnym (oznacza „dla wszystkich”), a drugi jest kwantyfikatorem egzystencjalnym (oznacza „istnieje”). Negacja jednego kwantyfikatora jest drugim kwantyfikatorem ( i ). Na przykład, z predykatem P jako " x jest śmiertelne" i domeną x jako zbiorem wszystkich ludzi, oznacza "osoba x we ​​wszystkich ludziach jest śmiertelna" lub "wszyscy ludzie są śmiertelni". Negacją tego jest , co oznacza " w każdym człowieku istnieje osoba x, która nie jest śmiertelna", lub "istnieje ktoś, kto żyje wiecznie".

Zasady wnioskowania

Istnieje wiele równoważnych sposobów formułowania reguł negacji. Jednym ze zwykłych sposobów sformułowania klasycznej negacji w warunkach naturalnej dedukcji jest przyjęcie jako prymitywnych reguł wnioskowania wprowadzenia negacji (z wyprowadzenia do i , wnioskować ; reguła ta jest również nazywana reductio ad absurdum ), eliminacji negacji (z i wnioskowania ; reguła ta jest również nazywana ex falso quodlibet ) i eliminacją podwójnej negacji (z wnioskowania ). W ten sam sposób uzyskuje się reguły negacji intuicjonistycznej, ale wykluczając eliminację podwójnej negacji.

Wprowadzenie negacji stwierdza, że ​​jeśli absurd może być wyciągnięty jako wniosek, to nie może tak być (tzn. jest fałszywy (klasycznie) lub obalalny (intuicjonistycznie) itp.). Eliminacja negacji stwierdza, że ​​wszystko wynika z absurdu. Czasami eliminację negacji formułuje się za pomocą prymitywnego znaku absurdu . W tym przypadku reguła mówi, że z absurdu i wynika z niego. Wraz z eliminacją podwójnej negacji można wywnioskować naszą pierwotnie sformułowaną zasadę, a mianowicie, że wszystko wynika z absurdu.

Typowo intuicjonistycznej negacja z definiuje się jako . Wtedy wprowadzenie i eliminacja negacji to tylko szczególne przypadki wprowadzenia implikacji ( dowód warunkowy ) i eliminacji ( modus ponens ). W tym przypadku należy również dodać jako pierwotną regułę ex falso quodlibet .

Język programowania i język potoczny

Podobnie jak w matematyce, negacja jest używana w informatyce do konstruowania zdań logicznych.

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

Wykrzyknik " !" oznacza logiczne NOT w B , C , i języków z C inspirowane składni takich jak C ++ , Java , JavaScript , Perl i PHP . " NOT" jest operatorem używanym w ALGOL 60 , BASIC , i językach o składni inspirowanej ALGOL lub BASIC , takich jak Pascal , Ada , Eiffel i Seed7 . Niektóre języki (C++, Perl itp.) udostępniają więcej niż jeden operator do negacji. Do negacji używa się kilku języków, takich jak PL/I i Ratfor¬ . Niektóre nowoczesne komputery i systemy operacyjne zostaną wyświetlone ¬jak !na plikach zakodowanych w kodzie ASCII . Większość współczesnych języków pozwala na skrócenie powyższej instrukcji z if (!(r == t))do if (r != t), co pozwala czasami, gdy kompilator/interpreter nie jest w stanie go zoptymalizować, szybszymi programami.

W informatyce istnieje również negacja bitowa . Pobiera podaną wartość i przełącza wszystkie binarne 1s na 0s i 0s na 1s. Zobacz operację bitową . Jest to często używane do tworzenia uzupełnienia do jedynek lub " ~" w C lub C++ i uzupełnienia do dwóch (po prostu uproszczone do " -" lub znaku ujemnego, ponieważ jest to równoznaczne z przyjęciem ujemnej wartości arytmetycznej liczby), ponieważ zasadniczo tworzy coś przeciwnego ( równoważnik wartości ujemnej) lub matematyczne uzupełnienie wartości (gdy obie wartości są sumowane, tworzą całość).

Aby uzyskać bezwzględną (dodatni ekwiwalent) wartości danej liczby całkowitej, działałoby następujące działanie, ponieważ „ -” zmienia ją z ujemnej na dodatnią (jest ujemna, ponieważ „ x < 0” daje prawdę)

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

Aby zademonstrować logiczną negację:

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

Odwrócenie warunku i odwrócenie wyników daje kod, który jest logicznie równoważny z oryginalnym kodem, tj. będzie miał identyczne wyniki dla każdego wejścia (zauważ, że w zależności od używanego kompilatora, rzeczywiste instrukcje wykonywane przez komputer mogą się różnić).

Konwencja ta czasami pojawia się w zwykłej mowie pisanej, jako slangu komputerowego na „ nie” . Na przykład fraza !votingoznacza „nie głosuje”. Innym przykładem jest wyrażenie, !cluektóre jest używane jako synonim słów „bez wskazówek” lub „bez wskazówek”.

Semantyka Kripkego

W semantyce Kripkego, w której wartościami semantycznymi formuł są zbiory światów możliwych , negacja może być traktowana jako komplementacja mnogościowa (więcej informacji można znaleźć również w sekcji semantyka światów możliwych ).

Zobacz też

Bibliografia

Dalsza lektura

Zewnętrzne linki

Tablice Prawdy zdań złożonych