4 research outputs found
A Light Modality for Recursion
We investigate the interplay between a modality for controlling the behaviour
of recursive functional programs on infinite structures which are completely
silent in the syntax. The latter means that programs do not contain "marks"
showing the application of the introduction and elimination rules for the
modality. This shifts the burden of controlling recursion from the programmer
to the compiler. To do this, we introduce a typed lambda calculus a la Curry
with a silent modality and guarded recursive types. The typing discipline
guarantees normalisation and can be transformed into an algorithm which infers
the type of a program.Comment: 32 pages 1 figure in pdf forma
Lewis meets Brouwer: constructive strict implication
C. I. Lewis invented modern modal logic as a theory of "strict implication".
Over the classical propositional calculus one can as well work with the unary
box connective. Intuitionistically, however, the strict implication has greater
expressive power than the box and allows to make distinctions invisible in the
ordinary syntax. In particular, the logic determined by the most popular
semantics of intuitionistic K becomes a proper extension of the minimal normal
logic of the binary connective. Even an extension of this minimal logic with
the "strength" axiom, classically near-trivial, preserves the distinction
between the binary and the unary setting. In fact, this distinction and the
strong constructive strict implication itself has been also discovered by the
functional programming community in their study of "arrows" as contrasted with
"idioms". Our particular focus is on arithmetical interpretations of the
intuitionistic strict implication in terms of preservativity in extensions of
Heyting's Arithmetic.Comment: Our invited contribution to the collection "L.E.J. Brouwer, 50 years
later
A Light Modality for Recursion
We investigate the interplay between a modality for controlling the behaviour
of recursive functional programs on infinite structures which are completely
silent in the syntax. The latter means that programs do not contain "marks"
showing the application of the introduction and elimination rules for the
modality. This shifts the burden of controlling recursion from the programmer
to the compiler. To do this, we introduce a typed lambda calculus a la Curry
with a silent modality and guarded recursive types. The typing discipline
guarantees normalisation and can be transformed into an algorithm which infers
the type of a program