微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Isabelle/HOL 中修复附加变量之前保存数据类型

如何解决在 Isabelle/HOL 中修复附加变量之前保存数据类型

我对 Isabelle 还很陌生,我在打字时遇到了一些麻烦:我想要两个独立但重叠的类型,比如“a”和“b”。将它们视为集合,我希望将 'b = 'a \cup {tau} 用于未出现在 'a 中的特定 tau。据我了解,您可以在 Isabelle 中使用“fixes tau :: 'a”扩展类型,但似乎原始类型 'a (没有 tau)丢失了: Current Isabelle code using fixes

我在以后的公式中需要这两种类型,那么有没有办法在将 tau 固定到它之前“保存”'a 的状态?

任何帮助将不胜感激!

解决方法

您误解了语言环境。修复引入了某种类型的常量。记住语言环境的含义:

locale t =
   fixes x
   assumes "P x"
begin

lemma b: Q 
  sorry

表示“!!x。P x ==> Q”。您没有扩展类型。

关于实际问题:您不能直接扩展类型或直接在 HOL 中表达。这是不可能的。在实践中扩展类型有两种解决方案:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。