我有一个定理T,它的证明,以及用于证明它的数以万计的引理。
我想隐藏这些引理,只提供定理 - 主要是因为我不想为Lemmas想出好的全球名称。
我可以将定理,证明和引理放在一个模块中,用模块类型限制,并且只提供定理吗?
类似的东西:
Module Type T_MY_T. End T_MY_T. Module T_My_theorem : T_MY_T. Lemma L1: ... Proof. Admitted. Lemma L2: ... Proof. Admitted. Theorem My_Great_Theorem: ... Proof. apply L1; apply L2. Qed. End T_My_theorem.
如果是这样,有人可以发帖或指点我一个简单的例子吗?
答案 0 :(得分:2)
Module Type A
应包含您要导出的定理的公理。 Module B : A
包含这些公理作为需要证明的定理。它还可以包含证明定理所需的任何引理和其他机器。要从模块外部访问定理,您可以apply B.Theorem1
等