我如何谈论Agda中的特定构造函数

我如何谈论Agda中的特定构造函数,agda,Agda,说我有 data Maybe : Set -> Set where Just : forall {A} -> A -> Maybe A Nothing : forall {A} -> Maybe A 我定义了我自己的负号 minus : Nat -> Nat -> Maybe Nat minus zero zero = Just zero minus zero _ = Nothing minus n zero

说我有

data Maybe : Set -> Set where
    Just : forall {A} -> A -> Maybe A
    Nothing : forall {A} -> Maybe A
我定义了我自己的负号

minus : Nat -> Nat -> Maybe Nat
minus zero zero       = Just zero
minus zero _          = Nothing
minus n zero          = Just n
minus (suc n) (suc m) = minus n m
我想证明,对于所有的mn,如果m>n,(减去mn)总是吐出a(只是Nat)。 我想知道如何将这个声明编码为一个类型


谢谢大家!

您可以使用标准库的。您的声明如下所示:

lt-minus-total : ∀ n m → m < n → Is-just (minus n m)
lt减去总计:∀ n m→ m