types之伊莎贝尔的 'real_of_int' 和 'real'

cmt 阅读:39 2024-09-03 21:39:00 评论:0

Isabelle 中的real_of_intrealint 是什么?它们听起来有点像类型,但通常类型的写法类似于 x::real,而这些写法类似于 real x

我无法证明以下陈述,

 "S ((n*x)+(-x)) = S (n*x)*C (-x) + C (n*x)*S (-x)" 

我注意到 Isabelle 是这样写的:

S (real_of_int (int (n * x) + - int x)) = 
S (real (n * x)) * C (real_of_int (- int x)) + C (real (n * x)) * S (real_of_int (- int x)) 

所以我希望能够理解这些是什么意思。

请您参考如下方法:

当使用 Complex_Main(或基于它的逻辑,如 HOL-AnalysisHOL-Probability 等)时,Isabelle 支持从 nat、int 和 rat 到实数的强制转换。如果类型不适合,这些将自动添加。

即如果 f::real ⇒ realn::nati::int:

f n ↝ f (real n) 
f i ↝ f (real_of_int i) 

real::nat ⇒ realnatreal 的强制转换(of_nat 的缩写,其中范围固定为实数),real_of_int::real ⇒ intof_int 的缩写,其中范围固定为实数。

强制转换本质上是不同数字类型之间的态射,因此有许多可用的态射引理:of_nat (l + n) = of_nat l + of_nat n 等。最好是搜索对他们来说,只使用 of_natof_int 而不是 real_... 缩写。


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号