Chuangjie Xu, 2014

\begin{code}

{-# OPTIONS --without-K #-}

module Preliminaries.Boolean where

open import Preliminaries.SetsAndFunctions
open import Preliminaries.HSet

\end{code}

Booleans, basic operations and properties

\begin{code}

data  : Set where
  : 
  : 

{-# BUILTIN BOOL  #-}

if : {X : Set}    X  X  X
if  x₀ x₁ = x₀
if  x₀ x₁ = x₁

Lemma[₀≠₁] :   
Lemma[₀≠₁] ()

₂-discrete : discrete 
₂-discrete   = inl refl 
₂-discrete   = inr  ())
₂-discrete   = inr  ())
₂-discrete   = inl refl

₂-hset : hset 
₂-hset = discrete-is-hset ₂-discrete

Lemma[b≡₀∨b≡₁] : ∀{b : }  (b  ) + (b  )
Lemma[b≡₀∨b≡₁] {} = inl refl
Lemma[b≡₀∨b≡₁] {} = inr refl

Lemma[b≠₀→b≡₁] : {b : }  ¬ (b  )  b  
Lemma[b≠₀→b≡₁] {} f = ∅-elim (f refl)
Lemma[b≠₀→b≡₁] {} f = refl

Lemma[b≠₁→b≡₀] : {b : }  ¬ (b  )  b  
Lemma[b≠₁→b≡₀] {} f = refl
Lemma[b≠₁→b≡₀] {} f = ∅-elim (f refl)

\end{code}