Mai*_*tor 9 coq agda isabelle idris
在一些Cedille源中使用以下Nats编码:
cNat : ?
cNat = ? X : ? . X ? (? R : ? . (R ? X) ? R ? X) ? X
cZ : cNat
cZ = ? X . ? z . ? s . z
cS : ? A : ? . (A ? cNat) ? A ? cNat
cS = ? A . ? e . ? d . ? X . ? z . ? s . s · A (? a . e a · X z s) d
Run Code Online (Sandbox Code Playgroud)
我想知道这是否是其他语言中使用的常见编码(Agda,Idris,Coq).如果是这样,我如何解释它,它是如何工作的,以及如何构建这种类型的成员?
我试过申请,cS如:
c0 = cZ
c1 = (cS -CNat (? p : CNat . p) C0)
c2 = (cS -CNat (? p : CNat . p) C1)
c3 = (cS -CNat (? p : CNat . p) C2)
Run Code Online (Sandbox Code Playgroud)
哪个检查,但对我来说看起来很奇怪.p例如,可以用任何cNat里面的lambdas 代替.cNat对我来说,这看起来并不是同构的.我想我没有得到这种结构.
| 归档时间: |
|
| 查看次数: |
301 次 |
| 最近记录: |