Agda非Cubical环境下的Multisets相关包咨询
在非Cubical Agda环境下获取多重集合(Multisets)的包指引
首选:Agda 标准库(agda-stdlib)
这是最省心的方案,无需额外安装第三方包,只要你安装Agda时搭配了兼容版本的标准库即可使用。
- 核心模块:
Data.Multiset
该模块包含多重集合的基础定义(如空集∅、带元素的集合构造_∷_),以及核心操作:- 元素计数:
count - 集合合并:
_++_ - 元素插入/删除:
insert、delete
同时附带了这些操作的基本性质证明(如合并操作的结合律、交换律)。
- 元素计数:
- 版本兼容:确保Agda版本与标准库版本匹配,例如Agda 2.6.3对应stdlib 1.7.2,版本不匹配会导致编译报错。
- 使用示例:在代码开头导入模块
open import Data.Multiset using (Multiset; ∅; _∷_; count; _++_)
扩展选择:agda-contrib
如果标准库的功能无法满足特定需求,可以考虑这个社区维护的扩展包集合:
- 相关模块:部分版本中包含
Data.Multiset.Extra,提供了标准库没有的扩展操作(如过滤、映射的变体实现)。 - 安装方式:通过Agda包管理器执行命令
agda install agda-contrib
注意事项
- 若导入模块时提示找不到,检查
~/.agda/packages文件是否已添加对应包名(标准库通常默认配置,agda-contrib安装后会自动添加)。
内容的提问来源于stack exchange,提问作者Atugo
相关产品推荐
相关产品推荐

