I want to write a function which take set as input and return true if it is top and false if it is bottom.
I have tried in this way..
isTop : Set → Bool
isTop x = if (x eq ⊤) then true
else false
But i am not able to define eq correctly. I tried as..
_eq_ : Set → Set → Bool
⊤ eq ⊥ = false
This is not working because when i check T eq T it is also returning false.
Please help me to write this eq function or any other ways to write isTop.
It's impossible in Agda, but is not senseless in general.
You could write something not very meaninigful:
u
can be inferred fromIs ⟦ u ⟧
, because⟦_⟧
is constructor headed.Is
is a singleton, so it allows to lift values to the type level. You can find an example of using here.