🔍

No recent searches

## Hash Inclusion

A hash is set-like in that it cannot have duplicate entries (or even duplicate keys). Hash inclusion can therefore based on the idea of subset and superset.

Two hashes may be tested for inclusion, based on comparisons of their entries.

An entry `h0[k0]` in one hash is equal to an entry `h1[k1]` in another hash if and only if the two keys are equal (`k0 == k1`) and their two values are equal (`h0[k0] == h1[h1]`).

A hash may be a subset or a superset of another hash:

- Subset (included in or equal to another):

  - Hash `h0` is a subset of hash `h1` (see `Hash#<=`) if each entry in `h0` is equal to an entry in `h1`.

  - Further, `h0` is a proper subset of `h1` (see `Hash#<`) if `h1` is larger than `h0`.

- Superset (including or equal to another):

  - Hash `h0` is a superset of hash `h1` (see `Hash#>=`) if each entry in `h1` is equal to an entry in `h0`.

  - Further, `h0` is a proper superset of `h1` (see `Hash#>`) if `h0` is larger than `h1`.