Complement (set theory)

From Wikipedia, the free encyclopedia

In discrete mathematics and predominantly in set theory, a complement is a concept used in comparisons of sets to refer to the unique values of one set in relation to another. The terms "absolute" and "relative" complement refer to more specific applications of the concept, with universal complements referring to elements unique to the universal set and the latter referring to the unique elements of one set in relation to another.

Contents

[edit] Forms

[edit] Absolute complement

In this image, the universal set is represented by the border of the image, and the set A as a disc. This image illustrates the complement of A in U, the additional complement, Ac which contains elements unique to U in this set operation
In this image, the universal set is represented by the border of the image, and the set A as a disc. This image illustrates the complement of A in U, the additional complement, Ac which contains elements unique to U in this set operation

If a universe U is defined, then the relative complement of A in U is called the absolute complement (or simply complement) of A, and is denoted by AC (or sometimes A′, also the same set often is denoted by \complement_U A or \complement A if U is fixed), that is:

AC  = U \ A.

For example, if the universe is the set of natural numbers, then the complement of the set of odd numbers is the set of even numbers.

The following proposition lists some important properties of absolute complements in relation to the set-theoretic operations of union and intersection.

PROPOSITION 2: If A and B are subsets of a universe U, then the following identities hold:

De Morgan's laws:
  • (A ∪ B)C  = AC ∩ BC
  • (A ∩ B)C  = AC ∪ BC
Complement laws:
  • A ∪ AC  =  U
  • A ∩ AC  =  Ø
  • ØC  =  U
  • UC  =  Ø
  • If AB, then BCAC (this follows from the equivalence of a conditional with its contrapositive)
Involution or double complement law:
  • ACC  =  A.
Relationships between relative and absolute complements:
  • A \ B = A ∩ BC
  • (A \ B)C = AC ∪ B

The first two complement laws above shows that if A is a non-empty subset of U, then {A, AC} is a partition of U.

[edit] Relative complement

If A and B are sets, then the relative complement of A in B, also known as the set-theoretic difference of B and A, is the set of elements in B, but not in A.

The relative complement of A in B
The relative complement of A in B

The relative complement of A in B is denoted B \ A (sometimes written B − A, but this notation is ambiguous, as in some contexts it can be interpreted as the set of all b − a, where b is taken from B and a from A).

Formally:

B \setminus A = \{ x\in B \, | \, x \notin A \}.

Examples:

The following proposition lists some notable properties of relative complements in relation to the set-theoretic operations of union and intersection.

PROPOSITION 1: If A, B, and C are sets, then the following identities hold:

  • C \ (A ∩ B)  =  (C \ A)∪(C \ B)
  • C \ (A ∪ B)  =  (C \ A)∩(C \ B)
  • C \ (B \ A)  =  (A ∩ C)∪(C \ B)
  • (B \ A) ∩ C  =  (B ∩ C) \ A  =  B∩(C \ A)
  • (B \ A) ∪ C  =  (B ∪ C) \ (A \ C)
  • A \ A  =  Ø
  • Ø \ A  =  Ø
  • A \ Ø  =  A

[edit] Other applications

In the LaTeX typesetting language the command \setminus is usually used for rendering a set difference symbol – a backslash-like 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 \,\backslash\, .

Some programming languages allow for manipulation of sets as data structures, using these operators or functions to construct the difference of sets a and b:

Mathematica
Complement[1]
MATLAB
setdiff[2]
Python
diff = a.difference(b)[3]
diff = a - b[3]
Java
diff = a.clone(); diff.removeAll(b);[4]

[edit] See also

[edit] References

  1. ^ Complement. Mathematica Documentation Center for version 6.0, updated in 2008. Accessed on March 7, 2008.
  2. ^ Setdiff. MATLAB Function Reference for version 7.6, updated in 2008. Accessed on May 19, 2008.
  3. ^ a b Set Types -- set, frozenset. Python Library Reference release 2.5, updated on September 19, 2006. Accessed on February 13, 2008.
  4. ^ Set (Java 2 Platform SE 5.0). JavaTM 2 Platform Standard Edition 5.0 API Specification, updated in 2004. Accessed on February 13, 2008.