Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Isabelle 如何证明这一点;3是素数;在伊莎贝尔的证明助理里?_Isabelle - Fatal编程技术网

Isabelle 如何证明这一点;3是素数;在伊莎贝尔的证明助理里?

Isabelle 如何证明这一点;3是素数;在伊莎贝尔的证明助理里?,isabelle,Isabelle,为了证明我在伊莎贝尔身上的研究,我需要3和5是素数的事实。建立这一点的最简单方法是什么?有一些simp规则允许简化程序自动完成此操作: lemma "prime (5 :: nat)" by simp 对于较大的数字(例如,137),这需要几秒钟的时间,而对于较大的数字,则完全无法使用 您还可以使用eval代替simp,后者通过Isabelle的求值oracle对标准ML中的语句求值,然后在Isabelle中将结果重新解释为定理。根据您询问的对象,这可能被视为比simp稍不可信 最后,正式

为了证明我在伊莎贝尔身上的研究,我需要3和5是素数的事实。建立这一点的最简单方法是什么?

有一些simp规则允许简化程序自动完成此操作:

lemma "prime (5 :: nat)"
  by simp
对于较大的数字(例如,
137
),这需要几秒钟的时间,而对于较大的数字,则完全无法使用

您还可以使用
eval
代替
simp
,后者通过Isabelle的求值oracle对标准ML中的语句求值,然后在Isabelle中将结果重新解释为定理。根据您询问的对象,这可能被视为比
simp
稍不可信

最后,正式证明档案中的条目还提供了一种称为
pratt
的证明方法,可以使用pratt证书自动证明数字的素性。这比使用
simp
稍微有效一些,但对于真正大的数字来说仍然不是很好

在任何情况下,对于像5和7这样的小数字,simp的
是一个不错的选择

但是请注意,您必须给出一个类型,即
prime(5::nat)
prime(7::int)
。如果您只编写
prime 5
,则为5推断的类型太一般。例如,
prime(5::real)
不是真的,因为字段不包含素数