Skip to content

Write paper that visualizes and explains contraction #850

Description

@bvssvni

In the paper "Path Sets", the following example was used:

id[false_1] <=> {false_1, id}

This is somewhat counter-intuitive, since id returns true when the input is true.
Since false_1 returns false for all inputs, it seems natural that id[false_1] => false_1.
How can it be that id[false_1] => id is also a solution?

The key to understand this is that the input is contracted.
When one contracts the input, one is also making a choice.
Here, the choice is to map all inputs to false.

In the normal path, the contracted input is associated with the partial function (false) -> false.
This means that the normal path has a free choice in the partial function (true) -> _.

I think the problem is a feeling of discontinuity between input and output when returning the same value for all inputs.
This intuition is misleading, because the id[false_1] example shows why there really is a continuity.

The only way I can explain this, is that there is an actual contraction of the function id.
The id function is contracted onto (false) -> false.
With other words, the id function "means" (false) -> false in the normal path.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions