Chuangjie Xu, 2014

(Changes not needed for the cubical version of 9th Nov 2017)

\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[₁≠₀] p = idtofun a 
 where
   f :   Set
   f  = 
   f  = 
   a :    
   a = ap f p 

Lemma[₀≠₁] :   
Lemma[₀≠₁] p = Lemma[₁≠₀](p ⁻¹)

₂-discrete : discrete 
₂-discrete   = inl refl 
₂-discrete   = inr Lemma[₀≠₁]
₂-discrete   = inr Lemma[₁≠₀]
₂-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}