# Complement (set theory)

In set theory, the complement of a set A, often denoted by Ac (or A), are the elements not in A.

When all sets under consideration are considered to be subsets of a given set U, the absolute complement of A is the set of elements in U that are not in A.

The relative complement of A with respect to a set B, also termed the set difference of B and A, written $B\setminus A,$ is the set of elements in B that are not in A.

## Absolute complement

### Definition

If A is a set, then the absolute complement of A (or simply the complement of A) is the set of elements not in A (within a larger set that is implicitly defined). In other words, let U be a set that contains all the elements under study; if there is no need to mention U, either because it has been previously specified, or it is obvious and unique, then the absolute complement of A is the relative complement of A in U:

$A^{c}=U\setminus A.$ Or formally:

$A^{c}=\{x\in U:x\notin A\}.$ The absolute complement of A is usually denoted by Ac. Other notations include ${\overline {A}},A',$ $\complement _{U}A,{\text{ and }}\complement A.$ ### Examples

• Assume that the universe is the set of integers. If A is the set of odd numbers, then the complement of A is the set of even numbers. If B is the set of multiples of 3, then the complement of B is the set of numbers congruent to 1 or 2 modulo 3 (or, in simpler terms, the integers that are not multiples of 3).
• Assume that the universe is the standard 52-card deck. If the set A is the suit of spades, then the complement of A is the union of the suits of clubs, diamonds, and hearts. If the set B is the union of the suits of clubs and diamonds, then the complement of B is the union of the suits of hearts and spades.

### Properties

Let A and B be two sets in a universe U. The following identities capture important properties of absolute complements:

• $\left(A\cup B\right)^{c}=A^{c}\cap B^{c}.$ • $\left(A\cap B\right)^{c}=A^{c}\cup B^{c}.$ Complement laws:

• $A\cup A^{c}=U.$ • $A\cap A^{c}=\varnothing .$ • $\varnothing ^{c}=U.$ • $U^{c}=\varnothing .$ • ${\text{If }}A\subseteq B{\text{, then }}B^{c}\subseteq A^{c}.$ (this follows from the equivalence of a conditional with its contrapositive).

Involution or double complement law:

• $\left(A^{c}\right)^{c}=A.$ Relationships between relative and absolute complements:

• $A\setminus B=A\cap B^{c}.$ • $(A\setminus B)^{c}=A^{c}\cup B=A^{c}\cup (B\cap A).$ Relationship with a set difference:

• $A^{c}\setminus B^{c}=B\setminus A.$ The first two complement laws above show that if A is a non-empty, proper subset of U, then {A, Ac} is a partition of U.

## Relative complement

### Definition

If A and B are sets, then the relative complement of A in B, also termed the set difference of B and A, is the set of elements in B but not in A. The relative complement of A (left circle) in B (right circle): $B\cap A^{c}=B\setminus A$ The relative complement of A in B is denoted $B\setminus A$ according to the ISO 31-11 standard. It is sometimes written $B-A,$ but this notation is ambiguous, as in some contexts (for example, Minkowski set operations in functional analysis) it can be interpreted as the set of all elements $b-a,$ where b is taken from B and a from A.

Formally:

$B\setminus A=\{x\in B:x\notin A\}.$ ### Examples

• $\{1,2,3\}\setminus \{2,3,4\}=\{1\}.$ • $\{2,3,4\}\setminus \{1,2,3\}=\{4\}.$ • If $\mathbb {R}$ is the set of real numbers and $\mathbb {Q}$ is the set of rational numbers, then $\mathbb {R} \setminus \mathbb {Q}$ is the set of irrational numbers.

### Properties

Let A, B, and C be three sets. The following identities capture notable properties of relative complements:

• $C\setminus (A\cap B)=(C\setminus A)\cup (C\setminus B).$ • $C\setminus (A\cup B)=(C\setminus A)\cap (C\setminus B).$ • $C\setminus (B\setminus A)=(C\cap A)\cup (C\setminus B),$ with the important special case $C\setminus (C\setminus A)=(C\cap A)$ demonstrating that intersection can be expressed using only the relative complement operation.
• $(B\setminus A)\cap C=(B\cap C)\setminus A=B\cap (C\setminus A).$ • $(B\setminus A)\cup C=(B\cup C)\setminus (A\setminus C).$ • $A\setminus A=\emptyset .$ • $\emptyset \setminus A=\emptyset .$ • $A\setminus \emptyset =A.$ • $A\setminus U=\emptyset .$ • $A\supseteq B\setminus C$ is equivalent to $C\supseteq B\setminus A$ .

## Complementary relation

A binary relation $R$ is defined as a subset of a product of sets $X\times Y.$ The complementary relation ${\bar {R}}$ is the set complement of $R$ in $X\times Y.$ The complement of relation $R$ can be written

${\bar {R}}\ =\ (X\times Y)\setminus R.$ Here, $R$ is often viewed as a logical matrix with rows representing the elements of $X,$ and columns elements of $Y.$ The truth of $aRb$ corresponds to 1 in row $a,$ column $b.$ Producing the complementary relation to $R$ then corresponds to switching all 1s to 0s, and 0s to 1s for the logical matrix of the complement.

Together with composition of relations and converse relations, complementary relations and the algebra of sets are the elementary operations of the calculus of relations.

## LaTeX notation

In the LaTeX typesetting language, the command \setminus is usually used for rendering a set difference symbol, which is similar to a backslash symbol. When rendered, the \setminus command looks identical to \backslash, except that it has a little more space in front and behind the slash, akin to the LaTeX sequence \mathbin{\backslash}. A variant \smallsetminus is available in the amssymb package.

## In programming languages

Some programming languages have sets among their builtin data structures. Such a data structure behaves as a finite set, that is, it consists of a finite number of data that are not specifically ordered, and may thus be considered as the elements of a set. In some cases, the elements are not necessary distinct, and the data structure codes multisets rather than sets. These programming languages have operators or functions for computing the complement and the set differences.

These operators may generally be applied also to data structures that are not really mathematical sets, such as ordered lists or arrays. It follows that some programming languages may have a function called set_difference, even if they do not have any data structure for sets.