如何使Coq中模块签名之外的符号可见?

如何使Coq中模块签名之外的符号可见?,coq,theorem-proving,Coq,Theorem Proving,我在Coq中定义了一个模块签名,它定义了几个符号。然而,当我尝试在签名之外使用这些符号时,Coq失败了。下面给出了我的代码的简化版本。任何帮助都将不胜感激 Module Type Field_Axioms. Delimit Scope Field_scope with F. Open Scope Field_scope. Parameter Element : Set. Parameter addition : Element -> Element -> Ele

我在Coq中定义了一个模块签名,它定义了几个符号。然而,当我尝试在签名之外使用这些符号时,Coq失败了。下面给出了我的代码的简化版本。任何帮助都将不胜感激

Module Type Field_Axioms.

  Delimit Scope Field_scope with F.
  Open Scope Field_scope.

  Parameter Element : Set.

  Parameter addition : Element -> Element -> Element.

  Infix " + " := addition : Field_scope. (* ASSIGNS THE "+" OPERATOR TO SCOPE. *)

End Field_Axioms

Module Type Ordered_Field_Axioms.

  Declare Module Field : Field_Axioms.

  Print Scope Field_scope. (* SHOWS THAT THE SCOPE IS EMPTY. *)

End Ordered_Field_Axioms.
您可以替换:

Declare Module Field : Field_Axioms.
与:

Declare Module Import Field : Field_Axioms.