~ubuntu-branches/ubuntu/wily/agda/wily-proposed

« back to all changes in this revision

Viewing changes to test/succeed/TerminationTupledAckermann.agda

  • Committer: Package Import Robot
  • Author(s): Iain Lane
  • Date: 2014-08-05 06:38:12 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20140805063812-io8e77niomivhd49
Tags: 2.4.0.2-1
* [6e140ac] Imported Upstream version 2.4.0.2
* [2049fc8] Update Build-Depends to match control
* [93dc4d4] Install the new primitives
* [e48f40f] Fix typo dev→doc

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
module TerminationTupledAckermann where
3
 
 
4
 
data Nat : Set where
5
 
    zero : Nat
6
 
    succ : Nat -> Nat
7
 
 
8
 
data _×_ (A B : Set) : Set where
9
 
    _,_ : A -> B -> A × B
10
 
 
11
 
 
12
 
add : Nat × Nat -> Nat
13
 
add (zero   , m) = m
14
 
add (succ n , m) = succ (add (n , m))
15
 
 
16
 
 
17
 
ack : Nat × Nat -> Nat
18
 
ack (zero   , y)      = succ y
19
 
ack (succ x , zero)   = ack (x , succ zero)
20
 
ack (succ x , succ y) = ack (x , ack (succ x , y))