natural deduction metalanguage, practical foundations
type theory (dependent, intensional, observational type theory, homotopy type theory)
computational trinitarianism = propositions as types +programs as proofs +relation type theory/category theory
In (classical) logic, the negation of a statement $p$ is a statement $\neg{p}$ which is true if and only if $p$ is false. Hence, viewed algebraically, the negation corresponds to the complement operator of the corresponding Boolean algebra which satisfies $a\wedge\neg a=\bot$ as well as $a\vee \neg a=\top$.
More generally, as different logics correspond to different types of lattices, one calls negation antitone, or polarity reversing, lattice operators that mimic or approximate the algebraic and proof-theoretic behavior of $\neg$.
In classical logic, we have the double negation law:
In intuitionistic logic, we only have
while in paraconsistent logic, we instead have
You can interpret intuitionistic negation as ‘denial’ and paraconsistent negation as ‘doubt’. So when one says that one doesn't deny $p$, that's weaker than actually asserting $p$; while when one says that one doesn't doubt $p$, that's stronger than merely asserting $p$. Paraconsistent logic has even been applied to the theory of law: if $p$ is a judgment that normally requires only the preponderance of evidence, then $\neg\neg{p}$ is a judgment of $p$ beyond reasonable doubt.
Linear logic features (at least) three different forms of negation, one for each of the above. (The default meaning of the term ‘negation’ in linear logic, $p^\bot$, is the one that satisfies the classical double-negation law.)
Accordingly, negation mediates de Morgan duality in classical and linear logic but not in intuitionistic or paraconsistent logic.
In usual type theory syntax negation is obtained as the function type into the empty type: $\not a = a \to \emptyset$.
The categorical semantics of negation is the internal hom into the initial object: $\not = [-, \emptyset]$.
In a topos, the negation of an object $A$ (a proposition under the propositions as types-interpretation) is the internal hom object $0^A$, where $0 = \emptyset$ denotes the initial object.
This matches the intuitionistic notion of negation in that there is a natural morphism $A \to 0^{0^A}$ but not the other way around.
Y. Gauthier, A Theory of Local Negation: The Model and some Applications , Arch. Math. Logik 25 (1985) pp.127-143. (gdz)
H. Wansing, Negation , pp.415-436 in Goble (ed.), The Blackwell Guide to Philosophical Logic , Blackwell Oxford 2001.