3
Agda Implementors' Meeting VI
27
record Point : Set where
31
data Point' : Set where
32
mkPoint : (x : Nat)(y : Nat) -> Point'
36
origin = record { x = 0; y = 0 }
42
module Point (p : Point) where
53
open module Pp = Point p
56
data _==_ {A : Set}(x : A) : A -> Set where
59
η-Point : (p : Point) -> p == record { x = Point.x p; y = Point.y p }
68
record True : Set where
74
data False : Set where
78
NonZero (suc _) = True
81
_/_ : (n m : Nat){p : NonZero m} -> Nat
84
suc n / suc m = div (suc n) (suc m) m
86
div : Nat -> Nat -> Nat -> Nat
87
div zero zero c = suc zero
88
div zero (suc y) c = zero
89
div (suc x) zero c = suc (div x c c)
90
div (suc x) (suc y) c = div x y c
101
record ∃ {A : Set}(P : A -> Set) : Set where