Question: unction fib ( n: nat ) : nat 2 { 3 if n = = 0 then 0 4 else if n = = 1
unction fibn: nat: nat
if n then
else if n then
else fibn fibn
method ComputeFibn:nat returns a:nat
ensures a fibn
if n return ;
var i: int :;
a :;
var b:;
var c :;
while i n
TODO: fill in invariants here
a:b;
b:c;
c:ab;
i : i ;
return a;
method ComputeFibn:nat returns b:nat
ensures b fibn
var i: int :;
var a :;
b :;
while i n
TODO: fill in invariants here
a b : b a b;
i : i ;
return b;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
