波依兰/十二世
文件夹和文件
存储库文件导航
这是John Boyland的Twelf库的0.9版 (如果此目录包含Makefile,则它是源 库的Twelf签名。 提供的Makefile 要求CPP(默认为“CPP”)是C预处理器, 例如许多Unix系统上的/lib/cpp。) 为了弥补模块系统的不足,其中一些签名是 通过使用C预处理器生成。 我还伪造了一个模块 系统,使用反引号`since。 (正确地)名称不合法。 分发包括以下Twelf文件: *一些应该是标准的简单定义。 std.elf(名称为overreach!) *布尔常量。 这包括一些标准的平等和 不等式定理(如等式的传递性) 尝试为所有数据类型进行证明。 bool.elf(小精灵) *自然数(由z和s组成)。 签名包括 加号、倍数、eq、gt(大于),以及其他一些主要 派生关系(减号、ge、lt等)。 它还包括一个divrem 带余数的整数除法运算。 包裹 包含300多个关于这些关系的定理 自动检查手写校样(使用Twelf 1.5R3)。 nat.elf公司 *配对。 这对平凡的“函子”。 有一个实例化 对于包含同构的自然数对 将对转换为自然数,以便可以(间接)使用对 作为地图的键(q.v.)。 pair.elf(函子)、natpair.eff(自然数对 数字)。 *正有理数(用连分数表示)。 签名需要“nat.elf”和“natpair.elf add、mul、eq、grt和派生关系,包括类似关系 关系,但也是div关系。 除法是一个总数 对积极理性的操作。 签名包括 从正有理数到自然数的同构 使有理数可以作为映射(q.v.)的域。 该软件包包含300多个完全证明的定理。 rat.elf rat0.elf(非负有理数) *局部贴图。 此签名表示自然数的映射 到未指定的数据类型数据。 使用前必须定制。 它包括超过55个被充分证明的定理。 此外,如果 “data”数据类型支持leq、join和/或meet操作 这些操作的定义是针对地图和100多个额外的 涉及它们的定理。 我们还有地图域和地图刻度 插件和map-trans、map-all、map-restrict帮助函数。 map.elf(签名,手写),map.tgz(所有 映射定理)。 *自然数的集合。 此签名实现有限的 自然数。 如上所述,代表性是“充分的”:两个 如果集合相等,则它们是等价的。 签名主要是 通过实例化“map”functor生成,其中“data”为 “单位”。 其他操作包括成员操作、非成员操作、leq操作、联合操作、, 交集,添加(单个元素)和删除(集合)。 这个 签名包含300多个关于这些的充分证明的定理 操作。 设置.elf *多组自然数。 此签名实现多集 作为自然数的映射。 联合操作执行“max” 操作。 它是使用映射“functor”实现的 多个.elf *矢量(带长度)。 这是一个类型上的“functor”,包含 添加定义的“mul”操作。 长度用于确保 没有尝试比较(eq)、添加或点矢量 长度不同。 仅当 基础数据类型包含零。 vector.elf(函子),rat0vector.eff(向量 非负有理数)。 提供了所有这些签名和生成的ELF代码的来源 不限制任何希望以任何方式使用它们的人。 发行说明: 0.9: map的辅助函子:map all map trans map restrict map minmax 现在许多定理都有一个可定义的世界。 导出到git 0.8: README已添加到版本 限制单引号,以便“make”与现代CPP兼容 更多的集合定理(尤其是关于集合移除的定理) 0.7: *-作为*-确定性的替代方案提供的唯一性 上次更新时间:2012年10月24日。