In
logic
Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the study of deductively valid inferences or logical truths. It examines how conclusions follow from premises based on the structure o ...
, negation, also called the logical not or logical complement, is an
operation that takes a
proposition to another proposition "not
", written
,
,
or
. It is interpreted intuitively as being true when
is false, and false when
is true. For example, if
is "Spot runs", then "not
" is "Spot does not run". An operand of a negation is called a ''negand'' or ''negatum''.
Negation is a
unary logical connective. It may furthermore be applied not only to propositions, but also to
notions,
truth values, or
semantic values more generally. In
classical logic, negation is normally identified with the
truth function that takes ''truth'' to ''falsity'' (and vice versa). In
intuitionistic logic, according to the
Brouwer–Heyting–Kolmogorov interpretation, the negation of a proposition
is the proposition whose proofs are the refutations of
.
Definition
''Classical 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. Thus if statement
is true, then
(pronounced "not P") would then be false; and conversely, if
is true, then
would be false.
The
truth table of
is as follows:
:
Negation can be defined in terms of other logical operations. For example,
can be defined as
(where
is
logical consequence
Logical consequence (also entailment or logical implication) is a fundamental concept in logic which describes the relationship between statement (logic), statements that hold true when one statement logically ''follows from'' one or more stat ...
and
is
absolute falsehood). Conversely, one can define
as
for any proposition (where
is
logical conjunction
In logic, mathematics and linguistics, ''and'' (\wedge) is the Truth function, truth-functional operator of conjunction or logical conjunction. The logical connective of this operator is typically represented as \wedge or \& or K (prefix) or ...
). The idea here is that any
contradiction is false, and while these ideas work in both classical and intuitionistic logic, they do not work in
paraconsistent logic, where contradictions are not necessarily false. As a further example, negation can be defined in terms of NAND and can also be defined in terms of NOR.
Algebraically, classical negation corresponds to
complementation in a
Boolean algebra, and intuitionistic negation to pseudocomplementation in a
Heyting algebra. These algebras provide a
semantics
Semantics is the study of linguistic Meaning (philosophy), meaning. It examines what meaning is, how words get their meaning, and how the meaning of a complex expression depends on its parts. Part of this process involves the distinction betwee ...
for classical and intuitionistic logic.
Notation
The negation of a proposition is notated in different ways, in various contexts of discussion and fields of application. The following table documents some of these variants:
The notation
is
Polish notation.
In
set theory
Set theory is the branch of mathematical logic that studies Set (mathematics), sets, which can be informally described as collections of objects. Although objects of any kind can be collected into a set, set theory – as a branch of mathema ...
,
is also used to indicate 'not in the set of':
is the set of all members of that are not members of .
Regardless how it is notated or
symbolized, the negation
can be read as "it is not the case that ", "not that ", or usually more simply as "not ".
Precedence
As a way of reducing the number of necessary parentheses, one may introduce
precedence rules: ¬ has higher precedence than ∧, ∧ higher than ∨, and ∨ higher than →. So for example,
is short for
Here is a table that shows a commonly used precedence of logical operators.
Properties
Double negation
Within a system of
classical logic, double negation, that is, the negation of the negation of a proposition
, is
logically equivalent to
. Expressed in symbolic terms,
. In
intuitionistic logic, a proposition implies its double negation, but not conversely. This marks one important difference between classical and intuitionistic negation. Algebraically, classical negation is called an
involution of period two.
However, in
intuitionistic logic, the weaker equivalence
does hold. This is because in intuitionistic logic,
is just a shorthand for
, and we also have
. Composing that last implication with triple negation
implies that
.
As a result, in the propositional case, a sentence is classically provable if its double negation is intuitionistically provable. This result is known as
Glivenko's theorem.
Distributivity
De Morgan's laws provide a way of
distributing negation over
disjunction and
conjunction:
:
, and
:
.
Linearity
Let
denote the logical
xor operation. In
Boolean algebra, a linear function is one such that:
If there exists
,
,
for all
.
Another way to express this is that each variable always makes a difference in the
truth-value of the operation, or it never makes a difference. Negation is a linear logical operator.
Self dual
In
Boolean algebra, a self dual function is a function such that:
for all
.
Negation is a self dual logical operator.
Negations of quantifiers
In
first-order logic, there are two quantifiers, one is the universal quantifier
(means "for all") and the other is the existential quantifier
(means "there exists"). The negation of one quantifier is the other quantifier (
and
). For example, with the predicate ''P'' as "''x'' is mortal" and the domain of x as the collection of all humans,
means "a person x in all humans is mortal" or "all humans are mortal". The negation of it is
, meaning "there exists a person ''x'' in all humans who is not mortal", or "there exists someone who lives forever".
Rules of inference
There are a number of equivalent ways to formulate rules for negation. One usual way to formulate classical negation in a
natural deduction setting is to take as primitive rules of inference ''negation introduction'' (from a derivation of
to both
and
, infer
; this rule also being called ''
reductio ad absurdum''), ''negation elimination'' (from
and
infer
; this rule also being called ''ex falso quodlibet''), and ''double negation elimination'' (from
infer
). One obtains the rules for intuitionistic negation the same way but by excluding double negation elimination.
Negation introduction states that if an absurdity can be drawn as conclusion from
then
must not be the case (i.e.
is false (classically) or refutable (intuitionistically) or etc.). Negation elimination states that anything follows from an absurdity. Sometimes negation elimination is formulated using a primitive absurdity sign
. In this case the rule says that from
and
follows an absurdity. Together with double negation elimination one may infer our originally formulated rule, namely that anything follows from an absurdity.
Typically the intuitionistic negation
of
is defined as
. Then negation introduction and elimination are just special cases of implication introduction (
conditional proof) and elimination (''
modus ponens''). In this case one must also add as a primitive rule ''ex falso quodlibet''.
Programming language and ordinary language
As in mathematics, negation is used in
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
to construct logical statements.
if (!(r t))
The
exclamation mark "
!
" signifies logical NOT in
B,
C, and languages with a C-inspired syntax such as
C++,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
,
Perl, and
PHP. "
NOT
" is the operator used in
ALGOL 60
ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
,
BASIC
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
, and languages with an ALGOL- or BASIC-inspired syntax such as
Pascal,
Ada,
Eiffel and
Seed7. Some languages (C++, Perl, etc.) provide more than one operator for negation. A few languages like
PL/I and
Ratfor use
¬
for negation. Most modern languages allow the above statement to be shortened from
if (!(r t))
to
if (r != t)
, which allows sometimes, when the compiler/interpreter is not able to optimize it, faster programs.
In computer science there is also ''
bitwise negation''. This takes the value given and switches all the
binary 1s to 0s and 0s to 1s. 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 this is equivalent to taking the
arithmetic negation of the number).
To get the absolute (positive equivalent) value of a given integer the following would work as the "
-
" changes it from negative to positive (it is negative because "
x < 0
" yields true)
unsigned int abs(int x)
To demonstrate logical negation:
unsigned int abs(int 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 (depending on the compiler used, the actual instructions performed by the computer may differ).
In C (and some other languages descended from C), double negation (
!!x
) is used as an
idiom
An idiom is a phrase or expression that largely or exclusively carries a Literal and figurative language, figurative or non-literal meaning (linguistic), meaning, rather than making any literal sense. Categorized as formulaic speech, formulaic ...
to convert
x
to a canonical Boolean, ie. an integer with a value of either 0 or 1 and no other. Although any integer other than 0 is logically true in C and 1 is not special in this regard, it is sometimes important to ensure that a canonical value is used, for example for printing or if the number is subsequently used for arithmetic operations.
The convention of using
!
to signify negation occasionally surfaces in ordinary written speech, as computer-related
slang
A slang is a vocabulary (words, phrases, and linguistic usages) of an informal register, common in everyday conversation but avoided in formal writing and speech. It also often refers to the language exclusively used by the members of pa ...
for ''not''. For example, the phrase
!voting
means "
not voting". Another example is the phrase
!clue
which is used as a synonym for "no-clue" or "clueless".
[Munat, Judith.]
Lexical Creativity, Texts and Context
p. 148 (John Benjamins Publishing, 2007).
Kripke semantics
In
Kripke semantics where the semantic values of formulae are sets of
possible worlds, negation can be taken to mean
set-theoretic complementation (see also
possible world semantics for more).
See also
*
Affirmation and negation (grammatical polarity)
*
Ampheck
In Boolean logic, logical NOR, non-disjunction, or joint denial is a truth-functional operator which produces a result that is the negation of logical disjunction, logical or. That is, a sentence of the form (''p'' NOR ''q'') is true precis ...
*
Apophasis
*
Binary opposition
*
Bitwise NOT
*
Contraposition
*
Cyclic negation
*
Negation as failure
*
NOT gate
*
Plato's beard
*
Square of opposition
References
Further reading
*
Gabbay, Dov, and Wansing, Heinrich, eds., 1999. ''What is Negation?'',
Kluwer.
*
Horn, L., 2001. ''A Natural History of Negation'',
University of Chicago Press
The University of Chicago Press is the university press of the University of Chicago, a Private university, private research university in Chicago, Illinois. It is the largest and one of the oldest university presses in the United States. It pu ...
.
*
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.
*
External links
*
*
NOT on
MathWorld
;
Tables of Truth of composite clauses
*
*
*
*
{{Authority control
Semantics
Logical connectives
Unary operations
Articles with example C++ code
Formal semantics (natural language)