D = E 
D < E
= evaluates  to  true if the  two  domains D and  E are equal, to
false otherwise.  < evaluates  to true if the two domains D and
E are different and to false if they are equal.
Two  domains  are considered  equal  if  and  only if  the  sets of their
elements as computed by Elements (see Elements) are equal.   Thus, in
general = behaves as if each domain operand were replaced by its set of
elements.  Except  that = will also sometimes, but not always, work for
infinite domains, for which  it is of course difficult to compute the set
of elements.  Note that this implies that domains belonging  to different
categories may well be equal.  As  a special case of this, either operand
may also be a proper set, i.e., a sorted list without holes or duplicates
(see  Set),  and the result will be true if and only  if  the  set of
elements of  the domain  is, as  a set, equal  to  the set.  It  is  also
possible to compare a domain with something else that is not a domain  or
a set, but the result will of course always be false in this case.
    gap> GaussianIntegers = D12;
    false    # {\GAP} knows that those domains cannot be equal because
             # 'GaussianIntegers' is infinite and 'D12' is finite
    gap> GaussianIntegers = Integers;
    false    # {\GAP} knows how to compare those two rings
    gap> GaussianIntegers = Rationals;
    Error, sorry, cannot compare the infinite domains <D> and <E>
    gap> D12 = Group( (2,6)(3,5), (1,2)(3,6)(4,5) );
    true
    gap> D12 = [(),(2,6)(3,5),(1,2)(3,6)(4,5),(1,2,3,4,5,6),(1,3)(4,6),
    >           (1,3,5)(2,4,6),(1,4)(2,3)(5,6),(1,4)(2,5)(3,6),
    >           (1,5)(2,4),(1,5,3)(2,6,4),(1,6,5,4,3,2),(1,6)(2,5)(3,4)];
    true
    gap> D12 = [(1,6,5,4,3,2),(1,6)(2,5)(3,4),(1,5,3)(2,6,4),(1,5)(2,4),
    >           (1,4)(2,5)(3,6),(1,4)(2,3)(5,6),(1,3,5)(2,4,6),(1,3)(4,6),
    >           (1,2,3,4,5,6),(1,2)(3,6)(4,5),(2,6)(3,5),()];
    false    # since the left operand behaves as a set
             # while the right operand is not a set 
The  default function  DomainOps.'='  checks whether  both domains  are
infinite.  If they are, an error is signalled.  Otherwise, if  one domain
is infinite, false  is returned.  Otherwise  the sizes (see Size)  of
the domains are compared.  If they are  different,  false is  returned.
Finally  the  sets  of   elements  of  both  domains  are  computed  (see
Elements) and compared.   This  default function  is overlaid  by  more
special functions for other domains.
D < E 
D <= E 
D    E 
D  = E
<, <=, , and = evaluate  to true if the  domain D is less
than, less than or equal to,  greater than, and greater  than or equal to
the domain E and to false otherwise.
A domain D is considered less than a domain E if and only if the set of elements of D is less than the set of elements of the domain E. Generally you may just imagine that each domain operand is replaced by the set of its elements, and that the comparison is performed on those sets (see Comparisons of Lists). This implies that, if you compare a domain with an object that is not a list or a domain, this other object will be less than the domain, except if it is a record, in which case it is larger than the domain (see Comparisons).
Note that < does not test whether the left domain is a subset of the
right  operand,   even  though  it  resembles   the  mathematical  subset
notation.
    gap> GaussianIntegers < Rationals;
    Error, sorry, cannot compare <E> with the infinite domain <D>
    gap> Group( (1,2), (1,2,3,4,5,6) ) < D12;
    true     # since '(5,6)', the second element of the left operand,
             # is less than '(2,6)(3,5)', the second element of 'D12'.
    gap> D12 < [(1,6,5,4,3,2),(1,6)(2,5)(3,4),(1,5,3)(2,6,4),(1,5)(2,4),
    >           (1,4)(2,5)(3,6),(1,4)(2,3)(5,6),(1,3,5)(2,4,6),(1,3)(4,6),
    >           (1,2,3,4,5,6),(1,2)(3,6)(4,5),(2,6)(3,5),()];
    true     # since '()', the first element of 'D12', is less than
             # '(1,6,5,4,3,2)', the first element of the right operand.
    gap> 17 < D12;
    true     # objects that are not lists or records are smaller
             # than domains, which behave as if they were a set 
The  default function  DomainOps.'<' checks  whether  either  domain is
infinite.   If  one  is,  an error  is signalled.  Otherwise  the sets of
elements  of both  domains  are computed  (see Elements) and  compared.
This  default  function  is  only  very  seldom overlaid  by more special
functions for other domains.   Thus the  operators <, <=, ,  and
= are quite expensive and their use should be avoided if possible.
GAP 3.4.4