这个引理能在Coq中被证明吗?简单的destruct不能编译,因为我们不能消除sort Prop中的对象exists p:nat, P n p,从而在sort Set中生成函数f。如果Coq不能证明这个引理,那么forall n:nat, exists p:nat, P n p的含义是什么?在构造性数学中,它意味着函数f的存在,但我的印象是,我们永远不会在Coq中看到这个函数f,甚至在上面表达的排序
我有一些使用存在类型的Scala代码,我正在升级到2.10,我注意到关于添加“导入language.existentials”的警告,这让我认为应该有更好的方法来编写它。the compiler option -language:existentials.[warn] See the Scala docs for value scala.language.existentials for a discussion
[warn] why the feature[warn] va
我需要使用标准库中名为Coq.Arith.PeanoNat ()的部分。我尝试过的其他每个库都运行得很好。在Print Bool.上,我可以在下面的格式中查看内部的所有函数:BoolDefinition....<W> Grammar extension: in [tactic:simple_tactic], some
parameter bounds [T <: _experiment.akka_persistence.Test2.B[T]]编辑: import scala.language.existentials
case class A[T <: B[T]](t: T)// compiles fine
val r9:(A[_<:SomeB],(A[_&
类型类型是Algo,它的实际实现需要一个Container_ <:Id,并且应该从该容器返回一个元素。但是由于某种原因,抽象特性&实现函数中的algo方法的返回类型不同,尽管它们应该是相同的。[warn] This can be achieved by adding the import clause 'import scala.language.existentials'
[warn] orby setting the compiler option
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