You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Isabelle HOL定义顶点标签时succ函数Set.set参数报错如何解决

问题原因
  • 错误出在succ函数的返回类型声明部分:Isabelle 中的set类型构造器仅接受1个类型参数,你写的('v,'w) set传入了2个类型参数,不符合语法要求,因此触发了参数数量不匹配的报错。
  • 你原本想要表达的是「由顶点ID'v和标签'w组成的二元组的集合」,对应的正确类型写法是('v × 'w) set。
修复后代码
record ('v,'w) graph =
  nodes :: "('v×'w) set"
  edges :: "(('v×'w) × ('v×'w)) set"

definition succ :: "('v,'w) graph ⇒ 'v ⇒ ('v × 'w) set"
  where "succ G v ≡ {(v',w). ((v,w),(v',w))∈edges G}"
补充说明

你当前的succ定义逻辑隐含了一个前提:同一个顶点IDv对应的标签w是唯一的,如果你的业务场景中允许同一个v绑定不同的w,可以根据需求调整集合推导式的约束条件即可。

内容的提问来源于stack exchange,提问作者Eva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 10:06:04