我想了解 Isabelle/HOL 亚型。我在对我最后一个 SO 问题的部分回答中解释了为什么它对我很重要:
基本上,我只有一种类型,所以如果我可以通过子类型利用 HOL 类型的力量,这可能对我有用。
我在 Isabelle 文档、Web 和 Isabelle 邮件列表中进行了搜索。使用了“子类型”这个词,虽然不多,而且它似乎不是 Isabelle 词汇表中非常重要的一部分。
部分地,我只想知道如何正确使用“子类型”这个词。我不想在 Isabelle 中将某些不是子类型的东西称为子类型。
根据 Wiki,子类型是特定于语言的:
https://en.wikipedia.org/wiki/Subtyping
重要的最后一部分;请命令
有人可以给我一个创建 Isar 子类型的 Isar 命令列表吗?我正在调查typedef
,正如上面链接的问题中所解释的那样。我倾向于称其为子类型,但isar-ref.pdf在解释命令时不使用“子类型”。
如果还有其他方法可以创建 Isabelle/HOL 子类型,我想知道。