定义在Isabelle中返回函数的函数

定义在Isabelle中返回函数的函数,isabelle,Isabelle,我尝试做以下简单的事情:给定一个拓扑空间,提取其拓扑并将其视为偏序集。为此,我导入了Topology.thy和Orders.thy,并尝试了一些类似的方法 fun undtop::“'a top⇒'偏序“where” “undtop T=(leq::”T⇒ T⇒ “哪里 “leq x y=(x⊆ y) “”“ 其中,'a top是类型'a set,partial\u order是类型'a=>'a=>bool(theory Orders.thy定义了类partial\u order)。其想法是,某

我尝试做以下简单的事情:给定一个拓扑空间,提取其拓扑并将其视为偏序集。为此,我导入了Topology.thy和Orders.thy,并尝试了一些类似的方法

fun undtop::“'a top⇒'偏序“where”
“undtop T=(leq::”T⇒ T⇒ “哪里
“leq x y=(x⊆ y) “”“

其中,
'a top
是类型
'a set
partial\u order
是类型
'a=>'a=>bool
(theory Orders.thy定义了类
partial\u order
)。其想法是,某种类型的T
a'top
应该给出拓扑结构,然后
undtop
会选择这样一个T并关联一个偏序
leq
,被视为一个映射
T=>bool
。显然这不是它的工作原理,所以我想问一下

1) 您将如何定义一个函数,该函数选择特定类型的每个T,并使用域T定义一个新函数

2) 如何指定此类型的T是拓扑,而不仅仅是子集的随机集合,即如何告诉Isabelle它应该遵守topology.thy中区域设置“拓扑”的公理

感谢您的支持,作为一名初学者,我仍在努力学习Isabelle的语法和操作方式。

1)在Isabelle/HOL中,类型不能作为函数的参数。您必须在更高的级别(使用区域设置或类型类)或在对象级别使用集合来形式化您的想法。2) 我不太确定你所指的是
Topology.thy
Orders.thy
。标准的Isabelle/HOL会话有一个理论
拓扑空间
,我建议使用这个理论。1)在Isabelle/HOL会话中,类型不能是函数的参数。您必须在更高的级别(使用区域设置或类型类)或在对象级别使用集合来形式化您的想法。2) 我不太确定你所指的是
Topology.thy
Orders.thy
。标准的Isabelle/HOL会话有一个理论
拓扑空间
,我建议使用这个理论。