16  Pascal User  Manual  The predeclared functions succ, pred, and ord accept arguments of  any ordinal type:  The relational operators =, <>, <, <=, >=,  and>  are applicable to  all ordinal types provided both operands are ofthe same type. The order  is determined by the values of the ordinal numbers underlying the  operands.  A Boolean value is one of the  logical truth values denoted by the  predefined identifiers false and true.  These logical operators yield a Boolean value when applied to  Boolean operands: (Appendix B summarizes all operators.)  Each of the relational operators (=,  <>, <=,  <,  >,  >=, in) yields a  Boolean  result.  "<>"  denotes  inequality.  Furthermore,  the  type  Boolean is defined such that false  < true. Hence, it is possible to  define each of the 16 Boolean operations using the above logical and  relational operators. For example, if p  and  Q  are Boolean values, one  can express  Figure 2.d  Syntax diagram for  OrdinalType  succ(X)  pred(X)  ord(X)  the successor of x; yields the next ordinal value  the predecessor of x; yields the previous ordinal  value  the ordinal-number function; yields the ordinal  number ofx.  and  logical conjunction  or  logical disjunction  not  logical negation  2.B  The Type Boolean  Typeldentifier  r---------::.--- 1'--------.1 EnumeratedType  r-------"'I  '-----------.,.-j  SubrangeType  1---------" 