Ir para o conteúdo principal

Diagramas de Venn e Operações entre Conjuntos

Autor
Francisco Bustamante
Um químico trabalhando com Ciência de Dados e Programação em Python.
Tabela de conteúdos
A Linguagem dos Conjuntos - Este artigo faz parte de uma série de artigos.
Parte 2: Esse Artigo

No artigo anterior vimos o que é um conjunto e como definir seus elementos com precisão. Agora damos um passo a mais: vamos aprender a operar sobre conjuntos — combiná-los, encontrar o que têm em comum, subtrair um do outro — e a visualizá-los com os diagramas de Venn.

Essas operações aparecem em toda parte: em consultas escritas em SQL (Structured Query Language), em filtros de dados e em lógica de programação. Por exemplo, um predicado como WHERE a IN (SELECT ...) AND b NOT IN (...) já combina inclusão e exclusão de conjuntos. Entender a álgebra dos conjuntos é entender a estrutura por trás de boa parte do raciocínio lógico em computação.

Leitura prática em bancos e busca

Em bancos relacionais, UNION, INTERSECT e EXCEPT correspondem, respectivamente, à união, à interseção e à diferença. Em motores de busca, OR amplia o conjunto de resultados, AND o restringe e a exclusão com - remove os termos indesejados.

O Conjunto Universo e os Diagramas de Venn
#

Conjunto Universo

O conjunto universo \(U\) é o conjunto que contém todos os objetos relevantes no contexto de um problema. Cada conjunto do problema é um subconjunto de \(U\).

Quando escrevemos \(A = \{x \in \mathbb{N} \mid x \leq 50\}\), estamos dizendo que \(U = \mathbb{N}\) e selecionamos dentro de \(U\) apenas os elementos que satisfazem a propriedade. A explicitação do universo evita ambiguidades.

Diagramas de Venn são a representação geométrica dessa ideia:

  • O universo \(U\) é representado pelo retângulo externo
  • Cada subconjunto é representado por uma região circular dentro do retângulo
  • A posição relativa dos círculos indica as relações entre os conjuntos

A figura abaixo mostra o caso mais elementar: \(A \subset U\). O círculo de \(A\) está inteiramente dentro do retângulo \(U\) — todo elemento de \(A\) pertence a \(U\), mas \(U\) contém elementos fora de \(A\).

Diagrama de Venn: A ⊂ U
Diagrama de Venn ilustrando A ⊂ U: o círculo do conjunto A está contido no retângulo do universo U

Os diagramas recebem esse nome em homenagem ao matemático inglês John Venn (1834–1923), que os popularizou.

Exemplo: inclusão em diagrama

Considere \(U = \mathbb{N}\), \(A = \{x \in \mathbb{N} \mid 10 \leq x \leq 100\}\) e \(B = \{x \in \mathbb{N} \mid 15 \leq x \leq 50\}\).

Como todo elemento de \(B\) também pertence a \(A\), temos \(B \subset A \subset U\). Em um diagrama de Venn, o círculo de \(B\) fica inteiramente dentro do círculo de \(A\), que por sua vez está dentro do retângulo \(U\):

Diagrama de Venn: B ⊂ A ⊂ U
Diagrama de Venn com três regiões aninhadas: B ⊂ A ⊂ U


As Quatro Operações Fundamentais
#

União
#

Definição

A união de \(A\) e \(B\) reúne todos os elementos que pertencem a pelo menos um dos dois conjuntos:

$$A \cup B = \{x \in U \mid x \in A\ \text{ou}\ x \in B\}$$

No diagrama de Venn, a união corresponde a toda a área coberta pelos dois círculos.

Diagrama de Venn da união A ∪ B
Região sombreada representando A ∪ B: todos os elementos que pertencem a A, a B ou a ambos

Exemplo com elementos

Se \(A = \{1,2,3,4,5,6\}\) e \(B = \{5,6,7,8,9\}\), então os elementos \(5\) e \(6\) ficam na interseção \(A \cap B\), enquanto \(1,2,3,4\) ficam apenas em \(A\) e \(7,8,9\) apenas em \(B\). A união junta todas essas regiões, resultando em:

$$A \cup B = \{1,2,3,4,5,6,7,8,9\}$$

Diagrama de Venn com elementos: união de A e B
Exemplo com elementos distribuídos nas regiões somente A, A ∩ B e somente B

Exemplo sem interseção (conjuntos disjuntos)

Se \(A = \{1,2,3\}\) e \(B = \{7,8,9\}\), então \(A \cap B = \emptyset\): os círculos ficam isolados no universo \(U\), sem sobreposição. Ainda assim, a união é formada por todos os elementos que estão em \(A\) ou em \(B\):

$$A \cup B = \{1,2,3,7,8,9\}$$

Diagrama de Venn com conjuntos disjuntos
Exemplo de união com A e B disjuntos: círculos separados no retângulo do universo

Propriedades:

Propriedade Enunciado
Idempotência \(A \cup A = A\)
Elemento neutro \(A \cup \emptyset = A\)
Absorção pelo universo \(A \cup U = U\)
Comutatividade \(A \cup B = B \cup A\)
Associatividade \((A \cup B) \cup C = A \cup (B \cup C)\)
Monotonia \(A \subseteq A \cup B\)
Equivalência (característica) \(A \subseteq B \iff A \cup B = B\)

Caso particular: se \(W \subseteq Z\), então \(Z \cup W = Z\).

Exemplo aplicado (altura mínima)

Considere, em um universo \(U\) de pessoas medidas:

$$Z = \{x \in U \mid \text{altura}(x) \geq 1{,}75\,\text{m}\}$$

$$W = \{x \in U \mid \text{altura}(x) \geq 1{,}90\,\text{m}\}$$

Todo elemento de \(W\) também pertence a \(Z\), então \(W \subseteq Z\). Logo:

$$Z \cup W = Z$$

Diagrama de Venn: W ⊆ Z e Z ∪ W = Z
Caso de inclusão: W está contido em Z, então a união Z ∪ W coincide com Z

Aplicação em SQL

Em SQL, a união corresponde ao operador UNION, que combina os resultados de duas consultas eliminando duplicatas. A consulta abaixo retorna todos os clientes de SP ou do RJ — exatamente \(A \cup B\):

SELECT id FROM clientes WHERE estado = 'SP'
UNION
SELECT id FROM clientes WHERE estado = 'RJ'

Interseção
#

Definição

A interseção de \(A\) e \(B\) reúne apenas os elementos que pertencem a ambos simultaneamente:

$$A \cap B = \{x \in U \mid x \in A\ \text{e}\ x \in B\}$$

No diagrama de Venn, a interseção é a área de sobreposição dos dois círculos.

Diagrama de Venn da interseção A ∩ B
Região sombreada representando A ∩ B: apenas os elementos comuns a A e B

Exemplo com elementos

Se \(A = \{1,2,3,4,5,6\}\) e \(B = \{5,6,7,8,9\}\), apenas os elementos comuns aos dois conjuntos entram na interseção:

$$A \cap B = \{5,6\}$$

Diagrama de Venn com elementos: interseção de A e B
Interseção com elementos: somente a região comum a A e B está destacada

Exemplo sem interseção (conjuntos disjuntos)

Se \(A = \{1,2,3\}\) e \(B = \{7,8,9\}\), os conjuntos não compartilham elementos, então:

$$A \cap B = \emptyset$$

Diagrama de Venn com conjuntos disjuntos: interseção vazia
Interseção de conjuntos disjuntos: não há região comum, logo A ∩ B = ∅

Propriedades:

Propriedade Enunciado
Idempotência \(A \cap A = A\)
Interseção com vazio \(A \cap \emptyset = \emptyset\)
Interseção com universo \(A \cap U = A\)
Comutatividade \(A \cap B = B \cap A\)
Monotonia \(A \cap B \subseteq A\)
Equivalência (característica) \(A \subseteq B \iff A \cap B = A\)
Conjuntos disjuntos

\(A\) e \(B\) são disjuntos quando \(A \cap B = \emptyset\): não compartilham nenhum elemento.

Caso particular: se \(W \subseteq Z\), então \(Z \cap W = W\).

Exemplo aplicado (altura mínima)

Considere, em um universo \(U\) de pessoas medidas:

$$Z = \{x \in U \mid \text{altura}(x) \geq 1{,}75\,\text{m}\}$$

$$W = \{x \in U \mid \text{altura}(x) \geq 1{,}90\,\text{m}\}$$

Como \(W \subseteq Z\), todo elemento de \(W\) já está em \(Z\). Portanto:

$$Z \cap W = W$$

Diagrama de Venn: W ⊆ Z e Z ∩ W = W
Caso de inclusão: W está contido em Z, então a interseção Z ∩ W coincide com W

Aplicação em SQL

A interseção corresponde ao operador INTERSECT. A consulta abaixo retorna apenas os clientes que compraram tanto em janeiro quanto em fevereiro — exatamente \(A \cap B\):

SELECT cliente_id FROM vendas WHERE mes = 1
INTERSECT
SELECT cliente_id FROM vendas WHERE mes = 2

Diferença
#

Definição

A diferença \(A - B\) (lê-se “\(A\) menos \(B\)”) contém os elementos de \(A\) que não estão em \(B\):

$$A - B = \{x \in U \mid x \in A\ \text{e}\ x \notin B\}$$

No diagrama de Venn, é a parte de \(A\) que não se sobrepõe a \(B\). Note que a operação não é comutativa: \(A - B \neq B - A\) em geral.

Na literatura, essa operação também aparece como complemento relativo de \(B\) em \(A\).

Diagrama de Venn da diferença A - B
Região sombreada representando A - B: elementos que estão em A e não estão em B

Exemplo com elementos (dois sentidos)

Se \(A = \{1,2,3,4,5,6\}\) e \(B = \{5,6,7,8,9\}\):

$$A - B = \{1,2,3,4\}$$

$$B - A = \{7,8,9\}$$

Diagrama de Venn com elementos: A - B
Diferença A - B com elementos: ficam apenas os elementos exclusivos de A

Diagrama de Venn com elementos: B - A
Diferença B - A com elementos: ficam apenas os elementos exclusivos de B

Exemplo sem interseção (conjuntos disjuntos)

Se \(A = \{1,2,3\}\) e \(B = \{7,8,9\}\), então \(A \cap B = \emptyset\), e:

$$A - B = \{1,2,3\} = A$$

$$B - A = \{7,8,9\} = B$$

Quando os conjuntos são disjuntos, o subtraendo não remove nenhum elemento do minuendo, então a diferença é sempre igual ao próprio minuendo (o lado esquerdo da operação): \(A - B = A\) e \(B - A = B\).

Diagrama de Venn com conjuntos disjuntos: a interseção é vazia (∅)
Conjuntos disjuntos: a diferença coincide com o minuendo — A − B = A e B − A = B

Propriedades:

Propriedade Enunciado
\(A - A = \emptyset\) diferença com si mesmo é vazia
\(A - \emptyset = A\) retirar vazio não muda
\(\emptyset - A = \emptyset\) vazio menos qualquer coisa é vazio
\(A \subseteq B \iff A - B = \emptyset\) inclusão equivale a diferença vazia
\(A - B \subseteq A\) diferença é subconjunto do minuendo

Relação útil: \(A - B = A \cap \bar{B}\) (veremos o complemento a seguir).

Se \(W \subseteq Z\), então \(W - Z = \emptyset\).

Exemplo aplicado (altura mínima, dois sentidos)

Considere, em um universo \(U\) de pessoas medidas:

$$Z = \{x \in U \mid \text{altura}(x) \geq 1{,}75\,\text{m}\}$$

$$W = \{x \in U \mid \text{altura}(x) \geq 1{,}90\,\text{m}\}$$

Como \(W \subseteq Z\), temos:

$$Z - W = \{x \in U \mid 1{,}75 \leq \text{altura}(x) < 1{,}90\}$$

$$W - Z = \emptyset$$

Diagrama de Venn: Z - W
Diferença Z - W: região de Z fora de W

Diagrama de Venn: W - Z
Diferença W - Z: vazia porque W está contido em Z

Aplicação em SQL

A diferença corresponde ao operador EXCEPT. Um uso clássico é identificar registros presentes em uma tabela mas ausentes em outra — por exemplo, usuários que se cadastraram mas ainda não realizaram nenhuma compra (\(A - B\)):

SELECT id FROM usuarios
EXCEPT
SELECT DISTINCT usuario_id FROM pedidos

Combinando as duas direções da diferença — \(A - B\) e \(B - A\) — obtemos a diferença simétrica, que retém apenas os elementos exclusivos de cada conjunto. Exploramos essa operação no Exercício 2.


Complemento
#

Definição

O complemento de \(A\) em relação a \(U\) é tudo que está em \(U\) mas não está em \(A\):

$$\bar{A} = U - A = \{x \in U \mid x \notin A\}$$

Diagrama de Venn do complemento A-bar
Região sombreada representando o complemento de A: todos os elementos de U que não pertencem a A

Propriedades:

Propriedade Enunciado
Involução \(\overline{\bar{A}} = A\)
Complementaridade \(A \cup \bar{A} = U\)
Disjunção \(A \cap \bar{A} = \emptyset\)
Complemento do universo \(\bar{U} = \emptyset\)
Complemento do vazio \(\bar{\emptyset} = U\)
Exemplos de complemento
  • \(U = \mathbb{N}\), \(A = \{x \in \mathbb{N} \mid x \leq 50\}\) → \(\bar{A} = \{x \in \mathbb{N} \mid x > 50\}\)
  • \(U = \mathbb{Z}\), \(A = \{x \in \mathbb{Z} \mid x > 2\}\) → \(\bar{A} = \{\ldots, -2, -1, 0, 1, 2\}\)
  • \(U = \mathbb{N}\), \(A = \{x \in \mathbb{N} \mid x > 2\}\) → \(\bar{A} = \{1, 2\}\)
Aplicação em SQL

O complemento aparece sempre que se exclui um subconjunto do universo. A consulta abaixo retorna todos os usuários sem assinatura ativa — o complemento do conjunto dos assinantes:

SELECT id FROM usuarios
WHERE id NOT IN (SELECT usuario_id FROM assinaturas WHERE ativa = TRUE)

Identidades Fundamentais
#

Leis de De Morgan
#

As leis de De Morgan descrevem como o complemento se distribui sobre a união e a interseção. São fundamentais em lógica e programação — e se você já leu o artigo sobre Álgebra Booleana, já as encontrou no contexto das operações lógicas AND, OR e NOT. Aqui, as identidades são expressas em termos de conjuntos:

$$\overline{A \cup B} = \bar{A} \cap \bar{B}$$$$\overline{A \cap B} = \bar{A} \cup \bar{B}$$

Em palavras: o complemento de uma união é a interseção dos complementos; o complemento de uma interseção é a união dos complementos. Você usa isso ao negar condições compostas: NOT (A OR B) equivale a NOT A AND NOT B.

Exemplo de refatoração lógica

Imagine uma regra que bloqueia o acesso quando o usuário não é admin e a conta não está ativa.

if not (is_admin or is_active):
    block_access()

Pela Primeira Lei de De Morgan, a mesma condição pode ser reescrita como:

if not is_admin and not is_active:
    block_access()

As duas formas são logicamente equivalentes; a segunda costuma ser mais fácil de ler na prática.

As figuras abaixo mostram cada identidade em etapas, separadamente:

Etapas visuais da primeira Lei de De Morgan
Visualização em etapas da primeira Lei de De Morgan

Etapas visuais da segunda Lei de De Morgan
Visualização em etapas da segunda Lei de De Morgan

Distributividade
#

$$A \cap (B \cup C) = (A \cap B) \cup (A \cap C)$$$$A \cup (B \cap C) = (A \cup B) \cap (A \cup C)$$

A interseção se distribui sobre a união, e vice-versa — exatamente como a multiplicação se distribui sobre a adição nos números.

As figuras a seguir mostram, em etapas, as duas igualdades de distributividade:

Etapas visuais da distributividade: A ∩ (B ∪ C)
Ilustração em etapas de A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)

Etapas visuais da distributividade: A ∪ (B ∩ C)
Ilustração em etapas de A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)

Prova da segunda identidade \(A \cup (B \cap C) = (A \cup B) \cap (A \cup C)\):

Parte 1: Mostremos que \(A \cup (B \cap C) \subseteq (A \cup B) \cap (A \cup C)\).

Seja \(x \in A \cup (B \cap C)\). Então ou \(x \in A\), ou \(x \in B \cap C\) (isto é, \(x \in B\) e \(x \in C\)). Em ambos os casos, \(x \in A \cup B\) e \(x \in A \cup C\) simultaneamente. Logo \(x \in (A \cup B) \cap (A \cup C)\). \(\square\)

Parte 2: Mostremos a inclusão contrária.

Seja \(x \in (A \cup B) \cap (A \cup C)\). Então \(x \in A \cup B\) e \(x \in A \cup C\). Se \(x \in A\), acabou. Caso contrário, para pertencer a \(A \cup B\) sem estar em \(A\), é preciso \(x \in B\); e para pertencer a \(A \cup C\) sem estar em \(A\), é preciso \(x \in C\). Portanto \(x \in B \cap C\), e então \(x \in A \cup (B \cap C)\). \(\square\)

A primeira identidade — \(A \cap (B \cup C) = (A \cap B) \cup (A \cap C)\) — segue por argumento análogo, trocando os papéis de \(\cup\) e \(\cap\). Tente demonstrá-la como exercício.

Absorção
#

$$A \cup (A \cap B) = A \qquad \text{e} \qquad A \cap (A \cup B) = A$$

Outras identidades úteis
#

$$A - B = A \cap \bar{B}$$

Prova: \(x \in A - B\) se e somente se \(x \in A\) e \(x \notin B\), o que equivale a \(x \in A\) e \(x \in \bar{B}\), isto é, \(x \in A \cap \bar{B}\). \(\square\)

Exemplo

Se \(U = \{1,2,3,4,5\}\), \(A = \{1,2,3\}\) e \(B = \{2,3,4\}\), então \(\bar{B} = \{1,5\}\), e:

$$A - B = \{1\} = A \cap \bar{B} = \{1,2,3\} \cap \{1,5\} = \{1\}$$
$$A - (B \cup C) = (A - B) \cap (A - C)$$$$A - (B \cap C) = (A - B) \cup (A - C)$$

Se \(A \cap B = \emptyset\): \(A - B = A\) e \(B - A = B\).


Tabela-Resumo
#

Propriedade União Interseção
Comutatividade \(A \cup B = B \cup A\) \(A \cap B = B \cap A\)
Associatividade \((A \cup B) \cup C = A \cup (B \cup C)\) \((A \cap B) \cap C = A \cap (B \cap C)\)
Distributividade \(A \cup (B \cap C) = (A \cup B) \cap (A \cup C)\) \(A \cap (B \cup C) = (A \cap B) \cup (A \cap C)\)
De Morgan \(\overline{A \cup B} = \bar{A} \cap \bar{B}\) \(\overline{A \cap B} = \bar{A} \cup \bar{B}\)
Absorção \(A \cup (A \cap B) = A\) \(A \cap (A \cup B) = A\)

Exercícios
#

Exercício 1 — Operações concretas

Sejam \(U = \{0,1,2,3,4\}\), \(A = \{0,4\}\), \(B = \{0,1,2,3\}\), \(C = \{1,4\}\), \(D = \{0,1\}\).

Determine: (a) \(A \cup B\)   (b) \(B \cap C\)   (c) \(A \cap B\)   (d) \(A \cup (B \cap C)\)   (e) \((A \cup B) \cap (A \cup C)\)

(f) \(\overline{(A \cap B)} \cup \overline{(A \cap C)}\)   (g) \(\overline{A \cup B}\)   (h) \(A - B\)   (i) \(B - A\)   (j) \(A \cup (B \cap C \cap D)\)

Soluções:

(a) \(A \cup B = \{0,1,2,3,4\} = U\)

(b) \(B \cap C = \{1\}\)

(c) \(A \cap B = \{0\}\)

(d) \(A \cup (B \cap C) = \{0,4\} \cup \{1\} = \{0,1,4\}\)

(e) \((A \cup B) \cap (A \cup C) = U \cap \{0,1,4\} = \{0,1,4\}\) — observe que é igual a (d), confirmando a distributividade.

(f) \(\overline{A \cap B} = U - \{0\} = \{1,2,3,4\}\); \(\overline{A \cap C} = U - \{4\} = \{0,1,2,3\}\); logo a união é \(\{0,1,2,3,4\} = U\).

(g) \(A \cup B = U\), portanto \(\overline{A \cup B} = \emptyset\).

(h) \(A - B = \{4\}\) (o 0 está em \(B\), o 4 não)

(i) \(B - A = \{1,2,3\}\)

(j) \(B \cap C \cap D = \{0,1\} \cap \{1\} = \{1\}\) (interseção de \(B\), \(C\) e \(D\)), então \(A \cup \{1\} = \{0,1,4\}\).

Exercício 2 — Diferença simétrica

A diferença simétrica \(A \mathbin{\Delta} B\) é definida como:

$$A \mathbin{\Delta} B := (A - B) \cup (B - A)$$

Interprete essa operação geometricamente e determine \(A \mathbin{\Delta} B\) para \(A = \{0,4\}\) e \(B = \{0,1,2,3\}\).

Solução: A diferença simétrica retém os elementos que pertencem a exatamente um dos dois conjuntos — excluindo a interseção. Visualmente, no diagrama de Venn, é a área dos dois círculos excluindo a sobreposição. Em linguagem booleana, isso corresponde ao operador XOR (ou “ou exclusivo”, \(\oplus\)); se quiser rever essa conexão, vale voltar ao artigo sobre Álgebra Booleana.

Uma analogia visual útil: git diff destaca linhas removidas como \(A - B\), linhas adicionadas como \(B - A\) e, em conjunto, tudo o que mudou como \(A \mathbin{\Delta} B\). É apenas uma analogia: o diff preserva ordem e contexto.

\(A - B = \{4\}\), \(B - A = \{1,2,3\}\), portanto \(A \mathbin{\Delta} B = \{1,2,3,4\}\).

Diferença simétrica no Exercício 2
Região sombreada de A Δ B: elementos exclusivos de A e de B, excluindo a interseção

Nas soluções a seguir, as cores são meramente ilustrativas para destacar as regiões relevantes em cada caso. É um recurso visual, não uma convenção formal.

Exercício 3 — Diagramas de Venn com três conjuntos

Descreva como seria o diagrama de Venn em cada situação:

(i) \(A \subset B \subset C\)

(ii) \(A \cap B = \emptyset\), \(A \cap C = \emptyset\), \(B \cap C = \emptyset\)

(iii) \(A \subseteq B \cup C\)

(iv) \(A \subseteq \bar{B}\)

(v) \(A \subseteq B - C\)

Soluções:

(i) Três círculos concêntricos: \(A\) mais interno, \(B\) ao meio, \(C\) mais externo.

Exercício 3 (i): A ⊂ B ⊂ C
Três círculos concêntricos representando A ⊂ B ⊂ C

(ii) Três círculos completamente disjuntos dentro do retângulo \(U\) — nenhum se toca.

Exercício 3 (ii): A, B e C disjuntos
Três conjuntos disjuntos no universo U

(iii) O círculo de \(A\) está inteiramente dentro da região coberta por \(B \cup C\). Parte de \(A\) pode estar em \(B\), parte em \(C\), parte na interseção — mas nenhuma parte de \(A\) fica fora de \(B \cup C\).

Exercício 3 (iii): A ⊆ B ∪ C
A contido na região coberta por B ∪ C

(iv) \(A \subseteq \bar{B}\) significa que nenhum elemento de \(A\) está em \(B\): os círculos de \(A\) e \(B\) são disjuntos.

Exercício 3 (iv): A ⊆ B-bar
A disjunto de B

(v) \(A \subseteq B - C\) significa que \(A\) está na parte de \(B\) que não pertence a \(C\): o círculo de \(A\) está dentro de \(B\) e completamente fora de \(C\).

Exercício 3 (v): A ⊆ B - C
A contido na região de B fora de C


Próximos passos
#

Com as operações dominadas, o próximo artigo trata de uma pergunta central: quantos elementos tem um conjunto formado a partir de operações? O Princípio da Inclusão-Exclusão responde precisamente isso, e é a porta de entrada para a contagem combinatória.

Até lá!

A Linguagem dos Conjuntos - Este artigo faz parte de uma série de artigos.
Parte 2: Esse Artigo

Relacionados