{-# OPTIONS --warning=error --safe --guardedness --without-K #-} open import LogicalFormulae open import Agda.Primitive using (Level; lzero; lsuc; _⊔_) open import Numbers.Naturals.Semiring open import Numbers.Naturals.Naturals open import Numbers.Naturals.Order open import Numbers.Naturals.EuclideanAlgorithm open import Lists.Lists open import Numbers.Primes.PrimeNumbers open import Decidable.Relations open import Numbers.BinaryNaturals.Definition open import Numbers.BinaryNaturals.Addition open import Numbers.BinaryNaturals.Order open import Sequences open import Vectors open import Orders.Total.Definition open import Setoids.Orders.Partial.Definition open import Setoids.Orders.Partial.Sequences open import Setoids.Orders.Total.Definition open import Setoids.Setoids open import Functions.Definition open import Semirings.Definition module ProjectEuler.Problem2 where fibUnary : ℕ → ℕ fibUnary zero = 1 fibUnary (succ zero) = 1 fibUnary (succ (succ n)) = fibUnary (succ n) +N fibUnary n fibUnaryStrictlyPositive : (a : ℕ) → 0