Coq正在使用类似于OCaml的模块系统。在OCaml中,我们可以应用像Module_A.Module_B.Func这样的函数,并使用Module_A.Module_B来查找到Func的路径。然而,我不能在Coq中做类似的事情。例如,如果我只运行Print Coq.Arith.Minus.minus_n_O.,Coq报告Coq.Arith.Minus.minus_n_O is not a defined object.
我必须先加载库,然后才能打印对象。在下面的例子中,它是成功的。From Coq
因此,在某种意义上,我需要向编译器展示一条路径同时具有类型path (Node c v)和path (Vector.nth v i),但是Coq还不够聪明,不足以计算(Vector.nth childrenRequire Coq.Bool.Bool. Open Scope bool.Require Coq.Arith.PeanoNat. Open Sc