From cba2fcb9b118cedb603b171ac7d7581c5adb844c Mon Sep 17 00:00:00 2001 From: bringert Date: Wed, 30 Nov 2005 16:00:06 +0000 Subject: Moved transfer libraries to transfer/lib --- transfer/lib/nat.tr | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 transfer/lib/nat.tr (limited to 'transfer/lib/nat.tr') diff --git a/transfer/lib/nat.tr b/transfer/lib/nat.tr new file mode 100644 index 000000000..c529e5238 --- /dev/null +++ b/transfer/lib/nat.tr @@ -0,0 +1,18 @@ +data Nat : Type where + Zero : Nat + Succ : (n:Nat) -> Nat + +plus : Nat -> Nat -> Nat +plus Zero y = y +plus (Succ x) y = Succ (plus x y) + +pred : Nat -> Nat +pred Zero = Zero +pred (Succ n) = n + +natToInt : Nat -> Int +natToInt Zero = 0 +natToInt (Succ n) = 1 + natToInt n + +intToNat : Int -> Nat +intToNat n = if n == 0 then Zero else Succ (intToNat (n-1)) -- cgit v1.2.3