_==Nat_ : Nat @$\rightarrow$@ Nat @$\rightarrow$@ Bool zero ==Nat zero = true (suc n) ==Nat zero = false zero ==Nat (suc m) = false (suc n) ==Nat (suc m) = n ==Nat m instance natHas== : Eq Nat natHas== = record { _==_ = _==Nat_}