当简化引理时,为什么程序不终止程序?
我正在使用isabelle使用函数 apptransfrule(env n)r 来简化引理 r是一个大型公式,并带有数百个连词。实际上,当R很小时,可以终止此过程。有人可以…
我如何证明具有具有示意图变量的假设的界变量的子目标?
我是伊莎贝尔菜鸟。我有一个sublocale,它给我带有绑定变量的子目标。子目标是我在其他某些地区内拥有的假设的确切副本。当我实例化它们时,它们只能…
entuctive_set是否只能表达情况所处的情况,而不是为此失败?
type_synonym ('q,'a) LTS = "('q * 'a set * 'q) set" inductive LTS_is_reachable :: "('q, 'a) LTS ⇒ ('q * 'q) set ⇒ 'q ⇒ 'a list ⇒ 'q ⇒ b…
空的三角洲引理证明在伊莎贝尔(Isabelle)
我已经定义了下文的归纳谓词。在这里,我想证明一个称为emptydelta1的显而易见的引理。但是这里似乎存在一些问题。 type_synonym ('q,'a) LTS = "('q …
如何将所有列表或联合添加在地图中的所有图像中设置在Isabelle中
假设p是将映射定义为nat⇒字符串列表或 nat⇀字符串列表,我想将P中的所有字符串列表附加 为类似的问题,如果P是定义为 nat的地图⇒字符串集或 nat⇀…
娱乐所定义的一个明显的引理,但由于递归而无法证明
在这里,我定义了REGEXP表达式,并尝试证明一些明显的引理,这些引理定义为下面。 datatype ('v)regexp = ESet | LChr 'v| Concat "'v regexp" "'v re…
如何使用自定义类型设置(又称“ relator”)?
在isabelle/hol中,我想使用两个自定义 typedef s相互构建的 s,并证明它们两个都实例化某些类型类(例如,来自 hol.rings。 )。在这种情况下,我不…
娱乐中定义的引理可以起作用,但不能在归纳谓词中起作用
type_synonym ('q,'a) LTS = "('q * 'a set * 'q) set" primrec LTS_is_reachable :: "('q, 'a) LTS \ 'q \ 'a list \ 'q \ bool" where "LTS_is_reac…
Isabelle中的诱导证明:给定子目标,如何创建正确的辅助引理
我已经定义了一个标记的过渡系统,以及可以访问该系统可以到达的列表的功能。令人信服的是,我定义了另一种用于收集可及状态的功能。我想证明这两个功…
关于伊莎贝尔的引理证明的一些问题
我已经定义了一个引理,例如“ a ==> b ==> c”,并尝试使用nitpick,并且给出了反例,我看到了a = false,b = false和c = false的结果。 我…
关于Isabelle标记过渡系统证明的另一个问题
type_synonym ('q,'a) LTS = "('q * 'a set * 'q) set" primrec LTS_is_reachable :: "('q, 'a) LTS \ 'q \ 'a list \ 'q \ bool" where "LTS_is_rea…
在语言环境中的实例化类
假设我有一些位置可以从假设中推断出类型类。 locale some_locale = fixes xs :: "'x list" assumes xs_contains_UNIV: "set xs = UNIV" begin lemma …
如何在Isablle中标记的过渡系统中证明这种引理
我已经定义了下面的浅过渡系统,以及可以判断列表是否可以达到的函数。 type_synonym ('q,'a) LTS = "('q * 'a set * 'q) set" primrec LTS_is_reacha…
如何使用理解或LAMBDA功能获得集合中的最小长度元素
出于某种目的,我想在('列表集)中获取最小的元素,将整个设置作为最终状态。 但是我不知道如何实现此功能和证明。 definition initState :: "v list…
Isabelle/jEdit 仅通过单击 .thy 文件或在 MacOS 中使用打开命令以 ~/Scratch.thy 启动(或不启动)
最近,我重新开始与Isabelle/Hol一起玩。 但是,我在MacOS(蒙特雷)中面临以下问题: 当我单击 foo.thy 文件时,isabelle/jedit启动,但忽略 foo.thy…