55,714 research outputs found

    Language and Proofs for Higher-Order SMT (Work in Progress)

    Full text link
    Satisfiability modulo theories (SMT) solvers have throughout the years been able to cope with increasingly expressive formulas, from ground logics to full first-order logic modulo theories. Nevertheless, higher-order logic within SMT is still little explored. One main goal of the Matryoshka project, which started in March 2017, is to extend the reasoning capabilities of SMT solvers and other automatic provers beyond first-order logic. In this preliminary report, we report on an extension of the SMT-LIB language, the standard input format of SMT solvers, to handle higher-order constructs. We also discuss how to augment the proof format of the SMT solver veriT to accommodate these new constructs and the solving techniques they require.Comment: In Proceedings PxTP 2017, arXiv:1712.0089

    A Type System for Tom

    Get PDF
    Extending a given language with new dedicated features is a general and quite used approach to make the programming language more adapted to problems. Being closer to the application, this leads to less programming flaws and easier maintenance. But of course one would still like to perform program analysis on these kinds of extended languages, in particular type checking and inference. In this case one has to make the typing of the extended features compatible with the ones in the starting language. The Tom programming language is a typical example of such a situation as it consists of an extension of Java that adds pattern matching, more particularly associative pattern matching, and reduction strategies. This paper presents a type system with subtyping for Tom, that is compatible with Java's type system, and that performs both type checking and type inference. We propose an algorithm that checks if all patterns of a Tom program are well-typed. In addition, we propose an algorithm based on equality and subtyping constraints that infers types of variables occurring in a pattern. Both algorithms are exemplified and the proposed type system is showed to be sound and complete

    Definable transformation to normal crossings over Henselian fields with separated analytic structure

    Get PDF
    We are concerned with rigid analytic geometry in the general setting of Henselian fields KK with separated analytic structure, whose theory was developed by Cluckers--Lipshitz--Robinson. It unifies earlier work and approaches of numerous mathematicians. Separated analytic structures admit reasonable relative quantifier elimination in a suitable analytic language. However, the rings of global analytic functions with two kinds of variables seem not to have good algebraic properties such as Noetherianity or excellence. Therefore the usual global resolution of singularities from rigid analytic geometry is no longer at our disposal. Our main purpose is to give a definable version of the canonical desingularization algorithm (the hypersurface case) due to Bierstone--Milman so that both these powerful tools are available in the realm of non-Archimedean analytic geometry at the same time. It will be carried out within a category of definable, strong analytic manifolds and maps, which is more flexible than that of affinoid varieties and maps. Strong analytic objects are those definable ones that remain analytic over all fields elementarily equivalent to KK. This condition may be regarded as a kind of symmetry imposed on ordinary analytic objects. The strong analytic category makes it possible to apply a model-theoretic compactness argument in the absence of the ordinary topological compactness. On the other hand, our closedness theorem enables application of resolution of singularities to topological problems involving the topology induced by valuation. Eventually, these three results will be applied to such issues as the existence of definable retractions or extending continuous definable functions.Comment: This is the final version published in the journal Symmetry-Basel, 2019, 11, 93

    Formulas as Programs

    Get PDF
    We provide here a computational interpretation of first-order logic based on a constructive interpretation of satisfiability w.r.t. a fixed but arbitrary interpretation. In this approach the formulas themselves are programs. This contrasts with the so-called formulas as types approach in which the proofs of the formulas are typed terms that can be taken as programs. This view of computing is inspired by logic programming and constraint logic programming but differs from them in a number of crucial aspects. Formulas as programs is argued to yield a realistic approach to programming that has been realized in the implemented programming language ALMA-0 (Apt et al.) that combines the advantages of imperative and logic programming. The work here reported can also be used to reason about the correctness of non-recursive ALMA-0 programs that do not include destructive assignment.Comment: 34 pages, appears in: The Logic Programming Paradigm: a 25 Years Perspective, K.R. Apt, V. Marek, M. Truszczynski and D.S. Warren (eds), Springer-Verlag, Artificial Intelligence Serie

    The Vampire and the FOOL

    Full text link
    This paper presents new features recently implemented in the theorem prover Vampire, namely support for first-order logic with a first class boolean sort (FOOL) and polymorphic arrays. In addition to having a first class boolean sort, FOOL also contains if-then-else and let-in expressions. We argue that presented extensions facilitate reasoning-based program analysis, both by increasing the expressivity of first-order reasoners and by gains in efficiency

    Automated Synthesis of Tableau Calculi

    Full text link
    This paper presents a method for synthesising sound and complete tableau calculi. Given a specification of the formal semantics of a logic, the method generates a set of tableau inference rules that can then be used to reason within the logic. The method guarantees that the generated rules form a calculus which is sound and constructively complete. If the logic can be shown to admit finite filtration with respect to a well-defined first-order semantics then adding a general blocking mechanism provides a terminating tableau calculus. The process of generating tableau rules can be completely automated and produces, together with the blocking mechanism, an automated procedure for generating tableau decision procedures. For illustration we show the workability of the approach for a description logic with transitive roles and propositional intuitionistic logic.Comment: 32 page
    corecore