Isabelle/HOL 中的对象级含义

2023-12-12

我发现 Isabelle/HOL 中的许多定理更喜欢元级蕴涵:

==>

代替

-->

对象逻辑级别,即高阶逻辑含义。

伊莎贝尔维基粗略地说,应该使用元级别含义将规则语句中的假设与结论分开.

除此之外,关于对象和元级别含义的使用我应该了解什么?我发现后者被大多数使用。我应该何时以及为何使用 HOL 蕴涵?


我认为简短的答案是:使用==>只要有可能,因为它比合作更容易-->.

话虽这么说,你不应该看到==>在您编写的代码中经常出现。

  1. 编写引理时,使用assumes and shows syntax.
  2. 对于中间步骤have有一个语法if: have "B" if "A"代替have "B ==> A"
  3. 元蕴含只能在顶层使用,因此如果您有一个谓词作为函数的参数,则不能使用==>在那个谓词中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Isabelle/HOL 中的对象级含义 的相关文章

  • 什么样的类型定义在本地环境中是合法的?

    在伊莎贝尔的NEWS文件 我发现 命令 typedef 现在可以在本地理论上下文中工作 无需 引入对参数或假设的依赖 这不是 可以在 Isabelle Pure HOL 中实现 请注意 逻辑环境可能 包含本地 typedef 的多种解释 具
  • 如何在 Isabelle/jEdit 中启用“跟踪”

    I m a vim风扇 但仅emacs有这个 Isabelle HOL 环境 jEdit很棒 但我不能使用 using simp trace true like in emacs 如何启用 跟踪 jEdit 你确实可以使用simp trac
  • Isabelle/HOL 验证器核心

    Question Isabelle HOL验证器的核心算法是什么 我正在寻找方案元循环评估器级别的东西 澄清 我只对Verifier 而不是自动定理证明的策略 Context 我想从头开始实现一个简单的证明验证器 纯粹出于教育原因 而不是用
  • 使用单射函数的反值

    我试图证明这个引理 lemma assumes x inv f y and inj f and x undefined shows y range f using assms try 但 Nitpick 告诉我这个说法并不正确 Trying
  • 在《伊莎贝尔》中证明关于 THE 的直观陈述

    我想证明伊莎贝尔中类似的引理 lemma assumes y THE x P x shows P THE x P x 我想这个假设意味着THE x P x存在并且定义明确 所以这个引理也应该是正确的 lemma assumes y THE
  • 简化自然色的漂亮印刷

    假设我编写了一个用于反转列表的函数 我想用value命令 只是为了向自己保证我可能做对了 但输出看起来很糟糕 value reverse 1 8 3 gt 1 1 1 1 1 1 1 1 1 1 1 1 a list 如果我告诉伊莎贝尔将这
  • 在 Isabelle 等中定义不同类型的不相交并集

    我问了一系列问题 直到我可以在 Isabelle 中定义以下简单模型 但我仍然坚持得到我想要的东西 我尝试用一 个例子来非常简短地描述这个问题 Example 假设我有两节课Person and Car Person owns汽车还有dri
  • 使用不同大小的函数进行自动终止证明

    我写了一个自定义尺寸的函数size2对于我的数据类型 使用此函数 我可以手动证明函数的终止 termination apply relation measure a b c size2 c apply auto done 有没有办法制作fu
  • Isabelle:向量中的最大值

    我想找到自然数向量中的最大值 然而 向量 即 vec 是与集合或列表不同的类型 我考虑了几个行不通的想法 比如调平或提升 vec 的类型或递归函数的定义 您建议采用什么解决方案来获得向量中的最大值 IMPORTS src HOL Algeb
  • 如何在 Isabelle 的 ML 级别轻松编写简单的策略?

    在 Isabelle 理论文件中 我可以编写简单的一行策略 如下所示 apply clarsimp simp split def split prod splits 然而 我发现 当我开始编写 ML 代码来自动化证明 生成 MLtactic
  • 如何使用持久堆图像在 Isabelle/jEdit 中更快地加载理论?

    假设我有一个目录isabelle afp存储了很多理论的地方 该目录是一个库 我不打算更改其中的文件 我想加快 Isabelle jEdit 的启动时间 默认情况下 所有理论isabelle afp我当前的理论取决于重新处理 我怎样才能跳过
  • 伊莎贝尔:setprod 的问题

    以下等式在伊莎贝尔中是否成立 setprod f UNIV n finite set setprod x x f UNIV n finite set 如果是 我该如何证明 tested with Isabelle2013 2 theory
  • 伊莎贝尔证明加法的交换律

    我试图证明 Isabelle HOL 中自定义的交换律add功能 我设法证明了关联性 但我坚持这一点 的定义add fun add nat nat nat where add 0 n n add Suc m n Suc add m n 关联
  • 隐藏运算符以避免 AST 中出现歧义

    我正在尝试伊莎贝尔官方教程中的列表示例 我更换了 with 和 with 具有与 Haskell 相同的语法 现在我收到有关 AST 中含糊之处的警告 我知道我可以隐藏功能hide const但这对于中缀表示法的运算符不起作用 如何在伊莎贝
  • 伊莎贝尔和斯卡拉[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在考虑创建 Eclipse PDE 并且需要与 Isabelle 进行通信 我确实发现一些出版物声
  • Isabelle/HOL 中的 primrec 和 fun 有什么区别?

    我正在阅读 Isabelle 教程 并试图澄清我对 primrec 和 fun 的使用的概念 到目前为止我搜索过的内容 包括答案here https lists cam ac uk mailman htdig cl isabelle use
  • 如何让 typedef 类型从类型类的母类型继承运算符

    发布答案后续问题 Brian 提供了答案 并建议使用提升和转移的解决方案 然而 我找不到足够的关于举重和转移的教程信息 无法知道如何调整他的答案来完成我需要做的事情 在这里 我在黑暗中工作 并使用给出的答案作为即插即用模板来提出这个后续问题
  • 伊莎贝尔语中“case _ of _”是什么意思

    在读的时候这个关于商类型的答案 https stackoverflow com a 67237629 14656198 我偶然发现了这个结构 case of 经检查手册 https isabelle in tum de doc isar r
  • 如何使用 Fitch 系统证明 ((p ⇒ q) ⇒ p) ⇒ p

    仅供参考 我使用的逻辑程序无法进行矛盾引入 这一点很可能是无关紧要的 因为我非常怀疑我是否需要使用任何形式的矛盾来证明这一点 在尝试解决这个问题时 我首先假设 p q p 它是否正确 如果是这样 接下来怎么办 如果解决方案看起来如此明显 请
  • Subst refl 关闭重复的子目标。这是怎么回事?

    In this https stackoverflow com questions 15608399 how do i remove duplicate subgoals in isabelle线程马蒂厄证明了subst refl关闭重复的

随机推荐