Isabelle中的整数幂

时间:2019-04-08 17:51:42

标签: isabelle

这是我对mailing-list post之后的整数指数的幂的定义:

definition 
 "ipow x n = (if n < 0 then (1 / x) ^ n else x ^ n)" 

notation ipow (infixr "^⇩i" 80)
  1. 是否有更好的定义方式?
  2. 伊莎贝尔(Isabelle)是否存在一个已经包含该理论的现有理论,以便我可以重用其结果?

上下文

我正在处理复杂的指数,例如考虑以下定理:

enter image description here

在我证明了这一点之后,我意识到我需要不仅要使用自然数,还要使用整数n,这涉及使用幂从指数中取出n。

1 个答案:

答案 0 :(得分:1)

我认为库中不存在类似的内容。但是,您的定义中有错字。我相信你想要类似的东西

definition 
 "ipow x n = (if n < 0 then (1 / x) ^ nat (-n) else x ^ nat n)"

除此之外,还可以。您可以编写inverse x ^ nat (-n),但在实践中应该没什么区别。我建议使用名称int_power,因为具有自然指数的相应运算称为power

就我个人而言,我将避免引入这样的新常量,因为为了实际有效地使用它,您还需要围绕它的大量定理。这意味着相当繁琐的工作。您真的需要在这里谈论整数吗?我发现人们在实践中通常可以绕开它(尤其要注意,所讨论的指数无论如何都是周期性的。)

尽管如此,引入这样的幂运算符可能仍然有用。我要说的是,您应该意识到这种权衡。

旁注:在Isabelle中,一个经常被忽略的函数在讨论诸如cis这样的指数时非常有用(例如'cosine + i·sine')。 cis x等同于x是真实的'exp(ix)'。