< Negation(logic, wiki, imported, Proteus)
In
logic and
mathematics,
negation is an
operation on
logical values, for example, the logical value of a
proposition, that sends
true to
false and
false to
true.
Definition
Logical negation is an
operation on one
logical value, typically the value of a
proposition, that produces a value of
true when its operand is false and a value of
false when its operand is true.
The
truth table of
NOT p (also written as
~p or
¬p) is as follows:
|+ Logical Negation
style="background:paleturquoise"
! style="width:20%" | p
! style="width:20%" | ¬p
| | T
|
| | F
|
The logical negation of a proposition
p is notated in different ways in various contexts of discussion and fields of application. Among these variants are the following:
|+ Variant Notations
style="background:paleturquoise"
! style="text-align:center" | Notation
! Vocalization
| | sin;e;">(
| bar p
| | ('
| p prime, p complement
| | (
| bang p
No matter how it is notated or symbolized, the logical negation ¬
p is read as "it is not the case that
p", or usually more simply as "not
p".
- Within a system of classical logic, double negation, that is, the negation of the negation of a proposition p, is logically equivalent to the initial proposition p. Expressed in symbolic terms, ¬(¬p) &8660; p.
- Within a system of intuitionistic logic, however, ¬¬p is a weaker statement than p. On the other hand, the logical equivalence ¬¬¬p &8660; ¬p remains valid.
Logical negation can be defined in terms of other logical operations. For example, ~
p can be defined as
p →
F, where "→" is
logical implication and
F is absolute falsehood. Conversely, one can define
F as
p & ~
p for any proposition
p, where "&" is
logical conjunction. The idea here is that any
contradiction is false. While these ideas work in both classical and intuitionistic logic, they don't work in
Brazilian logic, where contradictions are not necessarily false. But in classical logic, we get a further identity:
p →
q can be defined as ~
p ∨
q, where "∨" is
logical disjunction.
Algebraically, logical negation corresponds to the
complement in a
Boolean algebra (for classical logic) or a
Heyting algebra (for intuitionistic logic).
Computer science
As in mathematics, negation is used in
computer science to construct logical statements.
if (!(r == t))
{
//the statements that happen when r does NOT equal t
}
The ! signifies logical NOT in
B,
C, and languages with a C-inspired syntax such as
C++,
Java,
JavaScript,
Perl, and
PHP. "NOT" is the operator used in
ALGOL 60,
BASIC, and languages with an ALGOL-inpsired syntax such as
Pascal,
Ada,
Eiffel, and
Seed7.
In computer science there is also
bitwise negation. This takes the value given and switches all the
binary 1's to 0's and 0's to 1's. See
bitwise operation. This is often used to create
ones' complement or "~" in C or C++ and
two's complement (just simplified to "-" or the negative sign) as it basically creates the opposite (negative value equivalent) or mathematical complement of the value (where both values are added together they create a whole).
Take the following for example:
Say we wanted to get the absolute (positive equivalent) value of a given integer to following would work as the "-" changes it from negative to positive (we know it is negative because it is true that "x < 0")
unsigned int abs(int x)
{
if(x<0)
return -x;
else
return x;
}
To demonstrate logical negation:
unsigned int abs(int x)
{
if(!(x<0))
return x;
else
return -x;
}
Inverting the condition and reversing the outcomes produces code that is logically equivalent to the original code, i.e. will have identical results for any input. (Note that depending on the compiler used, the actual instructions performed by the computer may differ.)
Similarly, the following is equivalent on two's complement machines:
unsigned int abs(int x)
{
if(x<0)
return ((~x)+1);
else
return x;
}
However, since this relies on the binary representation of integers, it will not work on machines that do not use a two's-complement representation for negative numbers.
References
- Gabbay, Dov, and Wansing, Heinrich, eds., 1999. What is Negation? Kluwer.
- Horn, L., 2001. A Natural History of Negation. Univ. of Chicago Press.
- G. H. von Wright, 1953-59, "On the Logic of Negation", Commentationes Physico-Mathematicae 22.
- Wansing, Heinrich, 2001, "Negation," in Goble, Lou, ed., The Blackwell Guide to Philosophical Logic. Blackwell.
See also
Logical operators
{{col-begin}}
{{col-break}}
{{col-break}}
{{col-end}}
Related Topics
External links
Some content adapted from the Wikinfo article "Negation" under the GNU Free Documentation License.
Negation
Negation
Eitus
Puerta lógica#Puerta NO (NOT)
Négation logique
Negazione
לא (לוגיקה)
Логичка негација
Negatie
否定
Negasjon
Negacja
Negação
Logisk negation
นิเสธ
逻辑非
(last updated by Proteus, 9:10pm EDT - Tue, Apr 03 2007)