IsSubset( D, E )
IsSubset
returns true
if the domain E is a subset of the domain D
and false
otherwise.
E is considered a subset of D if and only if the set of elements of
E is as a set a subset of the set of elements of D (see Elements
and Set Functions for Sets). That is IsSubset
behaves as if
implemented as IsSubsetSet( Elements(D), Elements(E) )
, except that
it will also sometimes, but not always, work for infinite domains, and
that it will usually work much faster than the above definition. Either
argument may also be a proper set.
gap> IsSubset( GaussianIntegers, [1,E(4)] ); true gap> IsSubset( GaussianIntegers, Rationals ); Error, sorry, cannot compare the infinite domains <D> and <E> gap> IsSubset( Group( (1,2), (1,2,3,4,5,6) ), D12 ); true gap> IsSubset( D12, [ (), (1,2)(3,4)(5,6) ] ); false
The default function DomainOps.IsSubset
checks whether both domains are
infinite. If they are it signals an error. Otherwise if the E is
infinite it returns false
. Otherwise if D is infinite it tests if
each element of E is in D (see Membership Test for Domains).
Otherwise it tests whether the proper set of elements of E is a subset
Set Functions for Sets).
GAP 3.4.4