Логичка негација
From Wikipedia, the free encyclopedia
Remove ads
From Wikipedia, the free encyclopedia
Логичка негација или логичко не је унарна логичка операција чија је вредност тачно када њен операнд има вредност нетачно, и обрнуто. Другим речима, логичка негација претвара тачно у нетачно, а нетачно у тачно. Може се применити као рад на предлозима, истинитним вредностима или семантичким вредностима уопште. У класичној логици, негација се обично идентификује са функцијом истине која узима истину за обману и обрнуто. У интуитивној логици, према БХК-ом тумачењу, негација предлога је предлог чији докази су деманти од .
У математичкој логици, логичка негација се обележава знаком . Тако, логичка негација исказа би се писала и читала „не “.
Класична негација је логичка операција над једном логичком вредности, обично вредност предлога, који производи вредност тачно када је њен операнд нетачно и нетачно када је њен операнд истина. Дакле, ако је изјава A истинита, онда ¬A (изговара се "не A") ће стога бити лажна, и обрнуто, ако је ¬A истина, онда би A био лажан.
Таблице истинитости за ¬p:
p | ¬p |
---|---|
Тачно | Нетачно |
Нетачно | Тачно |
Поред ове нотације, у пракси се користе још и (чита се „ конјуговано“) и (чита се „ прим“ или „ комплемент“).
Класична негација може да се дефинише у смислу других логичких операција. На пример, ¬p се може дефинисати као p → F, где је "→" је последица и F ' је апсолутна неистина. Насупрот томе, може се дефинисати F као p & ¬p за било који предлог p, где је "&" конјункција. Идеја је да је свака противречност лажна. Док ове идеје раде и у класичној и у интуитиционој логици, они не раде у Бразилској логици, где противречности нису нужно лажне. Али, у класичној логици, ми смо добили још идентитета:p → q се може дефинисати као ¬p ∨ q, где "∨" је дисјункција: "не p или q".
Алгебарски, класична негација одговара комплементарности у Буловој алгебри, а интуитиционо негирање за псеудо комплементарност у Heyting algebra. Ове алгебре дају семантику за класичне и интуитивне логике респективно.
Негација p је означена на различите начине у различитим контекстима расправе и поља примене. Међу овим варијантама Таблице истинитости за логичку негацију гласи:
Обележавање | Вокализација |
---|---|
¬p | не p |
−p | не p |
~p | не p |
Np | en p |
p prim, p комплемент | |
p bar, bar p | |
bang p не p |
Без обзира на то како је забележено или симболизовано, негација ¬p / −p може се читати као "то није случај да је p" , "не то p", или обично, више једноставно као "не p".
У интуитивној логици, предлог подразумева двоструку негацију, али не и обрнуто. Ово представља једну битну разлику између класичне и интуиционе негације. Алгебарски, класична негација се зове запетљање од два периода.
1 У систему интуиционистичке логике, је исказ слабији од . С друге стране, логичка еквиваленција је и даље тачна.
Де Морганови закони пружају начин дистрибуцију негације над дисјункцијом и конјункцијом:
У Буловој алгебри, линеарна функција је:
Ако постоји a0, a1, ..., an {0,1} тако да је f(b1, ..., bn) = a0 ⊕ (a1 b1) ⊕ ... ⊕ (an bn), for all b1, ..., bn {0,1}. Још један начин да се изрази то је да свака променљива увек прави разлику у истинитној вредности за операцију или не прави разлику. Негација је линеарни логички оператор.
Постоји више еквивалентних начина да се формулишу правила за негацију. Један уобичајени начин формулисања класичне негације у природнu дедукцијu је да се поставе примитивна правила закључивања негирања увођења (од извођењаp за и q и ¬ q, закључити ¬p; ово правило се зове reductio ad absurdum), негација елиминације (из p и ¬p закључити q; ово правило се зове ex falso quodlibet), а двострука негација елиминације (од ¬¬p закључити p). Добијају се правила за интуициону негацију на исти начин, али искључујући елиминацију двоструке негације.
Негација у уводу стоји да ако се апсурд може извући као закључак из p онда p не мора да буде случај (тј. p' је нетачно (класично) или оповргљива или сл). Негација елиминација наводи да било шта следи из апсурда. Понекад негација елиминација је формулисана помоћу примитивног апсурдног знака ⊥. У овом случају правило каже да је од p и ¬p следи апсурд. Заједно са двоструком негацијом елиминације може се закључити наше првобитно формулисано правило, а то је да било шта следи из апсурда.
Типична интуициона негација ¬p од p се дефинише као p→⊥. Онда негација увода и елиминација су само посебни случајеви имплицитног увођења (conditional proof) и елиминације (модус поненс). У том случају мора се такође додати као примитивно правило ex falso quodlibet.
Логичка негација се у рачунарству користи аналогно свом значењу у логици и математици, дакле у градњи логичких исказа. У зависности од програмског језика записује се на различите начине. На пример, у програмском језику се обележава знаком !
, у Паскалу енглеском речју итд. Следи пример програмског кода записаног на програмском језику који користи логичку негацију:
if (!(r == t)) /* ако није тачно да је r једнако t... */
{
/* ... изврши ове инструкције */
}
Неки програмски језици подржавају и извршавање логичке негације над појединачним битовима неке меморијске локације. Тада се сви битови који имају вредност 1
посматрају као „тачно“ (T) а сви битови вредности 0
као „нетачно“ (⊥). Операција те битовске логичке негације као резултат има вредност чији су сви битови супротни одговарајућим битовима почетне вредности. На пример:
"!
" означава логично НЕ у програмским језицима , и језицима са -надахнутом синтаксиом као што су , Јава, Јаваскрипт, Перл, i . "NOT
" је оператор који се користи у ALGOL 60, Бејсик, и језицима са или инспирисаном синтаксом, као што су Паскал, Ада, i . Неки језици (++, Перл...) дају више од једног оператера за негацију. Неколико језика као што су иРатфор користе ¬
за негацију. Неки модерни рачунари и оперативни системи ће се приказати ¬
као !
на фајлове снимљене у ASCII. Већина модерних језика дозвољавају изјаву да се скрати од if (!(r == t))
уif (r != t)
, што омогућава понекад , када преводилац/тумач није у стању да га оптимизује, брже програме.
У рачунарству постоји негација над битовима. Ово узима вредност дату и пребацује све бинарне 1s у 0s и 0s у 1s. Погледајте операције над битовима. Ово се често користи за креирање или "~
" у или ++ и (само поједностављена"-
" или негативан знак, јер то је еквивалентно узимање аритметичке негативне вредности броја), јер у основи ствара супротно (негативна вредност) или математички комплемент (где су обе вредности сабирају и тако стварају целину).
Да бисте добили апсолутну (позитиван еквивалент) вредност датог целог броја следећи ће радити као"-
" мењамењајући га од негативног ка позитивном (то је негативано, јер "x < 0
" приноси тачно)
unsigned int abs(int x)
{
if (x < 0)
return -x;
else
return x;
}
Демонстрирање логичке негације:
unsigned int abs(int x)
{
if (!(x < 0))
return x;
else
return -x;
}
Инвертујући услов и обрнути резултат даје код који је логички еквивалентан на оригинални код, односно иматће исте резултате за било који улаз (имајте на уму да у зависности од компајлера који се користи, актуелне инструкције које обавља рачунар могу се разликовати).
У вези са рачунарима сленг за не. Фраза !гласање
, на пример, значи "не гласају“.!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.