@@ -289,7 +289,7 @@ we declare vectors as follows:
290\begin{SaveVerbatim}{vect}
290\begin{SaveVerbatim}{vect}
292−data Vect : Set -> Nat -> Set where
292+data Vect : Type -> Nat -> Type where
293 Nil : Vect a O
293 Nil : Vect a O
294 (::) : a -> Vect a k -> Vect a (S k)
294 (::) : a -> Vect a k -> Vect a (S k)
@@ -305,7 +305,7 @@ Ambiguous constructor names can normally be resolved from context.
305This declares a family of types, and so the form of the declaration is rather
305This declares a family of types, and so the form of the declaration is rather
306different from the simple type declarations above. We explicitly state the type
306different from the simple type declarations above. We explicitly state the type
307of the type constructor \tTC{Vect} --- it takes a type and a \tTC{Nat} as an
307of the type constructor \tTC{Vect} --- it takes a type and a \tTC{Nat} as an
308−argument, where \tTC{Set} stands for the type of types. We say that \tTC{Vect}
308+argument, where \tTC{Type} stands for the type of types. We say that \tTC{Vect}
309is \emph{parameterised} by a type, and \emph{indexed} over \tTC{Nat}. Each
309is \emph{parameterised} by a type, and \emph{indexed} over \tTC{Nat}. Each
310constructor targets a different part of the family of types. \tDC{Nil} can only
310constructor targets a different part of the family of types. \tDC{Nil} can only
311be used to construct vectors with zero length, and \tDC{::} to construct
311be used to construct vectors with zero length, and \tDC{::} to construct
@@ -370,7 +370,7 @@ They are declared as follows (again, in the prelude):
371\begin{SaveVerbatim}{findecl}
371\begin{SaveVerbatim}{findecl}
373−data Fin : Nat -> Set where
373+data Fin : Nat -> Type where
374 fO : Fin (S k)
374 fO : Fin (S k)
375 fS : Fin k -> Fin (S k)
375 fS : Fin k -> Fin (S k)
@@ -433,7 +433,7 @@ arguments to \texttt{index}. We could also write the type of \texttt{index} as:
434\begin{SaveVerbatim}{vindeximpty}
434\begin{SaveVerbatim}{vindeximpty}
436−index : {a:Set} -> {n:Nat} -> Fin n -> Vect a n -> a
436+index : {a:Type} -> {n:Nat} -> Fin n -> Vect a n -> a
438\end{SaveVerbatim}
438\end{SaveVerbatim}
439\useverb{vindeximpty}
439\useverb{vindeximpty}
@@ -481,7 +481,7 @@ definition, which defines a predicate on vectors:
482\begin{SaveVerbatim}{elem}
482\begin{SaveVerbatim}{elem}
484−data Elem : a -> Vect a n -> Set where
484+data Elem : a -> Vect a n -> Type where
485 here : {x:a} -> {xs:Vect a n} -> Elem x (x :: xs)
485 here : {x:a} -> {xs:Vect a n} -> Elem x (x :: xs)
486 there : {x,y:a} -> {xs:Vect a n} -> Elem x xs -> Elem x (y :: xs)
486 there : {x,y:a} -> {xs:Vect a n} -> Elem x xs -> Elem x (y :: xs)
@@ -513,7 +513,7 @@ ordering of any implicit arguments which can appear within the block:
513\begin{SaveVerbatim}{elemusing}
513\begin{SaveVerbatim}{elemusing}
515using (x:a, y:a, xs:Vect a n)
515using (x:a, y:a, xs:Vect a n)
516− data Elem : a -> Vect a n -> Set where
516+ data Elem : a -> Vect a n -> Type where
517 here : Elem x (x :: xs)
517 here : Elem x (x :: xs)
518 there : Elem x xs -> Elem x (y :: xs)
518 there : Elem x xs -> Elem x (y :: xs)
@@ -674,7 +674,7 @@ We have already seen the \texttt{List} and \texttt{Vect} data types:
675data List a = Nil | (::) a (List a)
675data List a = Nil | (::) a (List a)
677−data Vect : Set -> Nat -> Set where
677+data Vect : Type -> Nat -> Type where
678 Nil : Vect a O
678 Nil : Vect a O
679 (::) : a -> Vect a k -> Vect a (S k)
679 (::) : a -> Vect a k -> Vect a (S k)
@@ -858,8 +858,8 @@ the value of the first element:
859\begin{SaveVerbatim}{sigma}
859\begin{SaveVerbatim}{sigma}
861−data Exists : (A : Set) -> (P : A -> Set) -> Set where
861+data Exists : (A : Type) -> (P : A -> Type) -> Type where
862− Ex_intro : {P : A -> Set} -> (a : A) -> P a -> Exists A P
862+ Ex_intro : {P : A -> Type} -> (a : A) -> P a -> Exists A P
864\end{SaveVerbatim}
864\end{SaveVerbatim}
865\useverb{sigma}
865\useverb{sigma}
@@ -951,7 +951,7 @@ value is true:
952\begin{SaveVerbatim}{sotype}
952\begin{SaveVerbatim}{sotype}
954−data so : Bool -> Set where
954+data so : Bool -> Type where
955 oh : so True
955 oh : so True
957\end{SaveVerbatim}
957\end{SaveVerbatim}
@@ -1112,7 +1112,7 @@ can represent a person's name and age in a record:
1113\begin{SaveVerbatim}{recsimpl}
1113\begin{SaveVerbatim}{recsimpl}
1115−record Person : Set where
1115+record Person : Type where
1116 MkPerson : (name : String) ->
1116 MkPerson : (name : String) ->
1117 (age : Int) -> Person
1117 (age : Int) -> Person
@@ -1165,7 +1165,7 @@ the record as a whole. For example:
1166\begin{SaveVerbatim}{deprec}
1166\begin{SaveVerbatim}{deprec}
1168−record Class : Set where
1168+record Class : Type where
1169 ClassInfo : (students : Vect Person n) ->
1169 ClassInfo : (students : Vect Person n) ->
1170 (className : String) ->
1170 (className : String) ->