【发布时间】:2016-01-07 03:31:13
【问题描述】:
似乎为了证明一个记录类型的两个项目是等价的,我需要编写一个帮助程序来获取组件明智的证明并应用它们。 一个例子:
postulate P : ℕ → Set
record Silly : Set (ℓsuc ℓ₀) where
constructor _#_#_
field
n : ℕ
pn : P n
f : Set → ℕ
open Silly
SillyEq : ∀ s t → n s ≡ n t → pn s ≅ pn t → f s ≡ f t → s ≡ t
SillyEq (n # pn # f) (.n # .pn # .f) ≡-refl ≅-refl ≡-refl = ≡-refl
我觉得SillyEq 应该以某种方式提供给我,我不需要自己编写它——或者我弄错了。
此外,如果不声明构造函数并对其进行模式匹配,我无法证明 SillyEq。
感谢您的帮助!
【问题讨论】: