12345678910111213141516171819202122232425262728293031323334353637383940-------------------------------------------------------------------------- The Agda standard library---- Empty type, judgementally proof irrelevant, Level-monomorphic------------------------------------------------------------------------ {-# OPTIONS --cubical-compatible --safe #-} module Data.Empty where open import Data.Irrelevant using (Irrelevant) -------------------------------------------------------------------------- Definition -- Note that by default the empty type is not universe polymorphic as it-- often results in unsolved metas. See `Data.Empty.Polymorphic` for a-- universe polymorphic variant. private data Empty : Set where -- ⊥ is defined via Data.Irrelevant (a record with a single irrelevant-- field) so that Agda can judgementally declare that all proofs of ⊥-- are equal to each other. In particular this means that all functions-- returning a proof of ⊥ are equal. ⊥ : Set⊥ = Irrelevant Empty {-# DISPLAY Irrelevant Empty = ⊥ #-} -------------------------------------------------------------------------- Functions ⊥-elim : ∀ {w} {Whatever : Set w} → ⊥ → Whatever⊥-elim () ⊥-elim-irr : ∀ {w} {Whatever : Set w} → .⊥ → Whatever⊥-elim-irr ()