308 research outputs found

    Lazy algorithms for exact real arithmetic

    Get PDF
    In this article we propose a new representation for the real numbers. This representation can be conveniently used to implement exact real number computation with a lazy programming languages. In fact the new representation permits the exploitation of hardware implementation of arithmetic functions without generating the granularity problem. Moreover we present a variation of the Karatsuba algorithm for multiplication of integers. The new algorithm performs exact real number multiplication in a lazy way and has a lower complexity than the standard algorithm. \ua9 2004 Elsevier B.V. All rights reserved

    Composable partial multiparty session types for open systems

    Get PDF
    Session types are a well-established framework for the specification of interactions between components of a distributed systems. An important issue is how to determine the type for an open system, i.e., obtained by assembling subcomponents, some of which could be missing. To this end, we introduce partial sessions and partial (multiparty) session types. Partial sessions can be composed, and the type of the resulting system is derived from those of its components without knowing any suitable global type nor the types of missing parts. To deal with this incomplete information, partial session types represent the subjective views of the interactions from participants’ perspectives; when sessions are composed, different partial views can be merged if compatible, yielding a unified view of the session. Incompatible types, due to, e.g., miscommunications or deadlocks, are detected at the merging phase. In fact, in this theory the distinction between global and local types vanishes. We apply these types to a process calculus for which we prove subject reduction and progress, so that well-typed systems never violate the prescribed constraints. In particular, we introduce a generalization of the progress property, in order to accommodate the case when a partial session cannot progress not due to a deadlock, but because some participants are still missing. Therefore, partial session types support the development of systems by incremental assembling of components

    A definitional implementation of the LAX logical framework LLFP in CoQ, for supporting fast and loose reasoning

    Get PDF
    The Lax Logical Framework, LLFP, was introduced, by a team including the last two authors, to provide a conceptual framework for integrating different proof development tools, thus allowing for external evidence and for postponing, delegating, or factoring-out side conditions. In particular, LLFP allows for reducing the number of times a proof-irrelevant check is performed. In this paper we give a shallow, actually definitional, implementation of LLFP in Coq, i.e. we use Coq both as host framework and oracle for LLFP. This illuminates the principles underpinning the mechanism of Lock-types and also suggests how to possibly extend Coq with the features of LLFP. The derived proof editor is then put to use for developing case-studies on an emerging paradigm, both at logical and implementation level, which we call fast and loose reasoning following Danielsson et alii [6]. This paradigm trades off efficiency for correctness and amounts to postponing, or running in parallel, tedious or computationally demanding checks, until we are really sure that the intended goal can be achieved. Typical examples are branch-prediction in CPUs and optimistic concurrency control

    LF+ in Coq for fast-and-loose reasoning

    Get PDF
    We develop the metatheory and the implementation, in Coq, of the novel logical framework LF+ and discuss several of its applications. LF+ generalises research work, carried out by the authors over more than a decade, on Logical Frameworks conservatively extending LF and featuring lock-type constructors L-P(N:sigma)[center dot]. Lock-types capture monadically the concept of inhabitability up-to. They were originally introduced for factoring-out, postponing, or delegating to external tools the verification of time-consuming judgments, which are morally proof-irrelevant, thus allowing for integrating different sources of epistemic evidence in a unique Logical Framework. Besides introducing LF+ and its "shallow" implementation in Coq, the main novelty of the paper is to show that lock-types are also a very flexible tool for expressing in Type Theory several diverse cognitive attitudes and mental strategies used in ordinary reasoning, which essentially amount to reasoning up-to, as in e.g. Typical Ambiguity provisos or co-inductive Coq proofs. In particular we address the encoding of the emerging paradigm of fast-and-loose reasoning, which trades off efficiency for correctness. This paradigm, implicitly used normally in naive Set Theory, is producing considerable impact also in computer architecture and distributed systems, when branch prediction and optimistic concurrency control are implemented

    Uncountable Limits and the Lambda Calculus

    Get PDF
    In this paper we address the problem of solving recursive domain equations using uncountable limits of domains. These arise for instance, when dealing with the omega_1-continuous function-space constructor and are used in the denotational semantics of programming languages which feature unbounded choice constructs. Surprisingly, the category of cpo’s and omega_1-continuous embeddings is not omega_0-cocomplete. Hence the standard technique for solving reflexive domain equations fails. We give two alternative methods. We discuss also the issue of completeness of the lambda beta eta-calculus w.r.t reflexive domain models. We show that among the reflexive domain models in the category of cpo’s and omega_0-continuous functions there is one which has a minimal theory. We give a reflexive domain model in the category of cpo’s and omega_1-continuous functions whose theory is precisely the lambda beta eta theory. So omega_1-continuous lambda-models are complete for the lambda beta eta-calculus

    Assessing the functional and structural stability of the Met80Ala mutant of cytochrome c in dimethylsulfoxide

    Get PDF
    The Met80Ala variant of yeast cytochrome c is known to possess electrocatalytic properties that are absent in the wild type form and that make it a promising candidate for biocatalysis and bi-osensing. The versatility of an enzyme is enhanced by the stability in mixed aqueous/organic solvents that would allow poorly water-soluble substrates to be targeted. In this work, we have evaluated the effect of dimethylsulfoxide (DMSO) on the functionality of the Met80Ala cyto-chrome c mutant, by investigating the thermodynamics and kinetics of electron transfer in mixed water/DMSO solutions up to 50% DMSO v/v. In parallel, we have monitored spectroscop-ically the retention of the main structural features in the same medium, focusing on both the overall protein structure and the heme center. We found that the organic solvent exerts only minor effects on the redox and structural properties of the mutant mostly as a result of the mod-ification of the dielectric constant of the solvent. This would warrant proper functionality of this variant also under these potentially hostile experimental conditions, that differ from the physi-ological milieu of cytochrome c

    Thermodynamics and Kinetics of Electron Transfer of 2 Electrode-Immobilized Small Laccase from Streptomyces coelicolor

    Get PDF
    The thermodynamic and kinetic properties for the heterogeneous electron transfer (ET) were measured for the electrode-immobilized small laccase (SLAC) from Streptomyces coelicolor subjected to different electrostatic and covalent protein-electrode linkages, using cyclic voltammetry. Once immobilized electrostatically onto a gold electrode using mixed carboxyl- and hydroxy-terminated alkane-thiolate SAMs or covalently exploiting the same SAM subjected to N-hydroxysuccin-imide+1-Ethyl-3-(3-dimethylaminopropyl)carbodiimide (NHS-EDC) chemistry, the SLAC-electrode electron flow occurs through the T1 center. The E°’ values (from +0.2 to +0.1 V vs. SHE at pH 7.0) are lower by more than 0.2 V compared to the protein either in solution or immobilized with different anchoring strategies using uncharged SAMs. For the present electrostatic and covalent binding, this effect can respectively be ascribed to the negative charge of the SAM surfaces and to deletion of the positive charge of Lys/Arg residues due to amide bond formation which both selectively stabilize the more positively charged oxidized SLAC. Observation of enthalpy/entropy compensation within the series indicates that the immobilized proteins experience different reduction-induced solvent reorganization effects. The E°’ values for the covalently attached SLAC are sensitive to three acid base equilibria, with apparent pKa values of pKa1ox =5.1, pKa1red=7.5, pKa2ox=8.4, pKa2red=10.9, pKa2ox=8.9, pKa2red=11.3 possibly involving one residue close to the T1 center and two residues (Lys and/or Arg) along with moderate protein unfolding, respectively. Therefore, the E°’ value of immobilized SLAC turns out to be particularly sensitive to the anchoring mode and me-30 dium conditions

    Abstract Datatypes for Real Numbers in Type Theory

    Get PDF
    Abstract. We propose an abstract datatype for a closed interval of real numbers to type theory, providing a representation-independent approach to programming with real numbers. The abstract datatype requires only function types and a natural numbers type for its formulation, and so can be added to any type theory that extends Gödel’s System datatype is equivalent in power to programming intensionally with representations of real numbers. We also consider representing arbitrary real numbers using a mantissa-exponent representation in which the mantissa is taken from the abstract interval.

    How to Turn an Electron Transfer Protein into a Redox Enzyme for Biosensing

    Get PDF
    Cytochrome c is a small globular protein whose main physiological role is to shuttle electrons within the mitochondrial electron transport chain. This protein has been widely investigated, especially as a paradigmatic system for understanding the fundamental aspects of biological electron transfer and protein folding. Nevertheless, cytochrome c can also be endowed with a non-native catalytic activity and be immobilized on an electrode surface for the development of third generation biosensors. Here, an overview is offered of the most significant examples of such a functional transformation, carried out by either point mutation(s) or controlled unfolding. The latter can be induced chemically or upon protein immobilization on hydrophobic self-assembled monolayers. We critically discuss the potential held by these systems as core constituents of amperometric biosensors, along with the issues that need to be addressed to optimize their applicability and response

    A prototype-based approach to object evolution

    Get PDF
    International audienceWe investigate, in the context of functional prototype-based languages , a calculus of objects which might extend themselves upon receiving a message, a possibility referred to by Cardelli as a self-inflicted operation. We present a sound type system for this calculus which guarantees that evaluating a well-typed expression will never yield a message-not-found runtime error. The resulting calculus is an attempt towards the definition of a language combining the safety advantage of static type check with the flexibility normally found in dynamically typed languages
    • …
    corecore