Fibonacci function by nrolland

module Theorem where

open import Data.Nat
open import Definitions

fib : ℕ → ℕ
fib (suc (suc n)) = fib (suc n) + fib n
fib _ = 1

fib-is-FibFunc : FibFunc fib
fib-is-FibFunc zero = Fib0
fib-is-FibFunc (suc zero) = Fib1
fib-is-FibFunc (suc (suc n)) = FibN (fib-is-FibFunc (suc n)) (fib-is-FibFunc n)