我创建了一个名为 的记录类型graph
,并定义了一个合适的“是”关系的子图。我想表明一组图与子图关系形成一个顺序,即是ord
类的一个实例。但我无法让它工作。这是我的最小工作示例:
theory John imports
Main
begin
typedecl node
record graph =
nodes :: "node set"
edges :: "(node × node) set"
definition subgraph :: "graph ⇒ graph ⇒ bool"
(infix "⊑" 50)
where
"G ⊑ H ≡
nodes G ⊆ nodes H ∧ edges G ⊆ edges H"
lemma "(GREATEST H. H ⊑ G) = G"
oops
end
我得到错误:
Type unification failed: No type arity graph_ext :: ord"
我尝试输入诸如instantiation graph :: ord
and之类的内容instantiation graph_ext :: ord
,但似乎没有任何效果。有任何想法吗?