LEAN 类型理论之注解(Annotations of LEAN Type Theory)-- 商类型(Quotient Type)

devtools/2024/9/21 9:17:02/

        商类型(Quotient Type),也称划分类型,通过给定义一个定义在某一类型 α 上的关系R:α → α→ ℙ,将类型α 中,满足关系R的元素摘出来,组成该商类型(Quotient),记 α / R。简单来说,有:

a,b : α,R a b ⊢ a,b : α / R

        如,定义在自然数(Nat)上的相等关系,即  α ≡ Nat,R ≡ Eq,有商类型 Nat / Eq,其元素包含所有自相等的自然数,即所有自然数,有 | Nat / Eq | = | Nat |。

        1. 类型规则(Type Formation Rule):

        2. 构建函数(Introduction Rule):        

       3. 使用函数(Eliminator Rule):

        4. 相等规则(Equality Rule):

        5. 步进规则(Progress Rule):


http://www.ppmy.cn/devtools/108506.html

相关文章

defineModel在vite中报错

在vue3中导入defineModel报错 SyntaxError: The requested module ‘/node_modules/.vite/deps/vue.js?v247ee786’ does not provide an export named ‘defineModel’ 去.vite/deps/vue.js中查找了下,确实没导出defineModel 去网上找了下没有此问题 后面去查了官…

flink窗口分组数据错乱

文章目录 问题目标解决问题-方案1使用事件时间迟到时间输出幂等 解决问题-方案2 问题 正常的flink 作业运行,带窗口的运行,因为上游业务的影响,导致业务恢复后,积累的kafka 数据瞬时涌到flink 程序里,flink 窗口分钟的…

从零开始:打造你的第一个餐厅点餐小程序

目录 1 为什么选择点餐小程序2 会有哪些功能2.1 顾客端2.2 服务员端2.3 后厨端2.4 收银端2.5 管理员(老板)端 3 开发工具选择4 你将获得什么让我们开始吧 最近,有不少粉丝咨询,有没有系统的低代码学习教程呀?为啥你的教…

Java Web —— 扩展(Maven高级)

分模块设计与开发 未分模块设计的问题 不方便项目的维护和管理、项目中的通用组件难以复用 分模块设计 分模块设计就是将项目按照功能/结构拆分成若干个子模块,方便项目的管理维护、拓展,也方便模块 键的相互调用、资源共享。 继承与…

浅谈C#之任务调度TaskScheduler

一、基本介绍 TaskScheduler 是一个抽象类,用于控制任务的执行方式,特别是它们如何被安排到线程池中的线程上执行。 TaskScheduler 负责将 Task 对象排队并决定何时、以何种方式执行这些任务。 二、TaskScheduler的作用 调度任务:将任务分配…

(postman)接口测试进阶实战

1.内置和自定义的动态参数 内置的动态参数有哪些? ---{{$}}--是内置动态参数的标志 //自定义的动态参数 此处date.now()的作用就相当于上面的timestamp 2.业务闭环及文件接口测试 返回的url地址可以在网页中查询得到。 3. 常规断言,动态参数断言&#xf…

Vue - 关于Router路由跳转时显示的animate.css动画

Vue - 关于Router路由跳转时显示的animate.css动画 在Vue中,操作路由跳转时页面是闪白的,没有动画效果,我们可以通过在router-view中设置transition,并搭配animate丰富的动画效果来美化路由跳转时的显示效果. 1.安装animate np…

Scratch 变量模块

引言 在编程世界里,变量是一种非常重要的数据存储机制,它允许我们在程序运行过程中保存和处理信息。Scratch 作为一种入门级的编程语言,同样提供了变量功能,使得用户可以轻松地理解和使用变量这一概念。本文将介绍如何在 Scratch …