Symmetric lenses, cospans and universality

Bob Rosebrugh – 8 November 2017

A lens between two domains of model states is one type of so-called bidirectional transformation (BX). A symmetric lens has both data for state synchronization and operations to restore synchronization post state change. An asymmetric lens has only one-way data and operations. When the domains of model states are categories, the lenses are called d-lenses. The synchronization data for an asymmetric d-lens is a functor. In the special case that we named (asymmetric) c-lenses the restoration operation satisfies a universal property. This makes a c-lens what the BX community calls `least change' (and makes the synchronization functor exactly a split op-fibration). Some time ago we showed that spans of asymmetric d-lenses precisely represent symmetric d-lenses and their composition. Recently, motivated by applications to database interoperation, we have also considered cospans of asymmetric d-lenses. These cospans represent certain symmetric d-lenses and we characterize the symmetric d-lenses which so arise. When the cospan's legs are c-lenses then the symmetric d-lens has a universal-like property. (Joint work with Michael Johnson.)