dependent-type 相关问题

依赖类型是依赖于值的类型。很少有语言支持它们 - 例子包括Agda,ATS,Coq,Epigram,Scala(通过路径依赖类型,近似变体)和Idris,它们渴望生成系统级质量的本机代码。

统一模式匹配案例

我想写一个函数,其类型是forall n, option (n = 1)。我选择option作为altertnative来反射,避免给出否定情况的证明。所以,Some扮演了ReflectT的角色......。

回答 1 投票 0

为Python函数指定类型注解,返回参数的类型。

如何正确地对下面的函数进行类型注释? def f(cls: type) -> ??: return cls() #用法示例: assert f(int) == 0 assert f(list) == [] assert f(tuple) == () 有没有一种方法可以 ...

回答 1 投票 0

消除类型级别的Maybe

是否有任何方法可以在类型级别解开Maybe monad内部的值?例如,如何为具有pred变体的Vecs定义类型安全的尾巴:pred:ℕ->也许ℕpred 0 ...

回答 1 投票 3

在最新版本的scala(2.12.x)中,路径相关类型的实现是否不完整?

我做了一个快速实验,以了解Scala的路径相关类型特征的性质:特征SS {类型II}类SS1()扩展了SS {} def sameType [T1,T2](隐式ev:T1 =:= T2 ):...

回答 1 投票 0

当使用编译时宏调用scala函数时,如何在导致编译错误时顺利进行故障转移?

假设我打算在scala程序中使用单例/文字类型功能,此功能在scala 2.12的无形状库中提供(scala 2.13支持本机文字类型,但让我们使用...

回答 1 投票 0

为什么这个函数/构造函数参数成为一个自由的隐式变量?

[我正在尝试在Idris中实现Agda的检查习惯,作为解决此问题的可能方法,但是,当我在MkReveal构造函数上进行模式匹配时,似乎丢失了f的选择,并且...]]

回答 1 投票 0

在从属类型的编程语言中,Type-in -Type是否可用于编程?

在具有依赖类型的语言中,您可以使用Type-in -Type,它可以简化语言并提供强大的功能。这使语言在逻辑上不一致,但这可能不是问题...

回答 1 投票 1

Agda:构造递归记录值?

我想知道,是否有可能具有其值相互依赖的记录,而不必按类型递归定义?基本上,我的记录类型如下所示:record ...

回答 1 投票 0

关于证明一些直觉逻辑语句的提示

我是Agda的新手,而我通常是依赖类型的编程和证明助手的新手。我决定使用定义...

回答 1 投票 0

如何证明分裂是可取消的?

我想使用标准库中定义的除法函数来证明(c * a)/(c * b)= a / b在agda中。证据不断回到这个很难工作的东西div-helper ...

回答 1 投票 1

Agda中数据结构的导数

我目前正在Agda中实现常规数据结构的派生,如Conor McBride的“一孔上下文”论文所介绍的[5]。在直接从OHC文件中实施时,...

回答 1 投票 6

将参数传递给参数为LTE的函数的证明

我有一个函数减去两个Nats。我如何证明我要传递给它的第一个参数实际上小于第二个伪参数:(k:Nat)->(n:Nat)-> {自动更小:LTE kn}-&...

回答 1 投票 0

[coq中的参数类型

我在此stackexchange帖子上找到了此代码,我对其工作原理感到困惑。特别地,归纳矢量{A:Type}:nat-> Type:= | nil:矢量0 |缺点:forall n,A->向量n ...

回答 1 投票 0

在Scala无形状库中,是否有一种本机方式将产品类型(HList / Generic / NamedGeneric)转换为等于其Arity的int单例类型?

[我正在尝试找出如何将无形状的特征(单例类型)与另一个特征(HList)相关联,假设我们想派生包含有关Arity信息的泛型类型Vector ...

回答 1 投票 1

在scala shapeless中,可以使用文字类型作为泛型类型参数吗?

假设我正在编写矢量乘法程序。遵循本文中的要求:https://etrain.github.io/2015/05/28/type-safe-linear-algebra-in-scala乘法...

回答 1 投票 4

KnownNats的类型级别归纳:重叠实例

我试图弄清楚如何在KnownNats上进行类型级归纳。一个玩具示例,将向量大小的向量相加:{-#LANGUAGE FlexibleInstances,UndecidableInstances#-} {-#LANGUAGE ...

回答 2 投票 1

将存在性提升到类型级别

tl; dr:我正在尝试重写一些具有Haskell中sigma类型列表的依存类型代码,并且我似乎无法为存在性生成单例,换句话说,此代码失败:data。 ..

回答 1 投票 3

DOT演算中的列表编码

我正在阅读从属对象类型的本质,并发现列表的以下编码:为什么要这样写:nil:sci.List∧{A =⊥},为什么我们给A类型底?不应该...

回答 1 投票 1

Coq:相关列表的类型不匹配,可以通过证明来解决

在上次使用coq中的列表播放期间,我遇到了类型问题。但首先是定义;休闲列表:归纳列表(a:设置):set:= | nil:列出一个|缺点:一个->列表一个->列表...

回答 1 投票 0

用约翰·梅杰的同等重写

John Major的等式带有以下重写的引理:检查JMeq_ind_r。 (* JMeq_ind_r:forall(A:类型)(x:A)(P:A->支撑),P x-> forall y:A,JMeq y x-> ...

回答 1 投票 2

© www.soinside.com 2019 - 2024. All rights reserved.