aboutsummaryrefslogtreecommitdiff
path: root/entries/funemy/agda
diff options
context:
space:
mode:
authorBraxton Hall2022-10-23 22:36:37 +0000
committerGitHub2022-10-23 22:36:37 +0000
commit1826be830f52e2a01e853a5f68d230c606baf294 (patch)
treee884bec4365d870c17cbf254800e30110c5d7ec1 /entries/funemy/agda
parente346fd18b3a830fce2e577a95854f0e7e4904070 (diff)
parent72c87a2aafa2bd98952494463353b2a48c1a06f5 (diff)
Merge pull request #4 from funemy/main
Fib in Agda, the boring one
Diffstat (limited to 'entries/funemy/agda')
-rw-r--r--entries/funemy/agda/fib1.agda36
1 files changed, 36 insertions, 0 deletions
diff --git a/entries/funemy/agda/fib1.agda b/entries/funemy/agda/fib1.agda
new file mode 100644
index 0000000..9e7f82a
--- /dev/null
+++ b/entries/funemy/agda/fib1.agda
@@ -0,0 +1,36 @@
+open import Agda.Builtin.Equality
+
+data Nat : Set where
+ zero : Nat
+ suc : Nat -> Nat
+
+{-# BUILTIN NATURAL Nat #-}
+
+z : Nat
+z = zero
+
+one : Nat
+one = suc zero
+
+add : Nat → Nat → Nat
+add zero y = y
+add (suc x) y = suc (add x y)
+
+fib : Nat → Nat
+fib zero = zero
+fib (suc zero) = suc zero
+fib (suc (suc x)) = add (fib x) (fib (suc x))
+
+fib0 : fib 0 ≡ 0
+fib0 = refl
+
+fib1 : fib 1 ≡ 1
+fib1 = refl
+
+fib2 : fib 2 ≡ 1
+fib2 = refl
+
+fib8 : fib 8 ≡ 21
+fib8 = refl
+
+