learnxinyminutes-docs/set-theory.html.markdown
Nathan eed9734dfc
fix typo (#4192)
compliment -> complement
2022-01-03 23:53:13 +08:00

133 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
category: Algorithms & Data Structures
name: Set theory
contributors:
---
Set theory is a branch of mathematics that studies sets, their operations, and their properties.
* A set is a collection of disjoint items.
## Basic symbols
### Operators
* the union operator, ``, pronounced "cup", means "or";
* the intersection operator, `∩`, pronounced "cap", means "and";
* the exclusion operator, `\`, means "without";
* the complement operator, `'`, means "the inverse of";
* the cross operator, `×`, means "the Cartesian product of".
### Qualifiers
* the colon qualifier, `:`, means "such that";
* the membership qualifier, `∈`, means "belongs to";
* the subset qualifier, `⊆`, means "is a subset of";
* the proper subset qualifier, `⊂`, means "is a subset of but is not equal to".
### Canonical sets
* `∅`, the empty set, i.e. the set containing no items;
* ``, the set of all natural numbers;
* ``, the set of all integers;
* ``, the set of all rational numbers;
* ``, the set of all real numbers.
There are a few caveats to mention regarding the canonical sets:
1. Even though the empty set contains no items, the empty set is a subset of itself (and indeed every other set);
2. Mathematicians generally do not universally agree on whether zero is a natural number, and textbooks will typically explicitly state whether or not the author considers zero to be a natural number.
### Cardinality
The cardinality, or size, of a set is determined by the number of items in the set. The cardinality operator is given by a double pipe, `|...|`.
For example, if `S = { 1, 2, 4 }`, then `|S| = 3`.
### The Empty Set
* The empty set can be constructed in set builder notation using impossible conditions, e.g. `∅ = { x : x ≠ x }`, or `∅ = { x : x ∈ N, x < 0 }`;
* the empty set is always unique (i.e. there is one and only one empty set);
* the empty set is a subset of all sets;
* the cardinality of the empty set is 0, i.e. `|∅| = 0`.
## Representing sets
### Literal Sets
A set can be constructed literally by supplying a complete list of objects contained in the set. For example, `S = { a, b, c, d }`.
Long lists may be shortened with ellipses as long as the context is clear. For example, `E = { 2, 4, 6, 8, ... }` is clearly the set of all even numbers, containing an infinite number of objects, even though we've only explicitly written four of them.
### Set Builder
Set builder notation is a more descriptive way of constructing a set. It relies on a _subject_ and a _predicate_ such that `S = { subject : predicate }`. For example,
```
A = { x : x is a vowel } = { a, e, i, o, u, y}
B = { x : x ∈ N, x < 10 } = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
C = { x : x = 2k, k ∈ N } = { 0, 2, 4, 6, 8, ... }
```
Sometimes the predicate may "leak" into the subject, e.g.
```
D = { 2x : x ∈ N } = { 0, 2, 4, 6, 8, ... }
```
## Relations
### Membership
* If the value `a` is contained in the set `A`, then we say `a` belongs to `A` and represent this symbolically as `a ∈ A`.
* If the value `a` is not contained in the set `A`, then we say `a` does not belong to `A` and represent this symbolically as `a ∉ A`.
### Equality
* If two sets contain the same items then we say the sets are equal, e.g. `A = B`.
* Order does not matter when determining set equality, e.g. `{ 1, 2, 3, 4 } = { 2, 3, 1, 4 }`.
* Sets are disjoint, meaning elements cannot be repeated, e.g. `{ 1, 2, 2, 3, 4, 3, 4, 2 } = { 1, 2, 3, 4 }`.
* Two sets `A` and `B` are equal if and only if `A ⊆ B` and `B ⊆ A`.
## Special Sets
### The Power Set
* Let `A` be any set. The set that contains all possible subsets of `A` is called a "power set" and is written as `P(A)`. If the set `A` contains `n` elements, then `P(A)` contains `2^n` elements.
```
P(A) = { x : x ⊆ A }
```
## Set operations among two sets
### Union
Given two sets `A` and `B`, the union of the two sets are the items that appear in either `A` or `B`, written as `A B`.
```
A B = { x : x ∈ A x ∈ B }
```
### Intersection
Given two sets `A` and `B`, the intersection of the two sets are the items that appear in both `A` and `B`, written as `A ∩ B`.
```
A ∩ B = { x : x ∈ A, x ∈ B }
```
### Difference
Given two sets `A` and `B`, the set difference of `A` with `B` is every item in `A` that does not belong to `B`.
```
A \ B = { x : x ∈ A, x ∉ B }
```
### Symmetrical difference
Given two sets `A` and `B`, the symmetrical difference is all items among `A` and `B` that doesn't appear in their intersections.
```
A △ B = { x : ((x ∈ A) ∩ (x ∉ B)) ((x ∈ B) ∩ (x ∉ A)) }
A △ B = (A \ B) (B \ A)
```
### Cartesian product
Given two sets `A` and `B`, the cartesian product between `A` and `B` consists of a set containing all combinations of items of `A` and `B`.
```
A × B = { (x, y) | x ∈ A, y ∈ B }
```