mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-24 01:51:38 +00:00
c6d650df76
Signed-off-by: Marcel Ribeiro-Dantas <mribeirodantas@seqera.io>
135 lines
4.9 KiB
Markdown
135 lines
4.9 KiB
Markdown
---
|
||
category: Algorithms & Data Structures
|
||
name: Set theory
|
||
contributors:
|
||
- ["Andrew Ryan Davis", "https://github.com/AndrewDavis1191"]
|
||
---
|
||
|
||
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, `:`, or the vertical bar `|` qualifiers are interchangeable and mean "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 }
|
||
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 }
|
||
```
|