我正在尝试编写一个整数与+
运算相反的证明。
我已经定义了告诉我们给定整数是否为0的函数。
Z定义为(a , b) which is (a - b)
否定:
-_ : ℤ → ℤ
- (x , y) = (y , x)
数字是否为零?
is0 : ℤ → Set
is0 (a , b) = a ≡ b
现在我可以将左逆定义为
leftInverse : (x : ℤ) → is0 (- x + x)
leftInverse (x , x₁) = comm-+ x₁ x
comm-+
对+操作是可交换的。
我想知道这是做什么的?当我通过is0 (1 , 2) it returns 1 ≡ 2
并通过is0 (1 , 1) it returns 1 ≡ 1.
我知道is0的返回类型已设置但是如何确保该数字为0?这个证明是否正确?