module A201706.ICML where
open import A201706.Prelude public
module ICMLList where
open import A201706.PreludeList public
mutual
infixr 7 _⇒_
data Ty : Set where
• : Ty
_⇒_ : Ty → Ty → Ty
[_]_ : Ty⋆ → Ty → Ty
Ty⋆ : Set
Ty⋆ = List Ty
record BoxTy : Set where
constructor [_]_
field
Γ : Ty⋆
A : Ty
BoxTy⋆ : Set
BoxTy⋆ = List BoxTy
module ICMLVec where
open import A201706.PreludeVec public
mutual
infixr 7 _⇒_
data Ty : Set where
• : Ty
_⇒_ : Ty → Ty → Ty
[_]_ : ∀ {g} → Ty⋆ g → Ty → Ty
Ty⋆ : Nat → Set
Ty⋆ g = Vec Ty g
record BoxTy : Set where
constructor [_]_
field
{g} : Nat
Γ : Ty⋆ g
A : Ty
BoxTy⋆ : Nat → Set
BoxTy⋆ d = Vec BoxTy d