diff options
| author | bringert <bringert@cs.chalmers.se> | 2005-12-06 16:33:40 +0000 |
|---|---|---|
| committer | bringert <bringert@cs.chalmers.se> | 2005-12-06 16:33:40 +0000 |
| commit | c703a92136ce579282c63c6e31fff76cc84b37ce (patch) | |
| tree | e0dedf8972756fa1322bb4d8a0c621a629bedc1e /transfer/lib/nat.tra | |
| parent | ee4adf5ba8ff50b4580a18d197f9e05d36195ede (diff) | |
Transfer: Changed transfer program file extension from .tr to .tra to avoid collision with Troff file extension.
Diffstat (limited to 'transfer/lib/nat.tra')
| -rw-r--r-- | transfer/lib/nat.tra | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/transfer/lib/nat.tra b/transfer/lib/nat.tra new file mode 100644 index 000000000..b13a809ed --- /dev/null +++ b/transfer/lib/nat.tra @@ -0,0 +1,24 @@ +import prelude + +data Nat : Type where + Zero : Nat + Succ : (n:Nat) -> Nat + +add_Nat : Add Nat +add_Nat = rec zero = Zero + plus = natPlus + +natPlus : Nat -> Nat -> Nat +natPlus Zero y = y +natPlus (Succ x) y = Succ (natPlus x y) + +pred : Nat -> Nat +pred Zero = Zero +pred (Succ n) = n + +natToInt : Nat -> Integer +natToInt Zero = 0 +natToInt (Succ n) = 1 + natToInt n + +intToNat : Integer -> Nat +intToNat n = if n == 0 then Zero else Succ (intToNat (n-1)) |
