Testing Expressions

Wolfram Language symbolic expressions can represent an immense range of types of objects. The Wolfram Language provides a rich collection of functions to test expressions. Functions that "ask a question" have names that end in Q. They return True for an explicit true answer, and False otherwise.

Equality & Inequality

Equal (==), Unequal (!=) numerical equality

SameQ (===), UnsameQ (=!=) literal symbolic identity

Less (<)  ▪  Greater (>)  ▪  LessEqual (<=)  ▪  GreaterEqual (>=)  ▪  Between

Logical Combinations »

And(&&)  ▪  Or(||)  ▪  Not(!)  ▪  True  ▪  False  ▪  ...

AllTrue  ▪  AnyTrue  ▪  NoneTrue

Operator Forms

GreaterThan  ▪  LessThan  ▪  GreaterEqualThan  ▪  LessEqualThan  ▪  EqualTo  ▪  UnequalTo  ▪  NearestTo  ▪  SameAs

Numerical Properties

NumberQ, MachineNumberQ literal number, literal machine-precision number

NumericQ numeric quantity (consisting of numbers, numeric constants, and functions)

IntegerQ  ▪  EvenQ  ▪  OddQ  ▪  PrimeQ  ▪  CoprimeQ  ▪  AlgebraicIntegerQ  ▪  ...

Positive  ▪  Negative  ▪  NonPositive  ▪  NonNegative  ▪  PossibleZeroQ

List-Oriented Tests

VectorQ, MatrixQ vector, matrix, perhaps with elements of specified types

ArrayQ full array of any depth

MemberQ test whether a pattern occurs in a list

DuplicateFreeQ  ▪  IntersectingQ  ▪  DisjointQ  ▪  SubsetQ

ContainsAll  ▪  ContainsNone  ▪  ContainsAny  ▪  ContainsOnly  ▪  ContainsExactly

Expression Tests

MatchQ test whether an expression matches a pattern

AtomQ  ▪  ListQ  ▪  TrueQ  ▪  BooleanQ  ▪  OrderedQ  ▪  PolynomialQ  ▪  DateObjectQ  ▪  TimeObjectQ  ▪  PolynomialExpressionQ  ▪  RationalExpressionQ

Order canonical ordering of expressions

LexicographicOrder  ▪  NumericalOrder  ▪  AlphabeticOrder

String Tests »

StringQ  ▪  StringMatchQ  ▪  StringFreeQ  ▪  LetterQ  ▪  DigitQ  ▪  SyntaxQ  ▪  ...