这个反证明在agda中是否正确?

时间:2016-01-02 12:25:33

标签: agda theorem-proving

我正在尝试编写一个整数与+运算相反的证明。

我已经定义了告诉我们给定整数是否为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?这个证明是否正确?

0 个答案:

没有答案