Scala 流上的归纳证明

Inductive proof on scala stream

有人可以帮助我如何归纳推理这个 scala 代码

lazy val y : Stream[Int] = 1 #:: (y map (_ + 1))

生成从 1 开始的自然数列表?

1 #:: whatever位置的值为1,所以我们知道y(0) = 1.

在更大的位置我们有 y(n+1) = whatever(n)。这里 whatevery map (_+1),所以 y(n+1) = (y map (_+1))(n)

我们要证明forall n. y(n) = n + 1

我们知道 n = 0y(0) = 1

也是如此

(y.map(_+1))(n) 就是 y(n) + 1。这就是地图的作用。所以我们上面的公式就变成了y(n+1) = y(n) + 1

然后很简单,如果我们知道y(n) = n+1,那么y(n+1) = (n+1) + 1。下一等级的结果为真。我们通过归纳法得到证明。