{-# OPTIONS --rewriting #-}
module A201706.IS4 where
open import A201706.Prelude public
-- Types.
infixr 7 _⇒_
data Ty : Set where
• : Ty
_⇒_ : Ty → Ty → Ty
□_ : Ty → Ty
record BoxTy : Set where
constructor □_
field
A : Ty
-- Lists of types.
module IS4List where
open import A201706.PreludeList public
Ty⋆ : Set
Ty⋆ = List Ty
BoxTy⋆ : Set
BoxTy⋆ = List BoxTy
-- Vectors of types.
module IS4Vec where
open import A201706.PreludeVec public
Ty⋆ : Nat → Set
Ty⋆ g = Vec Ty g
BoxTy⋆ : Nat → Set
BoxTy⋆ d = Vec BoxTy d