test whether one type is a subtype of another
any Maple type
A type s is said to be a subtype of a type t if for every expression e the test type(e, s) evaluates to true, then the expression type(e, t) will also evaluate to true. If a type is identified with its extension, then the ``subtype'' relation is the relation of inclusion.
The subtype(s, t) function attempts to determine if the type s is a subtype of the type t.
If subtype can prove that s is a subtype of t, then the value true is returned. In the same manner, if subtype can prove that s is not a subtype of t, then the value false is returned. Otherwise, if it is not possible to compute whether one type is a subtype of another, the value FAIL is returned.
In general, it is not possible to compute whether one type is a subtype of another.
Note: Not all pairs of types are comparable. For example, the types list and set are disjoint types; no expression is both a list and a set. Thus, both subtype( 'set', 'list' ) and subtype( 'list', 'set' ) return false.
Download Help Document