{-# OPTIONS --without-K --safe #-}
module Prelude.Bool where

open import Agda.Builtin.Unit
open import Prelude.Empty
open import Prelude.Eq

open import Agda.Builtin.Bool public

infixr 6 _∧_
infixr 5 _∨_ _xor_

instance
  EqBool : Eq Bool
  _==_  EqBool  true  true  = true
  _==_  EqBool  false false = true
  _==_  EqBool  _     _     = false
  
not : Bool  Bool
not true  = false
not false = true

_∧_ : Bool  Bool  Bool
true   b = b
false  b = false

_∨_ : Bool  Bool  Bool
true   b = true
false  b = b

_xor_ : Bool  Bool  Bool
true  xor b = not b
false xor b = b

infix  0 if_then_else_

if_then_else_ :  {a} {A : Set a}
   Bool  A  A  A
if true  then t else f = t
if false then t else f = f

Truth : Bool  Set
Truth false = 
Truth true  =