所以我有另一个“简单”的阿加问题。我想要一个使用任意评估作为前提和结果的证明。但我认为我对类型系统的了解不足以做到这一点。
作为一个简单的例子
f : {S : Set} -> (a : S)
-> ( R : S -> Set)
-> (R a)
f aa rr = rr aa
有编译错误
Set !=< rr aa of type Set1
when checking that the expression rr aa has type rr aa
当然
f : {S : Set} -> (a : S)
-> ( R : S -> Set)
-> Set
f aa rr = rr aa
编译得很好
一样
f : {S : Set} -> (a : S)
-> ( R : S -> Set)
-> (R a)
-> (R a)
f _ _ ra = ra
(R a)
在上下文中意味着什么?可以建造吗?它是如何建造的?