Isabelle 标记图定义

Isabelle labeled graph definition

我正在尝试在 Isabelle HOL 中定义一些顶点标签,但后继定义有问题:

  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}" 

它说“类型构造函数的参数数量错误:“Set.set””,有人知道如何解决这个问题吗?

succ大概return一组顶点-标签对'v × 'w,所以想写

definition succ :: "('v,'w) graph ⇒'v ⇒ ('v × 'w) set"