集合族迪卡尔积(Cartesian product of a family of sets)浅析

集合族迪卡尔积(Cartesian product of a family of sets)就是 依赖函数类型 (Dependent Function Type / Dependent Arrow Type),也是索引类型(Indexed Type)迪卡尔积(Cartesian product of an indexed type)。

之所以叫《集合族迪卡尔积》,首先,这里集合就是类型的意思。迪卡尔积其实就是《代数类型 (Algebraic Types)浅析》 里说的 积类型 (Product Type)。然后,集合族 (family of sets)也可以看作为 索引类型 (Indexed Type),也就是依赖类型(Dependent Type)。

举个例子,依赖函数类型 F = a: A -> B a,当 B 不需要依赖 a 时,即F = A -> B,普通的函数类型。此时,套用 《代数类型 (Algebraic Types)浅析》 里 指数类型(Exponential Type)的概念,F = B ^ A。同时, B ^ A = B x B x ... x B, 一共 |A| 个 B 相乘, 也就是  |A| 个 B 的 积类型。

现在,将上述的逻辑,通用化(Generalize)一下,推广至依赖函数类型, 

F = a: A -> B a

= (B a) ^ (a : A)

= (B a1) x (B a2) x ... x (B an)

因为A里面的不同元素a1, a2, ..., an 会产生不同 目标类型 B a1,B a2, ...,B an,所以,最终就形成了,以A里面的元素为索引的索引类型  B a1,B a2, ...,B an,而整个依赖函数类型Dependent Function Type / Dependent Arrow Type,就可以看作是这些 索引类型的积,(Cartesian product of an indexed type)。也就是,集合族迪卡尔积(Cartesian product of a family of sets)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值