Canonical bidirectional typechecking
By: Zanzi Mihejevs, Jules Hedges
Potential Business Impact:
Makes computer code check itself automatically.
We demonstrate that the checkable/synthesisable split in bidirectional typechecking coincides with existing dualities in polarised System L, also known as polarised $μ\tildeμ$-calculus. Specifically, positive terms and negative coterms are checkable, and negative terms and positive coterms are synthesisable. This combines a standard formulation of bidirectional typechecking with Zeilberger's `cocontextual' variant. We extend this to ordinary `cartesian' System L using Mc Bride's co-de Bruijn formulation of scopes, and show that both can be combined in a linear-nonlinear style, where linear types are positive and cartesian types are negative. This yields a remarkable 3-way coincidence between the shifts of polarised System L, LNL calculi, and bidirectional calculi.
Similar Papers
A Judgmental Construction of Directed Type Theory
Logic in Computer Science
Makes computer code safer and more organized.
A Cut-Free Sequent Calculus for the Analysis of Finite-Trace Properties in Concurrent Systems
Logic in Computer Science
Helps computers understand how programs work together.
A Cut-Free Sequent Calculus for the Analysis of Finite-Trace Properties in Concurrent Systems
Logic in Computer Science
Helps programs check themselves for errors.