328 research outputs found

    Value Types in Eiffel

    Get PDF
    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

    Full text link
    Classical (or Boolean) type theory is the type theory that allows the type inference Ļƒā†’āŠ„)ā†’āŠ„=>Ļƒ\sigma \to \bot) \to \bot => \sigma (the type counterpart of double-negation elimination), where Ļƒ\sigma is any type and āŠ„\bot 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 āŠ„\bot 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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    • ā€¦
    corecore