Использование типа Shapeless Nat
, как я могу получить доказательства того, что два натуральных числа не равны?Доказательство того, что два натуральных числа не равны?
Это то, что у меня есть до сих пор, но это только доказывает, что данный Nat
не равен 0. Как я могу доказать, что любые два значения Nat
не равны?
trait NEq[A <: Nat, B <: Nat] extends Serializable
object NEq {
def apply[A <: Nat, B <: Nat](implicit neq: A != B): NEq[A, B] = neq
type !=[A <: Nat, B <: Nat] = NEq[A, B]
implicit def neq1[B <: Nat] = new !=[Succ[B], _0] {}
implicit def neq2[B <: Nat] = new !=[_0, Succ[B]] {}
}