1,843 research outputs found
Perspectives for proof unwinding by programming languages techniques
In this chapter, we propose some future directions of work, potentially
beneficial to Mathematics and its foundations, based on the recent import of
methodology from the theory of programming languages into proof theory. This
scientific essay, written for the audience of proof theorists as well as the
working mathematician, is not a survey of the field, but rather a personal view
of the author who hopes that it may inspire future and fellow researchers
An algorithmic approach to the existence of ideal objects in commutative algebra
The existence of ideal objects, such as maximal ideals in nonzero rings,
plays a crucial role in commutative algebra. These are typically justified
using Zorn's lemma, and thus pose a challenge from a computational point of
view. Giving a constructive meaning to ideal objects is a problem which dates
back to Hilbert's program, and today is still a central theme in the area of
dynamical algebra, which focuses on the elimination of ideal objects via
syntactic methods. In this paper, we take an alternative approach based on
Kreisel's no counterexample interpretation and sequential algorithms. We first
give a computational interpretation to an abstract maximality principle in the
countable setting via an intuitive, state based algorithm. We then carry out a
concrete case study, in which we give an algorithmic account of the result that
in any commutative ring, the intersection of all prime ideals is contained in
its nilradical
An SMT-based verification framework for software systems handling arrays
Recent advances in the areas of automated reasoning and first-order theorem proving paved the way to the developing of effective tools for the rigorous formal analysis of computer systems. Nowadays many formal verification frameworks are built over highly engineered tools (SMT-solvers) implementing decision procedures for quantifier- free fragments of theories of interest for (dis)proving properties of software or hardware products. The goal of this thesis is to go beyond the quantifier-free case and enable sound and effective solutions for the analysis of software systems requiring the usage of quantifiers. This is the case, for example, of software systems handling array variables, since meaningful properties about arrays (e.g., "the array is sorted") can be expressed only by exploiting quantification. The first contribution of this thesis is the definition of a new Lazy Abstraction with Interpolants framework in which arrays can be handled in a natural manner. We identify a fragment of the theory of arrays admitting quantifier-free interpolation and provide an effective quantifier-free interpolation algorithm. The combination of this result with an important preprocessing technique allows the generation of the required quantified formulae. Second, we prove that accelerations, i.e., transitive closures, of an interesting class of relations over arrays are definable in the theory of arrays via Exists-Forall-first order formulae. We further show that the theoretical importance of this result has a practical relevance: Once the (problematic) nested quantifiers are suitably handled, acceleration offers a precise (not over-approximated) alternative to abstraction solutions. Third, we present new decision procedures for quantified fragments of the theories of arrays. Our decision procedures are fully declarative, parametric in the theories describing the structure of the indexes and the elements of the arrays and orthogonal with respect to known results. Fourth, by leveraging our new results on acceleration and decision procedures, we show that the problem of checking the safety of an important class of programs with arrays is fully decidable. The thesis presents along with theoretical results practical engineering strategies for the effective implementation of a framework combining the aforementioned results: The declarative nature of our contributions allows for the definition of an integrated framework able to effectively check the safety of programs handling array variables while overcoming the individual limitations of the presented techniques
Feasible Computation in Symbolic and Numeric Integration
Two central concerns in scientific computing are the reliability and efficiency of algorithms. We introduce the term feasible computation to describe algorithms that are reliable and efficient given the contextual constraints imposed in practice. The main focus of this dissertation then, is to bring greater clarity to the forms of error introduced in computation and modeling, and in the limited context of symbolic and numeric integration, to contribute to integration algorithms that better account for error while providing results efficiently.
Chapter 2 considers the problem of spurious discontinuities in the symbolic integration problem, proposing a new method to restore continuity based on a pair of unwinding numbers. Computable conditions for the unwinding numbers are specified, allowing the computation of a variety of continuous integrals. Chapter 3 introduces two structure-preserving algorithms for the symbolic-numeric integration of rational functions on exact input. A structured backward and forward error analysis for the algorithms shows that they are a posteriori backward and forward stable, with both forms of error exhibiting tolerance proportionality.
Chapter 4 identifies the basic logical structure of feasible inference by presenting a logical model of stable approximate inference, illustrated by examples of modeling and numerical integration. In terms of this model it is seen that a necessary condition for the feasibility of methods of abstraction in modeling and complexity reduction in computational mathematics is the preservation of inferential structure, in a sense that is made precise. Chapter 5 identifies a robust pattern in mathematical sciences of transforming problems to make solutions feasible. It is showed that computational complexity reduction methods in computational science involve chains of such transformations. It is argued that the structured and approximate nature of such strategies indicates the need for a higher-order model of computation and a new definition of computational complexity
Kriesel and Wittgenstein
Georg Kreisel (15 September 1923 - 1 March 2015) was a formidable mathematical
logician during a formative period when the subject was becoming
a sophisticated field at the crossing of mathematics and logic. Both with his
technical sophistication for his time and his dialectical engagement with mandates,
aspirations and goals, he inspired wide-ranging investigation in the metamathematics
of constructivity, proof theory and generalized recursion theory.
Kreisel's mathematics and interactions with colleagues and students have been
memorably described in Kreiseliana ([Odifreddi, 1996]). At a different level of
interpersonal conceptual interaction, Kreisel during his life time had extended
engagement with two celebrated logicians, the mathematical Kurt Gödel and
the philosophical Ludwig Wittgenstein. About Gödel, with modern mathematical
logic palpably emanating from his work, Kreisel has reflected and written
over a wide mathematical landscape. About Wittgenstein on the other hand,
with an early personal connection established Kreisel would return as if with
an anxiety of influence to their ways of thinking about logic and mathematics,
ever in a sort of dialectic interplay. In what follows we draw this out through
his published essaysâand one letterâboth to elicit aspects of influence in his
own terms and to set out a picture of Kreisel's evolving thinking about logic
and mathematics in comparative relief.Accepted manuscrip
Automated incremental software verification
Software continuously evolves to meet rapidly changing human needs. Each evolved transformation of a program is expected to preserve important correctness and security properties. Aiming to assure program correctness after a change, formal verification techniques, such as Software Model Checking, have recently benefited from fully automated solutions based on symbolic reasoning and abstraction. However, the majority of the state-of-the-art model checkers are designed that each new software version has to be verified from scratch. In this dissertation, we investigate the new Formal Incremental Verification (FIV) techniques that aim at making software analysis more efficient by reusing invested efforts between verification runs. In order to show that FIV can be built on the top of different verification techniques, we focus on three complementary approaches to automated formal verification. First, we contribute the FIV technique for SAT-based Bounded Model Checking developed to verify programs with (possibly recursive) functions with respect to the set of pre-defined assertions. We present the function-summarization framework based on Craig interpolation that allows extracting and reusing over- approximations of the function behaviors. We introduce the algorithm to revalidate the summaries of one program locally in order to prevent re-verification of another program from scratch. Second, we contribute the technique for simulation relation synthesis for loop-free programs that do not necessarily contain assertions. We introduce an SMT-based abstraction- refinement algorithm that proceeds by guessing a relation and checking whether it is a simulation relation. We present a novel algorithm for discovering simulations symbolically, by means of solving ââ-formulas and extracting witnessing Skolem relations. Third, we contribute the FIV technique for SMT-based Unbounded Model Checking developed to verify programs with (possibly nested) loops. We present an algorithm that automatically derives simulations between programs with different loop structures. The automatically synthesized simulation relation is then used to migrate the safe inductive invariants across the evolution boundaries. Finally, we contribute the implementation and evaluation of all our algorithmic contributions, and confirm that the state-of-the-art model checking tools can successfully be extended by the FIV capabilities
Mathematical Logic: Proof theory, Constructive Mathematics
The workshop âMathematical Logic: Proof Theory, Constructive Mathematicsâ was centered around proof-theoretic aspects of current mathematics, constructive mathematics and logical aspects of computational complexit
Practical simplification of elementary functions using CAD
EThOS - Electronic Theses Online ServiceGBUnited Kingdo
- âŠ