我在一个名为A.v
Module Type WeakPair.
...
End WeakPair.
Module WeakPairProps (Import WP : WeakPair).
Lemma Weak_A ....
End WeakPairProps.
然后我想定义另一个文件B.v
,可以使用Lemma
中的WeakPairProps
,例如:Weak_A
。
因为WeakPairProps
不是模块类型所以我不知道如何编写可以重用WeakPairProps
中的引理的模块。
答案 0 :(得分:2)
首先,您需要定义实现模块类型WeakPair
的模块:
Module WeakPairImpl <: WeakPair.
(* stuff goes here *)
End WeakPairImpl.
现在您可以实例化仿函数WeakPairProps
:
Module WeakPairPropsInst := WeakPairProps(WeakPairImpl).
您现在可以参考引理:
WeakPairPropsInst.lemma
如果您不想使用限定名称,可以导入 WeakPairPropsInst。