如何解释agda中的REL

2024-01-26

我试图理解 Agda 标准库的某些部分,但我似乎无法弄清楚REL。 FWIW 这是定义REL:

-- Binary relations

-- Heterogeneous binary relations

REL : ∀ {a b} → Set a → Set b → (ℓ : Level) → Set (a ⊔ b ⊔ suc ℓ)
REL A B ℓ = A → B → Set ℓ

我在网上找不到任何解释这一点的文档,这就是我在这里询问的原因。这是如何定义二元关系的?


@RodrigoRibeiro 的回答解释了Level位,但是一旦你摆脱了宇宙层次,类型会是什么?Set → Set → Set与二元关系有关吗?

假设你有一个二元关系R ⊆ A × B。建模的命题方法是创建一些索引类型R : A → B → Set这样对于任何a : A, b : B, R a b有居民 iff(a, b) ∈ R。所以如果你想谈论所有的关系A and B,你必须谈论所有A- and B- 索引类型,即你必须谈论的RelationOverAandB = A → B → Set.

如果您想抽象关系的左侧和右侧基本类型,则意味着选择A and B不再固定。所以你必须谈谈REL,使得REL A B = A → B → Set.

那么,什么是类型REL?正如我们从REL A B例如,它需要选择A and B作为两个参数;其结果是type A → B → Set.

总结一下:给定

A : Set
B : Set

we have

REL A B = A → B → Set 

它本身有类型Set(请记住,我们在这里忽略了宇宙级别)。

因此,

REL : Set → Set → Set ∎
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解释agda中的REL 的相关文章

随机推荐

  • 如果填充了另一个字段,则 MVC 3 字段为必填字段

    我有一个简单的问题 例如 我有两个字段映射在模型 ex 上 textbox 1 和 textbox 2 我想问是否存在一种方法 前强制装饰器 仅当我填充 textbox 1 时才强制执行 textbox 2 如果我不填写textbox 1
  • iPhone 在 CoreData 保存时崩溃

    这是一个不同的情况这个问题 https stackoverflow com questions 1230858 iphone core data crashing on save 因为提供的解决方案不起作用并且堆栈不同 当我使用 cored
  • 从 HttpResponseMessage 获取 Excel 文件

    我正在开发一个 ASP NET Core 2 2 项目 我需要使用浏览器下载 Excel 但是当我执行请求时 我只得到一些 Json 我的 Excel 在流中 并且流不为空 这是我的代码 HttpResponseMessage messag
  • 为什么 requestWhenInUseAuthorization 不提示用户访问该位置?

    In my viewDidLoad我有的方法 locationManager CLLocationManager alloc init initializing locationManager locationManager delegat
  • 是否有 DCC32 选项将特定编译器警告视为错误?

    对于命令行构建 我想将警告 例如 构造包含抽象方法的实例 视为错误 我在 Delphi 2009 中没有找到用于此目的的 dcc32 命令行选项 有没有办法 例如使用 dcc32 cfg 来执行此操作 像这样 dcc32 W CONSTRU
  • 获取 QPixmap 的哈希值的最佳方法是什么?

    我正在使用 Qt 4 5 开发一个图形应用程序 并将图像放入 QPixmapCache 中 我想对此进行优化 以便如果用户插入已经在缓存中的图像 它将使用该图像 现在 每个图像都有一个唯一的 ID 有助于在绘制事件时优化自身 但是我意识到
  • PHP 中 error_log() 中的换行符

    如何在使用时插入换行符error log in PHP 我尝试使用 br and n 但那些没有用 添加错误消息时使用双引号 error log This is a two lined message nThis is line two 应
  • 如何使用pickle保存聊天机器人模型

    我创建了一个Chatbot using 聊天机器人 and tkinter图书馆 但每当我打开文件时它就会启动训练模型并且需要花费很多时间 因此我搜索并找到了解决方案泡菜模块 但现在我也尝试了 pickle 它不起作用并显示错误 有什么办法
  • 使用不同类型容器的迭代器范围初始化容器

    假设我们有std set
  • 命令行:“-”转换为“û”

    我在 bat 或 cmd 文件中运行此命令来启动 ftp 脚本 ftp v i s test script txt 命令窗口将其转换为 ftp v i s test script txt 因此它不起作用 注意 如果我从 cmd 窗口手动运行
  • 如何统计特定组中共同值的数量?

    我有一个数据框df df lt data frame shop c A A A B B B C C C product c 1 2 3 4 5 1 5 2 4 对于每对商店 即AB AC and BC 我想统计一下常见产品的数量 预期输出如
  • Ubuntu wsl2 git 在大型存储库上出现“远程端意外挂起”

    在 Windows 上的 wsl2 中的 Ubuntu 19 04 中获得此操作数天 git clone https github com gohugoio hugo git Cloning into hugo error RPC fail
  • 使用 apache commons fileutils 排除特定子目录

    我想使用 apache commons lib 列出当前目录下的所有文件 但排除子目录及其子目录中的所有文件 例如 如果我当前目录是 A 及其子目录为 B C DB 的子目录为 b1 b2 b1 的子目录为 b12 C 的子目录为 c1 c
  • 从 CMake 项目创建 Debian 软件包

    我正在考虑从现有库 paho mqtt c 创建 Debian 软件包 该项目使用 CMake 作为其构建系统 经过一些研究 我认为我需要创建两个或三个不同的包 libpaho mqtt3 带有库 so 文件和相关内容 libpaho mq
  • 如何找出哪些 JavaScript 引擎/平台支持 ES6 Unicode 正则表达式的哪些功能?

    我经常使用多种人类语言和书写系统 并尝试尽可能使用 JavaScript 最现代的功能 我经常发现我想使用现代 Unicode 正则表达式 例如 Unicode 属性转义 p L 看来 虽然许多 JS 平台都包含了越来越多的 ES6 功能
  • 缺少列的 GNU 并行 colsep

    我有一个程序 它采用可变数量的参数 并且我想与输入文件的每一行的一个实例并行运行该程序 输入文件以逗号分隔 某些行末尾缺少一些列 当列丢失时 如何指示 GNU Parallel 跳过参数替换 输入文件 A B C D E A B C D A
  • 删除列表中包含的数据帧行(不使用循环)

    问题解释 我有一个包含两列的数据框 A and B 我还有一个元组列表 其中元组的第一个元素是列中的元素 A 第二个在列中 B 我想删除与元组一致的数据帧的所有行 当然 我可以只使用循环 但我想要一个更智能的解决方案 更快 更干净 最小工作
  • 为 NumericUpDown 绘制边框

    我在应用程序中有一个用户表单 某些字段已验证 如果字段的值错误 则会为此控件绘制红色边框 它是通过处理制成的Paint该控件的事件 我延长了TextField and DateTimePicker to get Paint来自这些类对象的事
  • GTM 容器的预览和更新版本 | iOS系统

    我已经在我的 iOS 应用程序中集成了 google 标签管理器 我在某些地方陷入困境 How to preview the version before making it live I followed this https devel
  • 如何解释agda中的REL

    我试图理解 Agda 标准库的某些部分 但我似乎无法弄清楚REL FWIW 这是定义REL Binary relations Heterogeneous binary relations REL a b Set a Set b Level