0

关于 Isabelle 中的子类型的问题在这里非常冗长。所以我的简单问题是,如果我将 A 定义如下,我如何将类型 B 定义为 A 的子类型:

typedecl A

通过这样做,我想让 B 类型的元素可以访问在 A 上定义的所有操作和关系(它们未在此处打印)。

一个更复杂的例子是将 B 和 C 定义为 A 的子类型,这样 B 和 C 是不相交的,并且 A 的每个元素要么属于 B 类型,要么属于 C 类型。

谢谢

4

1 回答 1

1

Isabelle 没有子类型,尽管可以模拟子类型的某些方面,如另一个线程中所述。如果您想对不同类型使用相同的操作,您可能需要查看 Isabelle 的类型类。

于 2014-11-11T14:11:10.793 回答