585,532 research outputs found

    Research in mathematical theory of computation

    Get PDF
    Research progress in the following areas is reviewed: (1) new version of computer program LCF (logic for computable functions) including a facility to search for proofs automatically; (2) the description of the language PASCAL in terms of both LCF and in first order logic; (3) discussion of LISP semantics in LCF and attempt to prove the correctness of the London compilers in a formal way; (4) design of both special purpose and domain independent proving procedures specifically program correctness in mind; (5) design of languages for describing such proof procedures; and (6) the embedding of ideas in the first order checker

    Extremal problems in logic programming and stable model computation

    Get PDF
    We study the following problem: given a class of logic programs C, determine the maximum number of stable models of a program from C. We establish the maximum for the class of all logic programs with at most n clauses, and for the class of all logic programs of size at most n. We also characterize the programs for which the maxima are attained. We obtain similar results for the class of all disjunctive logic programs with at most n clauses, each of length at most m, and for the class of all disjunctive logic programs of size at most n. Our results on logic programs have direct implication for the design of algorithms to compute stable models. Several such algorithms, similar in spirit to the Davis-Putnam procedure, are described in the paper. Our results imply that there is an algorithm that finds all stable models of a program with n clauses after considering the search space of size O(3^{n/3}) in the worst case. Our results also provide some insights into the question of representability of families of sets as families of stable models of logic programs

    Piranti Lunak Untuk Mendesain Program Dalam Bahasa Pemrograman C Berdasarkan Hoare Logic

    Full text link
    The purpose of Hoare Logic is to provide a set of logical rules in order to reason about the correctness of computer programs with the rigor of mathematical logic. Because of that, Hoare Logic becomes the axiomatic basis for computer programming with several rules to prove the correctness of program. Hence, we can apply the proven rules of Hoare Logic as the basis to design a program correctly according to Hoare Logic. In this paper, Hoare Logic is applied in a software which is designed to help the user to design a program in C programming language correctly based on rules in Hoare Logic. When using this software, the user needs to know what program he will create and analyze an algorithm for it. After that, the user can use the software containing the rules of Hoare Logic and write the pseudo-code of C to design his program. At the end of this application, the user will obtain a source code of the program written in C programming language. This software is guaranteed to produce 100% correct output only if the users have the basic understanding of Hoare Logic as well as C program language before using this software

    TWAM: A Certifying Abstract Machine for Logic Programs

    Full text link
    Type-preserving (or typed) compilation uses typing derivations to certify correctness properties of compilation. We have designed and implemented a type-preserving compiler for a simply-typed dialect of Prolog we call T-Prolog. The crux of our approach is a new certifying abstract machine which we call the Typed Warren Abstract Machine (TWAM). The TWAM has a dependent type system strong enough to specify the semantics of a logic program in the logical framework LF. We present a soundness metatheorem which constitutes a partial correctness guarantee: well-typed programs implement the logic program specified by their type. This metatheorem justifies our design and implementation of a certifying compiler from T-Prolog to TWAM.Comment: 41 pages, under submission to ACM Transactions on Computational Logi

    A summary of NASA/Air Force full scale engine research programs using the F100 engine

    Get PDF
    A full scale engine research (FSER) program conducted with the F100 engine is presented. The program mechanism is described and the F100 test vehicles utilized are illustrated. Technology items were addressed in the areas of swirl augmentation, flutter phenomenon, advanced electronic control logic theory, strain gage technology and distortion sensitivity. The associated test programs are described. The FSER approach utilizes existing state of the art engine hardware to evaluate advanced technology concepts and problem areas. Aerodynamic phenomenon previously not considered by design systems were identified and incorporated into industry design tools

    F100 multivariable control synthesis program: A review of full scale engine altitude tests

    Get PDF
    The benefits of linear quadratic regulator synthesis methods in designing a multivariable engine control capable of operating an engine throughout its flight envelope were demonstrated. The entire multivariable control synthesis program is reviewed with particular emphasis on engine tests conducted in the NASA Lewis propulsion systems laboratory altitude facility. The multivariable control has basically a proportional plus integral, model following structure with gains scheduled as functions of flight condition. The multivariable control logic design is described, along with control computer implementation aspects. Altitude tests demonstrated that the multivariable control logic could control an engine over a wide range of test conditions. Representative transient responses are presented to demonstrate engine behavior and the functioning of the control logic

    Automated Verification of Design Patterns with LePUS3

    Get PDF
    Specification and [visual] modelling languages are expected to combine strong abstraction mechanisms with rigour, scalability, and parsimony. LePUS3 is a visual, object-oriented design description language axiomatized in a decidable subset of the first-order predicate logic. We demonstrate how LePUS3 is used to formally specify a structural design pattern and prove (‗verify‘) whether any JavaTM 1.4 program satisfies that specification. We also show how LePUS3 specifications (charts) are composed and how they are verified fully automatically in the Two-Tier Programming Toolkit
    • …
    corecore