Pascal Report  153  6.1.  Simple Types  representation  does  not  consist only  of a  type  identifier,  then  it  represents an entirely new type. Types are classified according to some  of their properties:  Type  =  SimpleType  I  StructuredType  I  Pointe/Type.  A simple type determines an ordered set of values, and is either the  predefined Real type or an  ordinal  type. A real type identifier is a type  identifier that denotes the Real type.  SimpleType  =  OrdinalType  I  RealTypeldentijier .  RealTypeldentifier  =  Typeldentifier .  An ordinal  type  is  distinguished (from  the  Eeal  type)  by  the  one-to-one correspondence between its values and a set of  ordinal  numbers.  The ordinal numbers for  any  ordinal  type  constitute an  interval of the integers.  The following three predeclared functions apply to any ordinal  value x:  Clearly, the ordering of the values of an ordinal type is the same as the  ordering of their ordinal numbers.  An  ordinal  type  either  is  an  enumerated  type  or one  of the  predefined types Integer, Char, or Boolean, or else is a  subrange  of one  of these.  OrdinalType  =  EnumeratedType  I  SuhrangeType  I  OrdinaITypeldentijle/:  OrdinalTypeldentifier  =  Typeldentijler .  An ordinal type identifier is a type identifier that denotes an ordinal  type.  ord (X)  yields the ordinal number corresponding to x; the result  is of type Integer.  succ (X)  yields the successor of x. That is,  succ(X)  >  x,andord(succ(X»  =  ord(X)  +  1  unless x  is the largest value  of its type, in which case  succ (X)  is an error.  pred (X)  yields the predecessor of x. That is,  pred (X)  <  x, and ord (pred (X»  =  ord (X)  - 1  unless X is the smallest value of its type, in which case  pred (X)  is an error. 