依赖类型是依赖于值的类型。很少有语言支持它们 - 例子包括Agda,ATS,Coq,Epigram,Scala(通过路径依赖类型,近似变体)和Idris,它们渴望生成系统级质量的本机代码。
是否存在类型理论,其中相同形状的归纳数据类型的等价性是可表示的?
假设我有两个归纳定义的数据类型:归纳list1(A:类型):类型:= | nil1:list1 A | cons1:A - > list1 A - > list1 A.和Inductive list2(A:Type):类型:= | nil2:......
Idris Dependent Pairs:编译的程序和REPL之间的意外行为
在Idris中使用依赖对进行练习时,我在编译程序和REPL之间遇到了意想不到的行为差异。我正在测试以下数据类型:(a:...
我试图在没有延迟构造函数的情况下定义CoList。我遇到了一个问题,我使用with表达式,但agda没有细化子类型。模块在开放时失败...
我有一个定义为归纳位的类型:nat - > Set:= | bitsNil:位0 | bitsCons:forall {l},bool - > bits l - > bits(S l)。我试图证明:Lemma emptyIsAlwaysNil:forall {...
我正在尝试在Coq中编写以下Agda代码段。 open import Data.Fin using(Fin; suc; zero)open import Data.Nat using(ℕ; suc; zero)thin:{n:ℕ} - > Fin(suc n) - > Fin n - > Fin(.. 。
我最近发现类型孔与样张上的图案匹配相结合,在Haskell中提供了非常好的Agda式体验。例如:{ - #LANGUAGE DataKinds,PolyKinds,TypeFamilies,...
为了避免参差不齐的矩阵,我想为包含类型长度的列表设计一个类型包装器。 (如果我不称之为“长度索引向量”,请纠正我。)我想将其作为...
假设我们想在Nats上有一个“正确的”减去,要求m <= n对于n`减去m才有意义:%hide minus minus:(n,m:Nat) - > {auto prf:m` LTE`n} - > Nat减去{prf = LTEZero ...