328 research outputs found
Value Types in Eiffel
Identifies a number of problems with Eiffel's expanded types in modelling value types, and proposes a backward compatible syntactic extension, and a modified semantics. The latter is also shown to be (effectively) backward compatible, in the sense that existing programs would run unaffected if compilers implemented the new semantics. The benefits of the approach are discussed, including an elegant approach to rebuilding data structure libraries
Denotational Semantics of the Simplified Lambda-Mu Calculus and a New Deduction System of Classical Type Theory
Classical (or Boolean) type theory is the type theory that allows the type
inference (the type counterpart of
double-negation elimination), where is any type and is
absurdity type. This paper first presents a denotational semantics for a
simplified version of Parigot's lambda-mu calculus, a premier example of
classical type theory. In this semantics the domain of each type is divided
into infinitely many ranks and contains not only the usual members of the type
at rank 0 but also their negative, conjunctive, and disjunctive shadows in the
higher ranks, which form an infinitely nested Boolean structure. Absurdity type
is identified as the type of truth values. The paper then presents a new
deduction system of classical type theory, a sequent calculus called the
classical type system (CTS), which involves the standard logical operators such
as negation, conjunction, and disjunction and thus reflects the discussed
semantic structure in a more straightforward fashion.Comment: In Proceedings CL&C 2016, arXiv:1606.0582
A thread-tag based semantics for sequence diagrams
The sequence diagram is one of the most popular behaviour modelling languages which offers an intuitive and visual way of describing expected behaviour of object-oriented software. Much research work has investigated ways of providing a formal semantics for sequence diagrams. However, these proposed semantics may not properly interpret sequence diagrams when lifelines do not correspond to threads of controls. In this paper, we address this problem and propose a thread-tag based sequence diagram as a solution. A formal, partially ordered multiset based semantics for the thread-tag based sequence diagrams is proposed
Asynchronous processing of Coq documents: from the kernel up to the user interface
The work described in this paper improves the reactivity of the Coq system by
completely redesigning the way it processes a formal document. By subdividing
such work into independent tasks the system can give precedence to the ones of
immediate interest for the user and postpones the others. On the user side, a
modern interface based on the PIDE middleware aggregates and present in a
consistent way the output of the prover. Finally postponed tasks are processed
exploiting modern, parallel, hardware to offer better scalability.Comment: in Proceedings of ITP, Aug 2015, Nanjing, Chin
Treo: Textual Syntax for Reo Connectors
Reo is an interaction-centric model of concurrency for compositional
specification of communication and coordination protocols. Formal verification
tools exist to ensure correctness and compliance of protocols specified in Reo,
which can readily be (re)used in different applications, or composed into more
complex protocols. Recent benchmarks show that compiling such high-level Reo
specifications produces executable code that can compete with or even beat the
performance of hand-crafted programs written in languages such as C or Java
using conventional concurrency constructs.
The original declarative graphical syntax of Reo does not support intuitive
constructs for parameter passing, iteration, recursion, or conditional
specification. This shortcoming hinders Reo's uptake in large-scale practical
applications. Although a number of Reo-inspired syntax alternatives have
appeared in the past, none of them follows the primary design principles of
Reo: a) declarative specification; b) all channel types and their sorts are
user-defined; and c) channels compose via shared nodes. In this paper, we offer
a textual syntax for Reo that respects these principles and supports flexible
parameter passing, iteration, recursion, and conditional specification. In
on-going work, we use this textual syntax to compile Reo into target languages
such as Java, Promela, and Maude.Comment: In Proceedings MeTRiD 2018, arXiv:1806.0933
Overcoming the Obstacles to the Relativity of Truth
This is a reply to Tomas Marvan's paper "Obstacles to the Relativity of Truth", published in the same issue, in which I attempt to provide an interpretation of the relativist schema "x is true relative to y" by understanding x as ranging over propositions and y as ranging over circumstances of evaluation, as in the familiar Kaplanian picture of semantics. I then answer some of Marvan's worries and reject certain views considered relativist on the basis that they are, in fact, different views in disguise
Dynamic Complexity of Formal Languages
The paper investigates the power of the dynamic complexity classes DynFO,
DynQF and DynPROP over string languages. The latter two classes contain
problems that can be maintained using quantifier-free first-order updates, with
and without auxiliary functions, respectively. It is shown that the languages
maintainable in DynPROP exactly are the regular languages, even when allowing
arbitrary precomputation. This enables lower bounds for DynPROP and separates
DynPROP from DynQF and DynFO. Further, it is shown that any context-free
language can be maintained in DynFO and a number of specific context-free
languages, for example all Dyck-languages, are maintainable in DynQF.
Furthermore, the dynamic complexity of regular tree languages is investigated
and some results concerning arbitrary structures are obtained: there exist
first-order definable properties which are not maintainable in DynPROP. On the
other hand any existential first-order property can be maintained in DynQF when
allowing precomputation.Comment: Contains the material presenten at STACS 2009, extendes with proofs
and examples which were omitted due lack of spac
Hyperlogic: A System for Talking about Logics
Sentences about logic are often used to show that certain embedding expressions, including attitude verbs, conditionals, and epistemic modals, are hyperintensional. Yet it not clear how to regiment ālogic talkā in the object language so that it can be compositionally embedded under such expressions. This paper does two things. First, it argues against a standard account of logic talk, viz., the impossible worlds semantics. It is shown that this semantics does not easily extend to a language with propositional quantifiers, which are necessary for regimenting some logic talk. Second, it develops an alternative framework based on logical expressivism, which explains logic talk using shifting conventions. When combined with the standard S5Ļ+ semantics for propositional quantifiers, this framework results in a well-behaved system that does not face the problems of the impossible worlds semantics. It can also be naturally extended with hybrid operators to regiment a broader range of logic talk, e.g., claims about what laws hold according to other logics. The resulting system, called hyperlogic, is therefore a better framework for modeling logic talk than previous accounts
- ā¦