Complement (set theory) - Wikipedia [Link]
org/wiki/Complement_(set_theory)
Complement (set theory)
From Wikipedia, the free encyclopedia
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
1 Relative complement
1.1 Definition
1.2 Examples
1.3 Properties
2 Absolute complement
2.1 Definition
2.2 Examples
2.3 Properties
3 LaTeX notation
4 Complements in various programming languages
5 See also
6 Notes
7 References
8 External links
Relative complement
Definition
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
1 de 7 26/6/17 19:55
Complement (set theory) - Wikipedia [Link]
.
If is the set of real numbers and is the set of rational
numbers, then is the set of irrational numbers.
Properties
Let A, B, and C be three sets. The following identities capture
notable properties of relative complements:
.
. The relative complement of A (left circle)
, in B (right circle):
with the important special case
demonstrating that intersection can be expressed using only the
relative complement operation.
.
.
.
.
.
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. 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]
.
The absolute complement of A in U:
Formally:
The absolute complement of A is usually denoted by . Other notations include , , , , and .[4]
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.
Assume that the universe is the standard 52-card deck. If the set A is the suit of spades, then the
2 de 7 26/6/17 19:55
Complement (set theory) - Wikipedia [Link]
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:
De Morgan's laws:[1]
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
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
3 de 7 26/6/17 19:55
Complement (set theory) - Wikipedia [Link]
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
[Link](b);
C++
set_difference([Link](), [Link](), [Link](), [Link](), [Link]());
Clojure
([Link]/difference a b)[6]
Common Lisp
set-difference, nset-difference[7]
F#
[Link] a b[8]
a - b[9]
Falcon
diff = a - b[10]
Haskell
difference a b
a \\ b[11]
Java
diff = [Link]();
[Link](b);[12]
Julia
setdiff[13]
Mathematica
Complement[14]
MATLAB
setdiff[15]
OCaml
[Link][16]
Octave
setdiff[17]
PARI/GP
setminus[18]
Pascal
4 de 7 26/6/17 19:55
Complement (set theory) - Wikipedia [Link]
SetDifference := a - b;
Perl 5
# for perl version >= 5.10
@a = grep {not $_ ~~ @b} @a;
Perl 6
$A $B
$A (-) $B # texas version
PHP
array_diff($a, $b);[19]
Prolog
a(X),\+ b(X).
Python
diff = [Link](b)[20]
diff = a - b[20]
R
setdiff[21]
Racket
(set-subtract a b)[22]
Ruby
diff = a - b[23]
Rust
let diff = std::collections::HashSet::difference(&hashset_a, &hashset_b);[24]
Scala
[Link](b)[25]
a -- b[25]
Smalltalk (Pharo)
a difference: b
SQL
SELECT * FROM A
EXCEPT
SELECT * FROM B
Unix shell
comm -23 a b[26]
5 de 7 26/6/17 19:55
Complement (set theory) - Wikipedia [Link]
grep -vf b a # less efficient, but works with small unsorted sets
See also
Algebra of sets
Naive set theory
Symmetric difference
Notes
1. Halmos 1960, p. 17.
2. Devlin 1979, p. 6.
3. The set other than A is thus implicitly mentioned in an absolute complement, and explicitly mentioned in a relative
complement.
4. Bourbaki 1970, p. E II.6.
5. [1] ([Link] The Comprehensive LaTeX Symbol List
6. [2] ([Link] [Link] API reference
7. Common Lisp HyperSpec, Function set-difference, nset-difference ([Link]
/HyperSpec/Body/f_set_di.htm). Accessed on September 8, 2009.
8. [Link]<'T> Function (F#) ([Link] Accessed on July 12,
2015.
9. Set.( - )<'T> Method (F#) ([Link] Accessed on July 12, 2015.
10. Array subtraction, data structures ([Link]
pwid=Survival%20Guide&wid=Survival%3ABasic+Structures#Arrays,). Accessed on July 28, 2014.
11. [Link] (Haskell) ([Link]
12. Set (Java 2 Platform SE 5.0) ([Link] JavaTM 2 Platform
Standard Edition 5.0 API Specification, updated in 2004. Accessed on February 13, 2008.
13. [3] ([Link] The Standard Library--Julia Language
documentation. Accessed on September 24, 2014
14. Complement ([Link] Mathematica Documentation
Center for version 6.0, updated in 2008. Accessed on March 7, 2008.
15. Setdiff ([Link] MATLAB Function Reference for
version 7.6, updated in 2008. Accessed on May 19, 2008.
16. Set.S (OCaml) ([Link]
17. [4] ([Link] GNU Octave Reference Manual
18. PARI/GP User's Manual ([Link] Archived
([Link]
September 11, 2015, at the Wayback Machine.
19. PHP: array_diff ([Link] PHP Manual
20. [5] ([Link] Python v2.7.3
documentation. Accessed on January 17, 2013.
21. R Reference manual p. 410 ([Link]
22. [6] ([Link]
%28%28lib._racket%2Fset..rkt%29._set-subtract%29%29). The Racket Reference. Accessed on May 19, 2015.
23. Class: Array ([Link] Ruby Documentation
24. [7] ([Link] The Rust Standard Library
Documentation. Accessed on March 7, 2017.
25. [Link] ([Link] Scala Standard Library
2.11.7, Accessed on July 12, 2015.
26. comm(1) ([Link] Unix Seventh Edition Manual, 1979.
6 de 7 26/6/17 19:55
Complement (set theory) - Wikipedia [Link]
References
Bourbaki, N. (1970). Thorie 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 ([Link]
Halmos, Paul R. (1960). Naive set theory. The University Series in Undergraduate Mathematics. van
Nostrand Company. Zbl 0087.04403 ([Link]
External links
Weisstein, Eric W. "Complement" ([Link] MathWorld.
Weisstein, Eric W. "Complement Set" ([Link]
MathWorld.
Retrieved from "[Link]
Categories: Basic concepts in set theory Binary operations
This page was last edited on 20 June 2017, at 11:58.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may
apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia is a registered
trademark of the Wikimedia Foundation, Inc., a non-profit organization.
7 de 7 26/6/17 19:55