Isabelle 如何使find_定理更具体
我试图在Isabelle(2021)中找到一个定理,大意如下:Isabelle 如何使find_定理更具体,isabelle,Isabelle,我试图在Isabelle(2021)中找到一个定理,大意如下: lemma "A ⟹ B ⟹ A ∧ B" 到目前为止,我已尝试使用以下模式: find_theorems "_ ⟹ _ ⟹ _ ∧ _" 但是它显然返回了很多结果,因为模式太抽象了。不同的占位符\uu可以表示彼此非常不同的事物 我想知道是否有任何方法可以在搜索中更加具体,以表示某些占位符是相同的。例如,在Isabelle的搜索设施中是否可以实现以下假设示例 find_theorems &
lemma "A ⟹ B ⟹ A ∧ B"
到目前为止,我已尝试使用以下模式:
find_theorems "_ ⟹ _ ⟹ _ ∧ _"
但是它显然返回了很多结果,因为模式太抽象了。不同的占位符\uu
可以表示彼此非常不同的事物
我想知道是否有任何方法可以在搜索中更加具体,以表示某些占位符是相同的。例如,在Isabelle的搜索设施中是否可以实现以下假设示例
find_theorems "_1 ⟹ _2 ⟹ _1 ∧ _2"
(表示所有的
\u 1
都是相同的变量,所有的\u 2
都是相同的等等)正如我在评论中提到的,查找定理
也将模式作为类似于is
的参数。因此,任何形式的“?”后跟字符串(可选数字[1])都可以使用
find_theorems "?A \<Longrightarrow> ?B \<Longrightarrow> ?A \<and> ?B"
(*
"?A ⟹ ?B ⟹ ?A ∧ ?B"
found 1 theorem(s):
• HOL.conjI: ?P ⟹ ?Q ⟹ ?P ∧ ?Q
*)
find_定理“?A\?B\?A\?B”
(*
“?A⟹ ?B⟹ ?A.∧ ?B“
发现1个定理:
•霍尔康吉:?P⟹ ?Q⟹ ?P∧ ?Q
*)
[1] 通常的警告是“?A0”和“?A”指的是相同的模式。您可以使用“?A”表示模式(与
is
中的模式完全相同)。谢谢。我用同样的命令得到的结果是:发现1个定理:HOL.congi:?P∧ ?Q⟹ ?P∧ ?Q(与伊莎贝尔2021年)。你知道为什么前提在搜索结果中被写成连词吗?这很奇怪。“符号”∧" 及"⟹“完全不同……您使用的是默认字体吗?thm CONGI
是否也产生了错误的定理?是的,thm CONGI
也产生了?P∧ ?Q⟹ ?P∧ ?Q
。我以为有一些自动转换正在进行。Isabelle 2021是从Ubuntu上下载的二进制文件扩展而来的。@tinlyx加载了什么理论?你能写下一个完整的(最小的)理论文件,给出你提到的结果吗?