Un insieme A è un sottoinsieme di un insieme B (e si scrive A \subseteq B) se ogni elemento che appartiene ad A appartiene necessariamente anche a B. In simboli: \forall x, (x \in A \implies x \in B)
Tipologie di Inclusione
- Inclusione in senso lato (A \subseteq B): A può essere uguale a B.
- Sottoinsieme proprio (A \subset B): A è contenuto in B ma A \neq B. Esiste almeno un elemento in B che non appartiene ad A.
- Sottoinsiemi banali: Per ogni insieme A, l’insieme vuoto (\emptyset) e l’insieme stesso (A) sono sempre suoi sottoinsiemi.
Proprietà
- Riflessiva: A \subseteq A.
- Antisimmetrica: Se A \subseteq B e B \subseteq A, allora A = B.
- Transitiva: Se A \subseteq B e B \subseteq C, allora A \subseteq C.
Significato Ingegneristico
In informatica e ingegneria del software, il concetto di sottoinsieme è fondamentale per:
- Ereditarietà (OOP): Una sottoclasse può essere vista come un sottoinsieme di oggetti della superclasse, dotati di proprietà specifiche aggiuntive.
- Sistemi di Permessi: L’insieme dei privilegi di un utente “Guest” è un sottoinsieme proprio dei privilegi di un “Administrator”.
- Analisi di Sicurezza: Nello studio delle vulnerabilità, l’insieme degli input malevoli che possono mandare in crash un sistema è un sottoinsieme dell’insieme totale dei possibili input (lo spazio di attacco).
Vedi anche: Teoria degli Insiemi, Insieme delle Parti.