coq 中的多态相等
polymorphic equality in coq
我找不到重载的标准库 == 函数和 returns 布尔值(或 sumbool,或我可以用来计算的东西)。我希望能够做到
3==5
和
"hello" == "hello"
无需指定参数的类型。如果 Coq 没有这种相等类型的特性,我会感到惊讶;有人可以告诉我在哪里可以找到它吗?我有一种感觉,它与 ssreflect 有关,但我无法弄清楚。
谢谢。
Ssreflect 有 eqType
class,它正是您需要的:
From mathcomp Require Import ssreflect ssrfun ssrbool eqtype.
Check (3 == 5).
大多数标准类型都在 ssreflect 中定义了相等运算符。不幸的是,字符串不是其中之一,尽管自己动手并不难。 (Deriving library 附带一个实例,但尚未标记为稳定。)
我找不到重载的标准库 == 函数和 returns 布尔值(或 sumbool,或我可以用来计算的东西)。我希望能够做到
3==5
和
"hello" == "hello"
无需指定参数的类型。如果 Coq 没有这种相等类型的特性,我会感到惊讶;有人可以告诉我在哪里可以找到它吗?我有一种感觉,它与 ssreflect 有关,但我无法弄清楚。
谢谢。
Ssreflect 有 eqType
class,它正是您需要的:
From mathcomp Require Import ssreflect ssrfun ssrbool eqtype.
Check (3 == 5).
大多数标准类型都在 ssreflect 中定义了相等运算符。不幸的是,字符串不是其中之一,尽管自己动手并不难。 (Deriving library 附带一个实例,但尚未标记为稳定。)