Import Coq进口问题

Import Coq进口问题,import,coq,Import,Coq,我正尝试像往常一样导入以下内容: Require Import Coq.Structures.OrdersFacts 然后我试着用其中的一个引理: 应用比较。比较iff。或应用比较iff。 但都不管用。。。我缺少什么?CompareFacts是模块类型,而不是模块。你可以看到,如果你这样做 Require Import Coq.Structures.OrdersFacts. Print OrdersFacts.CompareFacts. 找到这种类型的模块并应用它的引理 编辑: 我的意思是

我正尝试像往常一样导入以下内容:

Require Import Coq.Structures.OrdersFacts
然后我试着用其中的一个引理:
应用比较。比较iff。
应用比较iff。

但都不管用。。。我缺少什么?

CompareFacts
模块类型
,而不是
模块
。你可以看到,如果你这样做

Require Import  Coq.Structures.OrdersFacts.
Print OrdersFacts.CompareFacts.
找到这种类型的模块并应用它的引理

编辑:

我的意思是,要在上使用引理,即
nat
,您需要一个模块来显示
nat
是一个
decstorder'
(来自
PeanoNat
nat
就是这样一个模块),并且还需要一个专门为
nat
比较
的模块

也许一个例子更有用

Require Import  Coq.Structures.OrdersFacts.

Module mymodule (O:DecStrOrder') (T: CompareFacts O).
  Import T.
  Import O.
  Check compare_eq_iff. (* from CompareFacts *)

  (* a theorem about terms of type O.t *)
  Lemma lem1 a b c: (a ?= b) = Eq -> b == c -> c == a. 
    intros.
    rewrite compare_eq_iff in H.  (* here we use the lemma *)
    rewrite H.
    rewrite H0.
    apply eq_equiv.
  Qed.
End mymodule.

(* the above module functor can be specialised for i.e. nat *)

Require Import PeanoNat.

Print CompareFacts.
Module M : CompareFacts Nat.
  Definition compare_eq_iff := Nat.compare_eq_iff.
  Definition compare_eq := Nat.compare_eq.
  Definition compare_lt_iff := Nat.compare_lt_iff.
  Definition compare_gt_iff := Nat.compare_gt_iff.
  Definition compare_nlt_iff := Nat.compare_nlt_iff.
  Definition compare_ngt_iff := Nat.compare_ngt_iff.
  Definition compare_refl := Nat.compare_refl.
  Definition compare_compat: Proper (eq==>eq==>eq) Nat.compare.
    intros x y Hxy a b Hab; now subst. Defined.
  Definition compare_antisym := Nat.compare_antisym.
End M.  

Module natmodule := mymodule Nat M.
Check natmodule.lem1.

您错误地将单词
复制粘贴到导入行中。应该是
Require Import Coq.Structures.OrdersFacts.
你的代码中也有这个吗?@larsr这是一个复制粘贴错误,代码很好。不确定你说的“找到这种类型的模块并应用它的引理”是什么意思?@Orenishalom我用一个例子更新了答案。@larsr奇怪的是,
CompareFacts
是一个返回
模块类型的函子,但它正确地定义了它声明的所有引理。所以我们可以写以下内容:
modulem@eponier是的,这更好。感谢您显示
Include
关键字。