证明m≤n - > k≤l - > Agda中m +k≤n+ l

时间:2015-07-28 01:08:57

标签: agda theorem-proving

我想证明

{m n k l : ℕ} -> m ≤ n -> k ≤ l -> m + k ≤ n + l

在阿格达。 我可以通过以下代码证明m + k ≤ m + l

add≤ : {m n : ℕ} -> (k : ℕ) -> m ≤ n -> k + m ≤ k + n
add≤ zero exp = exp
add≤ (suc k) exp = s≤s (add≤ k exp)

由于我可以证明m + k ≤ m + l,我想证明m + l ≤ n + l。如果我能做到这一点,我将使用我已定义的≤-trans : Transitive _≤_

我可以用m + l ≤ n + l证明m ≤ n, k ≤ l吗?或者,我是否必须更改计划以使用≤-trans

1 个答案:

答案 0 :(得分:2)

它只是

open import Data.Nat
open import Data.Nat.Properties

le : {m n k l : ℕ} -> m ≤ n -> k ≤ l -> m + k ≤ n + l
le {n = n}  z≤n    q = ≤-steps n q
le         (s≤s p) q = s≤s (le p q)