There is a predefined enumeration
type named Boolean, [declared in the visible part of package Standard].
It has the two enumeration literals
False and True ordered with the relation False < True.
Any
descendant of the predefined type Boolean is called a
boolean
type.
Implementation Note: An implementation
is not required to support enumeration representation clauses on boolean
types that impose an unacceptable implementation burden. See
13.4,
“
Enumeration Representation Clauses”.
However, it is generally straightforward to support representations where
False is zero and True is 2**n – 1 for some n.