Concept A is a generalization
of concept B if and only if:
- every instance of concept B is also an instance of concept A; and
- there are instances of concept A which are not instances of concept B.
Equivalently, A is a generalization of B if B is a specialization
For instance, 'Animal' is a generalization of 'Bird' because every bird
is an animal, and there are animals which are not birds (dogs, for
See also: inheritance (object-oriented programming), faulty generalization