Non-minimally interfering span of lenses

Bx Examples Repository

Title: Non-minimally interfering span of lenses

Version: 0.1

Type: Precise

Overview

Presents a span of lenses that are and history ignorant, free from leaks and projectionally difunctional, but not minimally interfering.
This demonstrates that the latter condition is independent from (i.e. not implied by) the other three.

The definition of these four conditions are available in [1].

Models

Let $V_A=V_B=\{ 0,1 \}$, while $S=\{ 0,1 \} \times \{ 0,1 \}$; denote as $\oplus$ the modulo 2 addition operator.

Consistency

The other two models are determined by $S$ via the following two identical functions:

$\langle x,y \rangle.{GET}_A := x$
$\langle x,y \rangle.{GET}_B := x$

Consistency Restoration

The following restorers complete the lenses $A,B$:

$\langle x,y \rangle.{PUTBACK}_A(x') := \langle x',y \rangle$
$\langle x,y \rangle.{PUTBACK}_B(x') := \langle x',y \oplus x \oplus x' \rangle$

In other words, $A$ reads and writes the first component of the source tuple, preserving the second; $B$ reads and writes the first component, preserving the binary sum of the two components.

Properties

  • The span formed by lenses $A,B$ is history ignorant, free from leaks and projectionally difunctional, but it is not minimally interfering.

Discussion

Origin, utility, interest, representativeness, related examples in the literature, …

References

[1] Gábor Bergmann: "Controllable and Decomposable Multidirectional Synchronizations". Submitted to SoSyM, in review.

Author(s)

Gábor Bergmann

Reviewer(s)

We intend that examples remain provisional (version 0.x) until reviewed (and approved, if necessary after modification) by other members of the wiki. In the interest of traceability and credit, such reviewers are identified here.

Comments

This is where any member of the wiki can comment.

Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.