aboutsummaryrefslogtreecommitdiff
path: root/entries/funemy/agda
diff options
context:
space:
mode:
authorJames Yoo2022-10-24 23:47:51 +0000
committerJames Yoo2022-10-24 23:47:51 +0000
commit03315f012514bdcc5a4f654056f0103abe11eb83 (patch)
tree2b7c6e9233ecb503e7be0d8354483691f9a1e16c /entries/funemy/agda
parent0921d8222bb883ea86d51c7200a865a5e4dbc469 (diff)
parent7ed13a92711a35a9c263c1f53e33e308653ae727 (diff)
Merging local with remote main
Diffstat (limited to 'entries/funemy/agda')
-rw-r--r--entries/funemy/agda/fib1.agda34
1 files changed, 34 insertions, 0 deletions
diff --git a/entries/funemy/agda/fib1.agda b/entries/funemy/agda/fib1.agda
new file mode 100644
index 0000000..d8931a0
--- /dev/null
+++ b/entries/funemy/agda/fib1.agda
@@ -0,0 +1,34 @@
+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