Programming Fibonacci Using Invariants