Complementar

A área em vermelho é o complementar de A em U, .
No exemplo, o conjunto A está representado pela circunferência em branco enquanto que o conjunto universo U é representado por todo o retângulo.

Em teoria dos conjuntos, o complementar de um subconjunto se refere a elementos que não estão no conjunto . Normalmente, o complementar se trata de maneira relativa à um conjunto universo , sendo o conjunto o complementar de formado pelos elementos de que não pertencem a . De maneira mais geral, define-se o complementar de em relação a , também chamado de diferença de conjuntos, como o conjunto dos elementos de que não estão em .

Diferença de conjuntos

Definição

Se A e B são conjuntos, então o complemento relativo de A em relação a B , também conhecido como diferença de B e A , é o conjunto de elementos de B que não estão em A.

A diferença de B para A é geralmente denotada . Às vezes é escrito , mas esta notação é ambígua, já que, em alguns contextos, pode ser interpretada como o conjunto de todos os elementos de b - a, onde b é tomado a partir de B e a a partir de A.

Formalmente:

Exemplos

Propriedades

Sejam A, B e C três conjuntos. As seguintes identidades mostram propriedades importantes da diferença de conjuntos, que podem ser demonstradas com poucos passos usando a própria definição de diferença de conjuntos, junto com as Leis de De Morgan:

Em vermelho, a diferença de B (círculo da direita) e A (círculo da esquerda):

Complementar do conjunto

Definição

Se A é um conjunto, então o complementar de A é o conjunto de elementos que não estão em A. Em outras palavras, se U é o universo que contém todos os conjuntos que estão sendo estudados no problema de modo que não é necessário mencioná-lo quando ele é óbvio e único, então o complementar de A é a diferença entre os conjuntos U e A, sendo representado normalmente como:

.

Formalmente:

Outras notações incluem , , , , e .

Exemplos

Propriedades

Sejam A e B dois conjuntos no universo U. As seguintes identidades mostram propriedades importantes de complementares:

Teoremas de De Morgan:
Leis de complementar:
Involução ou lei do duplo complementar:
Relações entre o complementar e a diferença de conjuntos:

As duas primeiras leis acima mostram que se A é não-vazio, subconjunto próprio de U, então {A, Ac} é uma partição de U.

Notação em LaTeX

Na linguagem de diagramação de textos LaTeX, o comando \setminus é normalmente o utilizado para representar o símbolo de diferença de conjuntos, similar ao comando backslash. Existe também um variante \smallsetminus disponível no pacote amssymb.

Complementar em várias linguagens de programação

Algumas linguagens de programação permitem a manipulação de conjuntos como estruturas de dados, usar estes operadores como função para construir a diferença entre dois conjuntos a e b:


.NET Framework
a.Except(b);
C++
set_difference(a.begin(), a.end(), b.begin(), b.end(), result.begin());
Clojure
(clojure.set/difference a b)
Common Lisp
set-difference, nset-difference
F#
Set.difference a b

or

a - b
Falcon
diff = a - b
Haskell
difference a b
a \\ b
Java
diff = a.clone();
diff.removeAll(b);
Julia
setdiff
Mathematica
Complement
MATLAB
setdiff
OCaml
Set.S.diff
Octave
setdiff
PARI/GP
setminus
Pascal
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);
Prolog
a(X),\+ b(X).
Python
diff = a.difference(b)
diff = a - b
R
setdiff
Racket
(set-subtract a b)
Ruby
diff = a - b
Scala
a.diff(b)

or

a -- b
Smalltalk (Pharo)
a difference: b
SQL
SELECT * FROM A
EXCEPT
SELECT * FROM B
Unix shell
comm -23 a b

Ver também

Referências

  1. 1 2 3 Halmos 1960, p. 17.
  2. ↑ Devlin 1979, p. 6.
  3. ↑ Bourbaki 1970, p. E II.6.
  4. ↑ The Comprehensive LaTeX Symbol List
  5. ↑ clojure.set API reference
  6. ↑ Common Lisp HyperSpec, Function set-difference, nset-difference. Accessed on September 8, 2009.
  7. ↑ Set.difference<'T> Function (F#)[ligação inativa]. Accessed on July 12, 2015.
  8. ↑ Set.( - )<'T> Method (F#)[ligação inativa]. Accessed on July 12, 2015.
  9. ↑ Array subtraction, data structures. Accessed on July 28, 2014.
  10. ↑ «Data.Set (Haskell)». Consultado em 29 de agosto de 2016. Arquivado do original em 28 de maio de 2009
  11. ↑ Set (Java 2 Platform SE 5.0). JavaTM 2 Platform Standard Edition 5.0 API Specification, updated in 2004. Accessed on February 13, 2008.
  12. ↑ Arquivado em 15 de outubro de 2014, no Wayback Machine.. The Standard Library--Julia Language documentation. Accessed on September 24, 2014
  13. ↑ Complement. Mathematica Documentation Center for version 6.0, updated in 2008. Accessed on March 7, 2008.
  14. ↑ Setdiff. MATLAB Function Reference for version 7.6, updated in 2008. Accessed on May 19, 2008.
  15. ↑ Set.S (OCaml).
  16. ↑ . GNU Octave Reference Manual
  17. ↑ «PARI/GP User's Manual» (PDF). Consultado em 29 de agosto de 2016. Arquivado do original (PDF) em 11 de setembro de 2015
  18. ↑ PHP: array_diff, PHP Manual
  19. 1 2 . Python v2.7.3 documentation. Accessed on January 17, 2013.
  20. ↑ R Reference manual p. 410.
  21. ↑ . The Racket Reference. Accessed on May 19, 2015.
  22. ↑ Class: Array Ruby Documentation
  23. 1 2 scala.collection.Set. Scala Standard Library 2.11.7, Accessed on July 12, 2015.
  24. ↑ comm(1), Unix Seventh Edition Manual, 1979.

Ligações externas