An efficient Fibonacci function on binary numbers
This exercise follows this one.
Find a simple relation between (fib n, fib (n+1))
and (fib (2n), fib (2n+1)). Use this relation
to construct an efficient function with the following type:
forall p:nat, {u:nat &{u':nat | u = fib n \coqand u' = fib(n+1)}}
using a recursive algorith on numbers of type positive.
Solution
Look at This file