Subst refl 关闭重复的子目标。这是怎么回事?

2024-05-03

In this https://stackoverflow.com/questions/15608399/how-do-i-remove-duplicate-subgoals-in-isabelle线程马蒂厄证明了subst refl关闭重复的子目标。它是如何/为什么这样做的?


我不完全确定,但快速浏览一下代码表明subst calls distinct_subgoals_tac由于某种原因,并不将其限制于其正在研究的子目标:

fun eqsubst_tac ctxt occs thms i st =
  let val nprems = Thm.nprems_of st in
    if nprems < i then Seq.empty else
    let
      val thmseq = Seq.of_list thms;
      fun apply_occ occ st =
        thmseq |> Seq.maps (fn r =>
          eqsubst_tac' ctxt
            (skip_first_occs_search occ searchf_lr_unify_valid) r
            (i + (Thm.nprems_of st - nprems)) st);
      val sorted_occs = Library.sort (rev_order o int_ord) occs;
    in
      Seq.maps distinct_subgoals_tac (Seq.EVERY (map apply_occ sorted_occs) st)
    end
  end;

对我来说,这似乎不是有意的行为——可能是实施过程中的疏忽subst。我会写一封电子邮件到邮件列表询问此事。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Subst refl 关闭重复的子目标。这是怎么回事? 的相关文章

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

    在伊莎贝尔的NEWS文件 我发现 命令 typedef 现在可以在本地理论上下文中工作 无需 引入对参数或假设的依赖 这不是 可以在 Isabelle Pure HOL 中实现 请注意 逻辑环境可能 包含本地 typedef 的多种解释 具
  • 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
  • 在 Isabelle 等中定义不同类型的不相交并集

    我问了一系列问题 直到我可以在 Isabelle 中定义以下简单模型 但我仍然坚持得到我想要的东西 我尝试用一 个例子来非常简短地描述这个问题 Example 假设我有两节课Person and Car Person owns汽车还有dri
  • Isabelle/HOL 中的对象级含义

    我发现 Isabelle HOL 中的许多定理更喜欢元级蕴涵 gt 代替 gt 对象逻辑级别 即高阶逻辑含义 伊莎贝尔维基说粗略地说 应该使用元级别含义将规则语句中的假设与结论分开 除此之外 关于对象和元级别含义的使用我应该了解什么 我发现
  • 使用不同大小的函数进行自动终止证明

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

    我尝试用以下方法定义偏函数partial function关键词 它不起作用 这是最能表达直觉的 partial function tailrec oddity nat gt nat where oddity Zero Zero oddit
  • 如何在 Isabelle 的 ML 级别轻松编写简单的策略?

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

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

    到目前为止 我在伊莎贝尔遇到的每一个目标都可以通过使用来解决arith也可以通过以下方式解决presburger反之亦然 例如 lemma odd n nat Suc 2 n div 2 n by presburger or arith 这
  • 隐藏运算符以避免 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
  • Isabelle 返回数字而不是 Suc(Suc( ... 0 ))

    当我使用value为了找出返回自然数的函数的某个值 我总是以 0 的迭代后继函数的形式获得答案 即Suc Suc 0 有时可能很难阅读 有没有办法直接输出Isabelle返回的数字 这是我不久前想修复的问题 但显然我忘记了 卡西吉奈特的猜测
  • 伊莎贝尔案例分析

    如何在伊莎贝尔中应用案例分析 我正在寻找类似的东西apply induct x 用于归纳 案例分析通常是通过cases方法 另见索引中的 案例 方法 伊莎贝尔 伊萨尔参考手册 http isabelle in tum de website
  • 法新社的“find_theorems”

    我怎样才能使用find theorems搜索整个正式证据档案馆 AFP 的机制 我已将存档下载到我的计算机上 并且可以从中导入理论 例如 如果我写imports Kleene Algebra Kleene Algebra Models那么该
  • 修复区域设置扩展中的类型变量

    鉴于此代码 locale A fixes foo a locale B A fixes bar a a locale C A fixes baz a begin sublocale B foo foo baz end I get Type
  • 添加后收集所有非未定义值

    我对伊莎贝尔有以下补充 function proj add real real bit real real bit real real bit where proj add x1 y1 l x2 y2 j add x1 y1 x2 y2 l
  • 类型类实例化中的现有常量(例如构造函数)

    考虑这个伊莎贝尔代码 theory Scratch imports Main begin datatype Expr Const nat Plus Expr Expr 实例化是相当合理的plus输入 class 以获得良好的语法Plus构造

随机推荐

  • jQuery Mobile - 启用滚动禁用页面拖动

    我目前正在使用phonegap 1 5 和jQuery Mobile 开发一个iOS 应用程序 据我所知 我们可以使用以下 JavaScript 禁用页面拖动 function preventBehavior e e preventDefa
  • 复合键流畅的nhibernate

    一个人可以在流利的休眠状态下做到这一点吗 当我尝试保存时 我提供配置文件和场景对象 并且 id 不为空 Nhibernate 抱怨它不能为 ProfileID 列确保 NULL Fluent Nhibernate 不知道如何获取 Profi
  • 按多索引的一级对 pandas DataFrame 进行排序

    我有一个多索引 pandas DataFrame 需要按索引器之一进行排序 这是数据片段 gene VIM treatment dose time TGFb 0 1 2 0 158406 1 2 0 039158 10 2 0 052608
  • 转储中的 MySQL 标志

    在查看 mySQL 转储时 我发现了一些东西并且想知道它们是什么 I see 50001 DROP TABLE IF EXISTS xxx 标志 50001 是什么 有它们含义的列表吗 它在 MySQL 的论坛 邮件列表上进行了讨论here
  • JAXB 是否支持 xsd:restriction?

  • 如何将 Markdown 文档批量转换为 HTML?

    我正在用 Markdown 编写一些文档 并为文档的每个部分创建一个单独的文件 我希望能够一次性将所有文件转换为 HTML 但我找不到其他人尝试过同样的事情 我使用的是 Mac 所以我认为一个简单的 bash 脚本应该能够处理它 但我从未在
  • 使用图形 API 从多租户 AD 应用程序获取所有用户

    我正在尝试使用图形 API 获取多租户应用程序的所有用户 为此 我使用请求生成了访问令牌 POST https login microsoftonline com common oauth2 v2 0 token HTTP 1 1 Host
  • Google 表单中的隐藏字段

    我正在为每次提交的表单添加一个唯一的 ID 现在 我将该 ID 设置为第一个字段 并预先填充了该 ID 以及要求用户不要修改该字段的帮助文本 是否有任何选项无法向用户显示此选项 我假设您只对在用户填写表单之前以编程方式分配唯一 ID 的方式
  • 更改子进程中的 iostream

    现在 我正在开发一个项目 其中我需要启动一个子进程来使用 C 在 Linux 中执行一个新程序 并且我需要重定向标准输入和输出 就像在 C 中一样 它们是cin and cout 到一个文件 这意味着在子进程中 标准输入和输出都是文件 子进
  • AngularJS - 如何在整个页面加载时进行重定向?

    我想做一个重定向来重新加载整个页面 以便在页面加载时刷新来自我的网络服务器的 cookie window location Next and window location href Next 不起作用 他们执行的 Angular 路线不会
  • 针对 Woocommerce 中多个产品类别计数的 ajax 添加到购物车的 JS 警报

    在 Woocommerce 中 当达到特定产品类别的购物车中的产品的特定数量时 我尝试显示 JavaScript 甜蜜警报 并在达到二级类别的产品的特定数量时显示另一个警报 商品通过 AJAX 添加到购物车 这就是我想使用 JavaScri
  • XSLT 是 Web 框架的好选择吗?

    我一直认为 XML 以及之前的 SGML 数据是魔鬼的格式 我是旧数据库和平面文件学校的 尽管如此 我们正在开发一款商用网络产品 其框架基于在链中翻译 转换 XML 数据 当我们面试职位以及与潜在客户交谈时 他们喜欢它将做什么的概念 但厌倦
  • 无法在heroku上推送node.js应用程序

    我尝试在heroku 上推送我的node js 应用程序 但是 无法检测到此应用程序的默认语言 我什至尝试过heroku buildpacks set heroku nodejs 但还是无法推动 Counting objects 31 do
  • 在 iPhone 中创建视频

    我需要将图像序列 即 png 转换为 iPhone 中的视频文件 我如何将图像转换为视频 Regards 只需忽略 使用 ffmpeg 等不好的建议即可 这可以在桌面上运行 但是许可证问题 http multinc com 2009 08
  • 拦截C# HttpClient GetAsync

    我有一个 Web 项目 C MVC5 但没有 WebAPI 和一个简单的 HTTP REST 客户端 该客户端调用外部 REST 服务并获取 accessToken 等 我想检查所有 Get PostAsync 调用对 statusCode
  • 在 Ruby 中, put 方法应用到哪个对象?

    在 ruby 中 您使用点来调用方法 或者换句话说 将方法发送到所处理的对象 100 to i 我们正在向对象 100 发送消息 to i 当我们这样做时 puts hello put 方法应用于哪个对象 我是这样想的 self puts
  • 我的程序有内存泄漏

    IBAction play2 CFBundleRef mainBundle CFBundleGetMainBundle CFURLRef soundFileURLRef soundFileURLRef CFBundleCopyResourc
  • 是否可以允许jenkins访问只有root或某些特定程序可以访问的文件?

    我基本上想做的是允许 jenkins 访问我的 android sdk linux 文件夹和所有子目录 我的老板不想自己更改文件夹的权限 我应该在构建过程中这样做 我见过一些在构建过程中在执行 shell 中运行一些命令的示例 是否可以在该
  • 在 WCF 服务上的 AJAX 发出 REST 请求期间启用 CORS 中的 OPTIONS 方法

    我花了7个小时绞尽脑汁想弄清楚这个问题 我在整个网络上进行了搜索 但没有运气 我有一个 Angular 应用程序正在向 WCF 命令行托管服务应用程序发出请求 我设法通过使用这两个类来实现 CORS public class CustomH
  • Subst refl 关闭重复的子目标。这是怎么回事?

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