# Complementar

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

## 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 $B\setminus A$. Às vezes é escrito $B-A$, 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:
    $B\setminus A=\{x\in B\mid x\notin A\}.$

### Exemplos

* $\{1,2,3\}\setminus \{2,3,4\}=\{1\}$.
* $\{2,3,4\}\setminus \{1,2,3\}=\{4\}$.
* Se $\mathbb {R}$ é o conjunto de números reais e $\mathbb {Q}$ é o conjunto dos números racionais, então $\mathbb {R} \setminus \mathbb {Q}$ é o conjunto dos números irracionais.

### 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:
* $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 A)\setminus B=(C\setminus B)\setminus A$;
* $(A\cup B)\setminus C=(A\setminus C)\cup (B\setminus C)$;
* $C\setminus (B\setminus A)=(C\cap A)\cup (C\setminus B)$;
* Com o caso especialmente importante de que $C\setminus (C\setminus A)=(C\cap A)$ demonstrando que a interseção pode ser expressa usando apenas a operação de diferença de conjuntos;
* $(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$.

## 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:
    $A^{\complement }=U\setminus A$.
Formalmente:
    $A^{\complement }=\{x\in U\mid x\notin A\}.$
Outras notações incluem $A^{c}$, ${\overline {A}}$, $A'$, $\complement _{U}A$, e $\complement A$.

### Exemplos

* Assuma que o universo é o conjunto dos inteiros. Se A é o conjunto dos números ímpares, então o complementar de A é o conjunto de números pares. Se B é o conjunto de múltiplos de 3, então o complementar de B é o conjunto de números congruentes a 1 ou 2 módulo 3.
* Assuma que o universo é um baralho padrão de 52 cartas. Se o conjunto A é o naipe de espadas, então o complementar de A é a união do naipe de copas, paus, e ouros.

### Propriedades

Sejam A e B dois conjuntos no universo U. As seguintes identidades mostram propriedades importantes de complementares:
    Teoremas de De Morgan:
      * $\left(A\cup B\right)^{\complement }=A^{\complement }\cap B^{\complement }.$
      * $\left(A\cap B\right)^{\complement }=A^{\complement }\cup B^{\complement }.$
    Leis de complementar:
      * $A\cup A^{\complement }=U.$
      * $A\cap A^{\complement }=\varnothing .$
      * $\varnothing ^{\complement }=U.$
      * $U^{\complement }=\varnothing .$
      * ${\text{Se }}A\subset B{\text{, então }}B^{\complement }\subset A^{\complement }.$
    Involução ou lei do duplo complementar:
      * $\left(A^{\complement }\right)^{\complement }=A.$
    Relações entre o complementar e a diferença de conjuntos:
      * $A\setminus B=A\cap B^{\complement }.$
      * $(A\setminus B)^{\complement }=A^{\complement }\cup B.$
      * $A^{\complement }\setminus B^{\complement }=B\setminus A.$
As duas primeiras leis acima mostram que se A é não-vazio, subconjunto próprio de U, então {A, A$^c$} é 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