view systemT/systemT.agda @ 51:16e27df74ec5

Split subtype definitions for reuse context
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Tue, 10 Jan 2017 02:04:55 +0000
parents fe247f476ecb
children
line wrap: on
line source

module systemT where

data Bool : Set where
  T : Bool
  F : Bool

data Int : Set where
  O : Int
  S : Int -> Int

R : {U : Set} -> U -> (U -> (Int -> U)) -> Int -> U
R u v O = u
R u v (S t) = v (R u v t) t

D : {U : Set} -> U -> U -> Bool -> U
D u v F = v
D u v T = u