784 research outputs found

    Recursive Program Optimization Through Inductive Synthesis Proof Transformation

    Get PDF
    The research described in this paper involved developing transformation techniques which increase the efficiency of the noriginal program, the source, by transforming its synthesis proof into one, the target, which yields a computationally more efficient algorithm. We describe a working proof transformation system which, by exploiting the duality between mathematical induction and recursion, employs the novel strategy of optimizing recursive programs by transforming inductive proofs. We compare and contrast this approach with the more traditional approaches to program transformation, and highlight the benefits of proof transformation with regards to search, correctness, automatability and generality

    Bisimulation as path type for guarded recursive types

    Get PDF
    In type theory, coinductive types are used to represent processes, and are thus crucial for the formal verification of non-terminating reactive programs in proof assistants based on type theory, such as Coq and Agda. Currently, programming and reasoning about coinductive types is difficult for two reasons: The need for recursive definitions to be productive, and the lack of coincidence of the built-in identity types and the important notion of bisimilarity. Guarded recursion in the sense of Nakano has recently been suggested as a possible approach to dealing with the problem of productivity, allowing this to be encoded in types. Indeed, coinductive types can be encoded using a combination of guarded recursion and universal quantification over clocks. This paper studies the notion of bisimilarity for guarded recursive types in Ticked Cubical Type Theory, an extension of Cubical Type Theory with guarded recursion. We prove that, for any functor, an abstract, category theoretic notion of bisimilarity for the final guarded coalgebra is equivalent (in the sense of homotopy type theory) to path equality (the primitive notion of equality in cubical type theory). As a worked example we study a guarded notion of labelled transition systems, and show that, as a special case of the general theorem, path equality coincides with an adaptation of the usual notion of bisimulation for processes. In particular, this implies that guarded recursion can be used to give simple equational reasoning proofs of bisimilarity. This work should be seen as a step towards obtaining bisimilarity as path equality for coinductive types using the encodings mentioned above

    A survey of program transformation with special reference to unfold/fold style program development

    No full text
    This paper consists of a survey of current, and past, work on *program transformation* for the purpose of optimization. We first discuss some of the general methodological frameworks for program modification, such as *analogy*, *explanation based learning*, *partial evaluation*, *proof theoretic optimization*, and the *unfold/fold* technique. These frameworks are not mutually exclusive, and the latter, unfold/fold, is certainly the most widely used technique, in various guises, for program transformation. Thus we shall often have occasion to: compare the relative merits of systems that employ the technique in some form, *and*; compare the unfold/fold systems with those that employ alternative techniques. We also include (and compare with unfold/fold) a brief survey of recent work concerning the use of *formal methods* for program transformation

    Characterizing and unpacking learning to learn together skills in a wiki project in primary education

    Get PDF
    This is the author accepted manuscript.The final version is available from Elsevier via the DOI in this record.Learning to learn together (L2L2) skills are widely acknowledged as some of the most important 21 st century skills that enable learners to participate in a digital and global society. This paper examines how L2L2 skills emerged in a small-group wiki-based collaborative project and in the context of face-to-face real-classroom practice, in order to conceptualise L2L2 and identify the key features of the skills involved. To this end, our paper reports on an empirical study with primary school students who worked in two different modes of interaction, namely face-to-face in-pair discussion and on-line wiki-based between-pair discussion. The study identified and defined key features of four L2L2 skills, namely distributed leadership, mutual engagement, group reflection and group assessment, all of which emerged to a similar extent during the wiki project. It was found that a few distinctive features of L2L2 skills are related to different stages of task resolution, wiki affordances and different modes of collaboration. Therefore, this empirical study argues that technology and pedagogy are equally important and required to promote L2L2 skills in primary school classrooms and also it discusses some educational implications for the design of more effective technology-enhanced pedagogy.This research was funded by the Ministerio de Economía y Competitividad of the Spanish Government (projects number: EDU2012-32415 and EDU2016-80258-R)

    Synthesis of Greedy Algorithms Using Dominance Relations

    Get PDF
    Greedy algorithms exploit problem structure and constraints to achieve linear-time performance. Yet there is still no completely satisfactory way of constructing greedy algorithms. For example, the Greedy Algorithm of Edmonds depends upon translating a problem into an algebraic structure called a matroid, but the existence of such a translation can be as hard to determine as the existence of a greedy algorithm itself. An alternative characterization of greedy algorithms is in terms of dominance relations, a well-known algorithmic technique used to prune search spaces. We demonstrate a process by which dominance relations can be methodically derived for a number of greedy algorithms, including activity selection, and prefix-free codes. By incorporating our approach into an existing framework for algorithm synthesis, we demonstrate that it could be the basis for an effective engineering method for greedy algorithms. We also compare our approach with other characterizations of greedy algorithms

    Coinductive big-step operational semantics

    Get PDF
    Using a call-by-value functional language as an example, this article illustrates the use of coinductive definitions and proofs in big-step operational semantics, enabling it to describe diverging evaluations in addition to terminating evaluations. We formalize the connections between the coinductive big-step semantics and the standard small-step semantics, proving that both semantics are equivalent. We then study the use of coinductive big-step semantics in proofs of type soundness and proofs of semantic preservation for compilers. A methodological originality of this paper is that all results have been proved using the Coq proof assistant. We explain the proof-theoretic presentation of coinductive definitions and proofs offered by Coq, and show that it facilitates the discovery and the presentation of the results

    Husserl and neo-kantianism

    Get PDF

    Network Models for Materials and Biological Systems

    Get PDF
    abstract: The properties of materials depend heavily on the spatial distribution and connectivity of their constituent parts. This applies equally to materials such as diamond and glasses as it does to biomolecules that are the product of billions of years of evolution. In science, insight is often gained through simple models with characteristics that are the result of the few features that have purposely been retained. Common to all research within in this thesis is the use of network-based models to describe the properties of materials. This work begins with the description of a technique for decoupling boundary effects from intrinsic properties of nanomaterials that maps the atomic distribution of nanomaterials of diverse shape and size but common atomic geometry onto a universal curve. This is followed by an investigation of correlated density fluctuations in the large length scale limit in amorphous materials through the analysis of large continuous random network models. The difficulty of estimating this limit from finite models is overcome by the development of a technique that uses the variance in the number of atoms in finite subregions to perform the extrapolation to large length scales. The technique is applied to models of amorphous silicon and vitreous silica and compared with results from recent experiments. The latter part this work applies network-based models to biological systems. The first application models force-induced protein unfolding as crack propagation on a constraint network consisting of interactions such as hydrogen bonds that cross-link and stabilize a folded polypeptide chain. Unfolding pathways generated by the model are compared with molecular dynamics simulation and experiment for a diverse set of proteins, demonstrating that the model is able to capture not only native state behavior but also partially unfolded intermediates far from the native state. This study concludes with the extension of the latter model in the development of an efficient algorithm for predicting protein structure through the flexible fitting of atomic models to low-resolution cryo-electron microscopy data. By optimizing the fit to synthetic data through directed sampling and context-dependent constraint removal, predictions are made with accuracies within the expected variability of the native state.Dissertation/ThesisPh.D. Physics 201
    corecore