Functional programming 如何在Agda'中定义别名;s型三角洲?
我的代码:Functional programming 如何在Agda'中定义别名;s型三角洲?,functional-programming,agda,Functional Programming,Agda,我的代码: law : ∀ a x → ((suc a) * (suc a) ÷ (suc a) ⟨ x ⟩) →ℕ ≡ (suc a , refl) law a x = refl 我认为有太多的suc a,我想给suc a一个别名,类似于(这段代码只是描述了我的想法,它没有编译): 我能做到吗?当然。您可以使用let law : ∀ a x → let s = suc a in (s * s ÷ s ⟨ x ⟩) →ℕ ≡ (s , refl) law a x = refl 或定义匿名模块
law : ∀ a x → ((suc a) * (suc a) ÷ (suc a) ⟨ x ⟩) →ℕ ≡ (suc a , refl)
law a x = refl
我认为有太多的suc a
,我想给suc a
一个别名,类似于(这段代码只是描述了我的想法,它没有编译):
我能做到吗?当然。您可以使用
let
law : ∀ a x → let s = suc a in (s * s ÷ s ⟨ x ⟩) →ℕ ≡ (s , refl)
law a x = refl
或定义匿名模块:
module _ (a : ℕ) where
s = suc a
law : ∀ x → (s * s ÷ s ⟨ x ⟩) →ℕ ≡ (s , refl)
law x = refl
模块外的
法律
与您提供的签名类型相同。谢谢您的回答!
module _ (a : ℕ) where
s = suc a
law : ∀ x → (s * s ÷ s ⟨ x ⟩) →ℕ ≡ (s , refl)
law x = refl