【问题标题】:What does errors like "!=<" mean in agda and how to fix“!=<”之类的错误在agda中是什么意思以及如何修复
【发布时间】:2018-02-27 09:44:36
【问题描述】:

我在http://agda.readthedocs.io/en/v2.5.3/ 上找不到关于此的信息,在“agda 中的验证编程”一书中也找不到。这是什么意思?我在哪里可以了解更多类似此错误的信息?

完整的错误是.cter !=&lt; cter of type Set

代码有点难懂,如果需要我会在稍后发布,这是关于实现模拟退火算法的。

【问题讨论】:

    标签: algorithm agda theorem-proving


    【解决方案1】:

    字面意思是.cter 不是cter 的子类型。由于在 Agda 中对子类型的支持非常有限,这很可能意味着 Agda 期望 .ctercter 相等,但事实并非如此。特别是,cter 是您代码中的一个(可见)变量,而 .cter 是 Agda 引入的一个隐藏参数,并且恰好具有相同的名称。

    我希望这会有所帮助。没有看到代码很难说得更具体,所以如果你仍然卡住,请尝试找到一个有相同问题的小例子并在这里发布。

    【讨论】:

    • 子类型是什么意思?据我所知,agda 没有面向对象语言意义上的子类型
    • @doofin 不,我认为子类型与宇宙层次结构(第 0 集、第 1 集等)有关,在大多数情况下,您可以将其视为相等。跨度>
    猜你喜欢
    • 2011-02-25
    • 2015-07-15
    • 1970-01-01
    • 2014-02-28
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多