How can we prove `Stream A = νX. A × X`

is isomorphic to `Nat -> A = (μX. 1 + X) -> A`

?

In programming sense, `Stream A`

can be seen as a function from `Nat to A`

, and I can write isomorphisms between them. But how can this be proven mathematically?

I would also like to know the conversion mechanism from `μ`

to `ν`

, and vice versa.