在Isabelle中将前n个自然数的列表写成整数

在Isabelle中将前n个自然数的列表写成整数,isabelle,Isabelle,我需要一个描述范围的列表,如: [0..<length P] 但是,该类型具有nat列表。我以后需要它的类型是int list 如何进行这种转换?最简单的方法可能是映射int[0..还有List.upto,使用特殊语法[m..n]生成从m到n的整数列表,其中上界和下界都包含在内 所以在你的情况下,我可能会使用 [0 .. int (length xs) - 1] 注意,对于length的结果,仍然需要从nat转换为int

我需要一个描述范围的列表,如:

[0..<length P]
但是,该类型具有nat列表。我以后需要它的类型是int list


如何进行这种转换?

最简单的方法可能是映射int[0..还有List.upto,使用特殊语法[m..n]生成从m到n的整数列表,其中上界和下界都包含在内

所以在你的情况下,我可能会使用

[0 .. int (length xs) - 1]
注意,对于length的结果,仍然需要从nat转换为int