• Septimaeus@infosec.pub
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 hour ago

    More abstract means more simple/general, but it’s easy to get lost if you weren’t ready to have concrete examples taken away, so examples are included for each translation below.

    Note for the mathy: the following is supposed to be layman’s terms but if there’s a major inaccuracy please correct me.

    1. A chu space is a “binary relation” between two sets. In other words, it can be represented as a matrix of pairs. E.g…

    Think of an ordinary table, where each cell relates a row to a column. A common application of chu spaces is computation, so imagine how rows could refer to possible states of a program and columns could represent the events transitioning one to another. Each cell would then represent an incremental change to a particular state.

    2. “Extensional” means each point extends (originates from) another, up to an arbitrary point. E.g…

    Imagine you’re exploring a forest and you can see your footprints behind you, a trail going back to wherever you started. Where you are now is your last step as an extension of every previous step you took.

    3. Dropping the “closure requirement” means a given point need not be reachable from every other possible point. E.g…

    If you delete a file in a folder, but decide instead you wanted to rename it, you might not be able to get to the desired state in a single logical step. First you may have to reverse the last step (deletion) then execute the next (rename). So the set of points wouldn’t be closed topologically.

    4. “Two-valued” refers to the two sets mentioned in #1, since each side of the mapping is needed to avoid ambiguity of extension mentioned in #2. E.g…

    Consider that, in the forest example, your footprints tell you not only where you stepped, but also in which direction you stepped. This information would be important to know how to reverse your steps if, for example, you walked through the same area more than once.

    5. The static matrix of #1 is a single slice of a more dynamic "continuous function” that lets us see how a chu space transform over time. E.g…

    In the file system example of #3, we wouldn’t want to literally represent each state and potential event in a matrix. Instead, we would consider the static matrix of as a “snapshot” of a larger continuous series of file system changes. (And it so happens that this is basically how incremental backup and version control systems tend to work.) Instead of fixed sets we would then have complementary functions mapping states forward to an event and mapping events backwards to a state.