coq - 非归纳类型的类型相等

标签 coq

我想考虑 Coq 中实数的相等性。

但是 Coq.Reals.Reals. 中的 R 不是归纳类型,所以我不能定义像 Nat.eqb 这样的函数。

如何在 Coq 中定义实数相等?

最佳答案

实数在 Coq 中被公理化,它们的相等运算符也是如此:

Require Import Coq.Reals.Reals.

Check Req_EM_T.

(* forall r1 r2 : R, {r1 = r2} + {r1 <> r2} *)

{r1 = r2} + {r1 <> r2} type 是一个提供信息的 bool 值,可以为您提供两个实数是否相等的证明。

关于coq - 非归纳类型的类型相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64303608/

相关文章:

COQ:如何在同一个引理中为 Z 和 R 使用 "<="?

haskell - 支持(多个)子类型化/子类化的定理证明者/证明助手

record - Coq:是否可以证明,如果两条记录不同,那么它们的一个字段也不同?

coq - Coq 中的子类型

coq - 如何在 Coq 中定义有序对?

coq - 覆盖一个明显不正确的假设并不能证明是错误的

coq - 为什么有时我可以通过引理证明目标,但不能直接证明?

coq - 由于未知原因,依赖类型表达式中的术语重写失败

coq - Coq 中实数的更强完备性公理

coq - Ltac 中可能出现 "printf-debugging"吗?