Dictionary Agda:在同一程序中导出相等*和*AVL指令?

Dictionary Agda:在同一程序中导出相等*和*AVL指令?,dictionary,reflection,functional-programming,agda,dependent-type,Dictionary,Reflection,Functional Programming,Agda,Dependent Type,我在Agda做一些PL理论工作,我遇到了这种情况 我需要某种字典(比如stdlibavl树)来编码有限的映射 我需要为我的类型推导等式,因为它们有许多构造函数,而且成对比较是乏味的 ,提供第二个但不提供第一个,stdlib提供第一个但不提供第二个。这两者不相容 我是否可以使用现有的库来提供这两种功能而不产生冲突?我不担心性能,所以如果有限映射是列表支持的,那很好,但我不想手动证明一堆关于它们的定理。我有一个可以推导等式的,并且与标准的等式兼容,但我真的不知道它是否能够为Agda的AVL树推导

我在Agda做一些PL理论工作,我遇到了这种情况

  • 我需要某种字典(比如stdlibavl树)来编码有限的映射
  • 我需要为我的类型推导等式,因为它们有许多构造函数,而且成对比较是乏味的
,提供第二个但不提供第一个,stdlib提供第一个但不提供第二个。这两者不相容


我是否可以使用现有的库来提供这两种功能而不产生冲突?我不担心性能,所以如果有限映射是列表支持的,那很好,但我不想手动证明一堆关于它们的定理。

我有一个可以推导等式的,并且与标准的等式兼容,但我真的不知道它是否能够为Agda的AVL树推导等式。我无法理解这一点,因为我离我的机器很远,需要在一台可用的机器上安装Agda。我甚至不知道库类型是否与Agda的最新版本一致。所以尝试它可能是浪费时间。也许试着让Ulf Norell在他的前奏曲中加入AVL树?@user3237465谢谢,这看起来正是我想要的!我实际上并不需要AVL的Eq,我只需要能够在一般情况下使用AVL(如果使用prelude,您根本无法导入stdlib)。所以你的图书馆看起来很完美!我尝试过使用它,但在2.5.2中出现了一个类型错误。您的GH有一个未解决的问题,尽管我知道您无法修复它,所以我将尝试调试它。