数学联邦政治世界观
超小超大

类型论与coq (5-2)

比如我们要证明A → B,我们想想我们应该如何做证明,是不是就是我们考虑任意一个满足性质A的东西,然后我们通过"证明"来得到一个对应的属于性质B的元素,那这个就好比说我们先找一个α:A,然后我们构造一个函数f,这个函数f自然只能使用我们已有的条件,最后我们应该能得到f(α):B,即f:A → B.

那在coq中怎么做呢,我们需要介绍几个关键字,第一个是move,比如说我们现在要证明

Lemma move_ex : A->A.

我们可以使用move指令来获得一个A中的元素,具体是这么操作的

move=>a.

这个可以这么看,我们通过move指令获得了A → A定义域中的一个元素,然后我们就现在需要做的是,根据我们已有条件α:A,这是通过move得到的,我们希望证明,或者说我们希望构造一个函数最后获得一个A中的元素,怎么做呢?自然是直接返回我们已有的α就好了,所以整个完整的证明就是。

Lemma move_ex : A->A.

proof.

move=> a.

apply a.

Qed.

这里值得一提的是在Coq中每行末尾需要使用一个.来表示结束,并且在证明结束的时候使用Qed.表示完结。

那让我们来再看一个例子

Lemma move_ex : A->B->A.

我们自然而然地还是先获得我们的假设条件

move=>a.

于是我们现在需要做的是要通过这个α:A构造一个B → A的东西,那很自然的我们想我们再继续获得B中的一个元素。

move=>b.

这里我们也可以把这两行写到一行变成:

move=>a b.

于是现在我们只需要给出一个A中的元素就行了,所以我们可以进行

apply a.

此处我们留一道习题以示友好

Lemma ex1 : (A -> B -> C) -> (B -> A) -> B -> C.

宇宙和族

在类型论里面类似于集合论的我们也有宇宙和类型族的概念,但是这里的宇宙跟集合论里的宇宙其实不太一样,在这里我们把元素为Type的Type作为宇宙,比如说所有的Prop就是一个宇宙,因为里面的元素都是一些别的Type,比如说性质A,但是于集合论相似的是我们仍然没有办法找到一个宇宙使得他自己包含自己。

为了避免自指的情况出现,我们对宇宙进行分层,这是一个很常见的操作,具体行为如下:

U₀:U₁:U₂:. . .

当然一般在不引起歧义的情况下我们更愿意直接写成U。

至于类型族的定义则是完全于集合论类似的,对于给定一个Type A,我们考虑函数B:A → U,这个函数我们就成为一个类型族,毕竟如果考虑α:A,f(α):U是一个Type

∏-Type与∑-Type/Dependent function types

这个东西给出了函数的更一般的定义,我们回顾之前我们定义的函数,是f:A → B,于是我们给一个α:A,f(α):B,这是一个非常局限的定义,有时候我们会希望α对应的值所在的类依赖于α的选取,那么这个时候我们就需要用到∏-Type。具体定义如下:

Def 2. 给定一个类型A:U,和一个类型族B:A → U,我们考虑函数

∏,B(x):U

x:A

注意到当B是一个常类型族即将所有的α:A都映到同一个类,此时

∏ B:U≡(A → B)

x:A

数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。

相关小说

重来一次会如何 连载中
重来一次会如何
鹤佳m
我是个普通在普通不过的女子,因为含恨死去,上天重新给了我开挂一样的人生。
3.3万字1年前
啵叽小铺:壁纸哟 连载中
啵叽小铺:壁纸哟
公元前1110
喜欢存图片壁纸,手机装不下了,发出来分享下,各位有看上眼的随便抱。ps:都是在网上下载的,如果涉及版权问题,请通知下,我好删。
0.1万字1年前
凤临天下之浴火 连载中
凤临天下之浴火
山前梅子酒
【已签约】他是神界尊者,高高在上,容颜如静心雕刻般完美,女子无不对此心动,却有一凡人女子对着他说:“龙临渊,你今晚睡地上!”众人:“……”
10.5万字1年前
暴君的将门毒后 连载中
暴君的将门毒后
月明今安 ♑
妖族女帝被渣男杀害,竟然被灵界将门的一个丫头招魂回来了?她发誓这一世一定要手刃那对狗男女!邪魅狂狷,权势滔天,不可一世,绝美天下的暴君竟然想......
21.3万字1年前
图腾领域:怨冥组织 连载中
图腾领域:怨冥组织
栀风永月
自己康康吧
7.7万字1年前
因为是你,我愿倾尽所有 连载中
因为是你,我愿倾尽所有
不言成蹊
在神明离开后的世界里,一对姐妹脱颖而出,这是她们的双向救赎之路
7.0万字1年前