chriswarbo-net: 1c40889eec8bac6b75363626cd3a83b909ddaba7

     1: ---
     2: title: "Ivory: Adjoins And Quotients"
     3: ---
     4: 
     5: We've seen how [sums and products](sums_and_products.html) determine the
     6: structure of Ivory expressions. Now we'll define the elements of these sums and
     7: products.
     8: 
     9: ## Adjoining ##
    10: 
    11: Each level of the Ivory tower includes the levels above. In algebraic terms,
    12: each is an [extension](https://en.wikipedia.org/wiki/Field_extension) of the
    13: level above, with extra values *adjoined*. The result of this "adjoining" is a
    14: level containing:
    15: 
    16:  - All of the values of the level above.
    17:  - The value we adjoined.
    18:  - All sums and products of those values, AKA the *closure* of addition and
    19:    multiplication.
    20: 
    21: The power of this approach comes from taking the closure. For example, we can't
    22: turn `natural`{.scheme} into `integer`{.scheme} by appending each negative
    23: number separately. Yet if we allow arbitrary products, we only need to append
    24: `(- 1)`{.scheme} directly: every other negative `integer`{.scheme} will arise as
    25: the product of `(- 1)`{.scheme} with an existing `natural`{.scheme}.
    26: 
    27: The following levels are extensions in this way:
    28: 
    29:  - `zero`{.scheme} adjoins the value `0`{.scheme} to `void`{.scheme}.
    30:  - `natural`{.scheme} adjoins the value `1`{.scheme} to `zero`{.scheme}.
    31:  - `integer`{.scheme} adjoins the value `(- 1)`{.scheme} to `natural`{.scheme}.
    32:  - `dyadic`{.scheme} adjoins the value `(^ 2 (- 1))`{.scheme} to
    33:    `integer`{.scheme}.
    34:  - `sexagesimal` adjoins the values `(^ 3 (- 1))`{.scheme} and
    35:    `(^ 5 (- 1))`{.scheme} to `dyadic`{.scheme}.
    36:  - `geometric`{.scheme} adjoins values of the form `(i n)`{.scheme},
    37:    `(h n)`{.scheme} and `(d n)`{.scheme} to `scalar`{.scheme}.
    38:  - `
    39: 
    40: 
    41: 
    42: On its own, these
    43: 
    44: New element symbols are *adjoined* which introduces new symbols; and *quotients*.

Generated by git2html.