Negation

module foundation-core.negation where
Imports
open import foundation-core.empty-types
open import foundation-core.universe-levels

Idea

The Curry-Howard interpretation of negation in type theory is the interpretation of the proposition P ⇒ ⊥ using propositions as types. Thus, the negation of a type A is the type A → empty.

Definition

¬ : {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)