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.
In the paper "Path Sets", the following example was used:
This is somewhat counter-intuitive, since
idreturnstruewhen the input istrue.Since
false_1returnsfalsefor all inputs, it seems natural thatid[false_1] => false_1.How can it be that
id[false_1] => idis 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
idfunction is contracted onto(false) -> false.With other words, the
idfunction "means"(false) -> falsein the normal path.