1,923 research outputs found
Sequent Calculus and Equational Programming
Proof assistants and programming languages based on type theories usually
come in two flavours: one is based on the standard natural deduction
presentation of type theory and involves eliminators, while the other provides
a syntax in equational style. We show here that the equational approach
corresponds to the use of a focused presentation of a type theory expressed as
a sequent calculus. A typed functional language is presented, based on a
sequent calculus, that we relate to the syntax and internal language of Agda.
In particular, we discuss the use of patterns and case splittings, as well as
rules implementing inductive reasoning and dependent products and sums.Comment: In Proceedings LFMTP 2015, arXiv:1507.0759
On the Herbrand content of LK
We present a structural representation of the Herbrand content of LK-proofs
with cuts of complexity prenex Sigma-2/Pi-2. The representation takes the form
of a typed non-deterministic tree grammar of order 2 which generates a finite
language of first-order terms that appear in the Herbrand expansions obtained
through cut-elimination. In particular, for every Gentzen-style reduction
between LK-proofs we study the induced grammars and classify the cases in which
language equality and inclusion hold.Comment: In Proceedings CL&C 2016, arXiv:1606.0582
Adequate encodings of logical systems in UTT
In this paper, we present an existing and formalized type theory
(UTT) as a logical framework.
We compare the resulting framework with LF and give
the representation of two significant type systems in
the framework: the typed lambda calculus which is closely related
to higher-order logic and a linear type system which is not
possible to encode in LF.Postprint (published version
Session Types in Abelian Logic
There was a PhD student who says "I found a pair of wooden shoes. I put a
coin in the left and a key in the right. Next morning, I found those objects in
the opposite shoes." We do not claim existence of such shoes, but propose a
similar programming abstraction in the context of typed lambda calculi. The
result, which we call the Amida calculus, extends Abramsky's linear lambda
calculus LF and characterizes Abelian logic.Comment: In Proceedings PLACES 2013, arXiv:1312.221
On an Intuitionistic Logic for Pragmatics
We reconsider the pragmatic interpretation of intuitionistic logic [21]
regarded as a logic of assertions and their justications and its relations with classical
logic. We recall an extension of this approach to a logic dealing with assertions
and obligations, related by a notion of causal implication [14, 45]. We focus on
the extension to co-intuitionistic logic, seen as a logic of hypotheses [8, 9, 13] and on
polarized bi-intuitionistic logic as a logic of assertions and conjectures: looking at the
S4 modal translation, we give a denition of a system AHL of bi-intuitionistic logic
that correctly represents the duality between intuitionistic and co-intuitionistic logic,
correcting a mistake in previous work [7, 10]. A computational interpretation of cointuitionism
as a distributed calculus of coroutines is then used to give an operational
interpretation of subtraction.Work on linear co-intuitionism is then recalled, a linear
calculus of co-intuitionistic coroutines is dened and a probabilistic interpretation
of linear co-intuitionism is given as in [9]. Also we remark that by extending the
language of intuitionistic logic we can express the notion of expectation, an assertion
that in all situations the truth of p is possible and that in a logic of expectations
the law of double negation holds. Similarly, extending co-intuitionistic logic, we can
express the notion of conjecture that p, dened as a hypothesis that in some situation
the truth of p is epistemically necessary
On the Relation of Interaction Semantics to Continuations and Defunctionalization
In game semantics and related approaches to programming language semantics,
programs are modelled by interaction dialogues. Such models have recently been
used in the design of new compilation methods, e.g. for hardware synthesis or
for programming with sublinear space. This paper relates such semantically
motivated non-standard compilation methods to more standard techniques in the
compilation of functional programming languages, namely continuation passing
and defunctionalization. We first show for the linear {\lambda}-calculus that
interpretation in a model of computation by interaction can be described as a
call-by-name CPS-translation followed by a defunctionalization procedure that
takes into account control-flow information. We then establish a relation
between these two compilation methods for the simply-typed {\lambda}-calculus
and end by considering recursion
- …