Complement (set theory)
In set theory, the complement of a set A refers to elements not in A. The relative complement of A with respect to a set B, also termed the difference of sets A and B, written B ∖ A, is the set of elements in B but 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 but not in A.
Contents
Relative complement[edit]
Definition[edit]
If A and B are sets, then the relative complement of A in B,[1] also termed the set-theoretic difference of B and A,[2] is the set of elements in B but not in A.
The relative complement of A in B is denoted B ∖ A according to the ISO 31-11 standard. It is sometimes written B − A, but this notation is ambiguous, as in some contexts it can be interpreted as the set of all elements b − a, where b is taken from B and a from A.
Formally:
Examples[edit]
- .
- .
- If is the set of real numbers and is the set of rational numbers, then is the set of irrational numbers.
Properties[edit]
Let A, B, and C be three sets. The following identities capture notable properties of relative complements:
-
- .
- .
- ,
- with the important special case demonstrating that intersection can be expressed using only the relative complement operation.
- .
- .
- .
- .
- .
Absolute complement[edit]
Definition[edit]
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. In other words, if U is the universe that contains all the elements under study, and there is no need to mention it because it is obvious and unique, then the absolute complement of A is the relative complement of A in U:[3]
- .
Formally:
The absolute complement of A is usually denoted by . Other notations include , , , , and .[4]
Examples[edit]
- 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.
- 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[edit]
Let A and B be two sets in a universe U. The following identities capture important properties of absolute complements:
- Complement laws:[1]
-
-
-
- (this follows from the equivalence of a conditional with its contrapositive).
-
- Involution or double complement law:
- Relationships between relative and absolute complements:
- Relationship with set difference:
-
The first two complement laws above show that if A is a non-empty, proper subset of U, then {A, A∁} is a partition of U.
LaTeX notation[edit]
In the LaTeX typesetting language, the command \setminus
[5] 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.
Complements in various programming languages[edit]
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
:
- .NET Framework
b.Except(a);
- C++
set_difference(a.begin(), a.end(), b.begin(), b.end(), result.begin());
- Common Lisp
set-difference, nset-difference
[7]
or
a - b
[9]
- Mathematica
Complement
[14]
- Pascal
SetDifference := a - b;
- Perl 5
-
# for perl version >= 5.10 @a = grep {not $_ ~~ @b} @a;
- Perl 6
-
$A ∖ $B $A (-) $B # texas version
- Prolog
a(X),\+ b(X).
or
a -- b
[24]
- SQL
-
SELECT * FROM A EXCEPT SELECT * FROM B
- Unix shell
comm -23 a b
[25]grep -vf b a # less efficient, but works with small unsorted sets
See also[edit]
Notes[edit]
- ^ a b c Halmos 1960, p. 17.
- ^ Devlin 1979, p. 6.
- ^ The set other than A is thus implicitly mentioned in an absolute complement, and explicitly mentioned in a relative complement.
- ^ Bourbaki 1970, p. E II.6.
- ^ [1] The Comprehensive LaTeX Symbol List
- ^ [2] clojure.set API reference
- ^ Common Lisp HyperSpec, Function set-difference, nset-difference. Accessed on September 8, 2009.
- ^ Set.difference<'T> Function (F#). Accessed on July 12, 2015.
- ^ Set.( - )<'T> Method (F#). Accessed on July 12, 2015.
- ^ Array subtraction, data structures. Accessed on July 28, 2014.
- ^ Data.Set (Haskell)
- ^ Set (Java 2 Platform SE 5.0). JavaTM 2 Platform Standard Edition 5.0 API Specification, updated in 2004. Accessed on February 13, 2008.
- ^ [3]. The Standard Library--Julia Language documentation. Accessed on September 24, 2014
- ^ Complement. Mathematica Documentation Center for version 6.0, updated in 2008. Accessed on March 7, 2008.
- ^ Setdiff. MATLAB Function Reference for version 7.6, updated in 2008. Accessed on May 19, 2008.
- ^ Set.S (OCaml).
- ^ [4]. GNU Octave Reference Manual
- ^ PARI/GP User's Manual Archived September 11, 2015, at the Wayback Machine.
- ^ PHP: array_diff, PHP Manual
- ^ a b [5]. Python v2.7.3 documentation. Accessed on January 17, 2013.
- ^ R Reference manual p. 410.
- ^ [6]. The Racket Reference. Accessed on May 19, 2015.
- ^ Class: Array Ruby Documentation
- ^ a b scala.collection.Set. Scala Standard Library 2.11.7, Accessed on July 12, 2015.
- ^ comm(1), Unix Seventh Edition Manual, 1979.
References[edit]
- Bourbaki, N. (1970). Théorie des ensembles (in French). Paris: Hermann. ISBN 978-3-540-34034-8.
- Devlin, Keith J. (1979). Fundamentals of contemporary set theory. Universitext. Springer. ISBN 0-387-90441-7. Zbl 0407.04003.
- Halmos, Paul R. (1960). Naive set theory. The University Series in Undergraduate Mathematics. van Nostrand Company. Zbl 0087.04403.