依赖类型是依赖于值的类型。很少有语言支持它们 - 例子包括Agda,ATS,Coq,Epigram,Scala(通过路径依赖类型,近似变体)和Idris,它们渴望生成系统级质量的本机代码。
如何在Coq中证明以下内容?目标所有人(AB):类型(A * A = B * B)%type-> A =B。如果无法证明,可以安全地将其作为公理添加吗?
John Major的等式带有以下重写的引理:检查JMeq_ind_r。 (* JMeq_ind_r:forall(A:类型)(x:A)(P:A->支撑),P x-> forall y:A,JMeq y x-> ...
功能扩展性是否可以证明约翰·梅杰(John Major)的平等(可能依赖于安全公理)?目标全部A(P:A->类型)(Q:A->类型)(f:全部a,P a)(g:全部a,Q a),(全部a,JMeq(f ...
我正在学习无形,并且对依赖类型有一些误解。这是示例:对象App {trait Converter [A] {类型Output def convert(a:A):Output}隐式def ...
我遇到了一个问题,我正在处理几个使用依赖类型的Traits,但是当我尝试将Traits结合到业务逻辑中时,出现编译错误。导入java.util.UUID ...
Dotty无法推断具有抽象类型的类型参数特征的通用Scala函数的结果类型
一个简单的值层次结构,想象一下这个简单的特征值,其中每个实现类都有一个类型T的值。特征值{类型T def值:T}我们有两个不同的实现...
我的问题,我有以下类型家族,可将参数从函数中分离出来:类型家族SeparateArgs(a :: Type)::(Type,[Type])其中SeparateArgs(a-> b)= ...
如何理解Idris lang中List和Vect的类型声明和定义?
在Idris doc中有以下几行:数据列表a = Nil | (::) a(列表a)数据Vect:Nat->类型->类型,其中Nil:Vect Z a(::):a-> Vect ka-> Vect(S k)a I ...
我对Coq非常陌生。我正在尝试使用Coq的依赖类型。我想做的就是简单地将偶数提供给函数。例如,在伪代码中:def add_two_even(n:{n:...
我正在尝试为特定用例创建一个React高阶组件,问题可归结为以下内容:function sample (... ...>
对于下面的示例,mypy返回错误:错误:键入import类型类A时分配中的类型不兼容(表达式的类型为“ A”,变量的类型为“ A1”):传递类A1(A)...] >
我有一个问题,即使我只是使用编译器来指导模式匹配,Idris中的模式匹配也会给出“不可访问的模式变量”错误。这是我的例子...
在以下程序中填充孔是否一定需要非建设性的手段?如果是,则x:〜:y是否可确定?更笼统地说,我该如何使用反驳来指导...
我有一个矢量,它拥有一个leb值(x <= y),定义vector_ind_with_leb:forall(A:Type)(P:forall ny:nat,y <= n-> vector A n-> Prop ),(......>
是否有任何技巧可以避免在模板类中使用`typename`关键字?
我正在尝试实现以下目标:template class MyClass {struct nested {using OtherT = //从T派生的某种类型};保护://任何...
我正在尝试将列表的单例版本简化。我很难解构它。这是一个最小的实现:{-#语言GADT#-} {-#语言DataKinds#-} {-#语言...
当我在Haskell中具有从属类型时,如何在函数中使用存储在该类型中的值?我想编写的示例Haskell程序(由于min和max ...
以下定义可编译并运行良好:data Eq {lvl} {A:Set lvl}(x:A):A→设置为refl:Eq xx但是,此代码无法编译:data Eq {lvl} {A:Set lvl}(x:A)(y:A):...