# Negation ```agda module foundation-core.negation where ``` <details><summary>Imports</summary> ```agda open import foundation.universe-levels open import foundation-core.empty-types ``` </details> ## Idea The Curry-Howard interpretation of _negation_ in type theory is the interpretation of the proposition `P ⇒ ⊥` using propositions as types. Thus, the {{#concept "negation" Disambiguation="of a type" WDID=Q190558 WD="logical negation" Agda=¬_}} of a type `A` is the type `A → empty`. ## Definition ```agda infix 25 ¬_ ¬_ : {l : Level} → UU l → UU l ¬ A = A → empty map-neg : {l1 l2 : Level} {P : UU l1} {Q : UU l2} → (P → Q) → (¬ Q → ¬ P) map-neg f nq p = nq (f p) ``` ## External links - [negation](https://ncatlab.org/nlab/show/negation) at $n$Lab - [Negation](https://en.wikipedia.org/wiki/Negation) at Wikipedia