55,714 research outputs found
Language and Proofs for Higher-Order SMT (Work in Progress)
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
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
We are concerned with rigid analytic geometry in the general setting of
Henselian fields 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 . 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
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
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
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
- …