Subconjunto
⊂ é um C estilizado — de *contained*, "contido"; ⊆ acrescenta a barra de igualdade, como em ≤.
Símbolo
é um estilizado e deitado — de contained, "contido" — com a barra que ecoa o : assim como admite igualdade, admite que os dois conjuntos sejam iguais. lê-se está contido em .
Definição
significa que todo elemento de é também elemento de . Escrito como sentença da lógica de predicados, isso é literalmente uma condicional universal:
Essa é a ponte entre os dois assuntos. Subconjunto é a condicional, percorrida sobre todos os elementos. Estar contido em é, para cada objeto, manter a promessa: se está em , então está em .
Intuição
tem tudo o que tem, e possivelmente mais. Todo conjunto é subconjunto de si mesmo — —, porque cada elemento de está, trivialmente, em . Quando a contenção é estrita ( e ), escrevemos .
O conjunto vazio está contido em tudo
vale para qualquer . A condicional universal explica por quê: em não há nenhum para o qual o antecedente seja verdadeiro. Nada é acionado, nada pode falhar — é verdade vacuosa, a mesma que torna a condicional verdadeira quando o antecedente é falso.
Registro computacional
A.issubset(B) em Python. Em TypeScript, é exatamente subtipagem: A extends B vale quando todo valor de A é valor de B — Curry-Howard puro, e extends sendo a mesma relação em registros diferentes.
{1, 2}.issubset({1, 2, 3}) # TrueSubconjunto não é uma relação nova a memorizar — é a condicional que já conhecemos, dita sobre cada elemento.