5,506 research outputs found
Rewriting and Well-Definedness within a Proof System
Term rewriting has a significant presence in various areas, not least in
automated theorem proving where it is used as a proof technique. Many theorem
provers employ specialised proof tactics for rewriting. This results in an
interleaving between deduction and computation (i.e., rewriting) steps. If the
logic of reasoning supports partial functions, it is necessary that rewriting
copes with potentially ill-defined terms. In this paper, we provide a basis for
integrating rewriting with a deductive proof system that deals with
well-definedness. The definitions and theorems presented in this paper are the
theoretical foundations for an extensible rewriting-based prover that has been
implemented for the set theoretical formalism Event-B.Comment: In Proceedings PAR 2010, arXiv:1012.455
Formal Verification of Security Protocol Implementations: A Survey
Automated formal verification of security protocols has been mostly focused on analyzing high-level abstract models which, however, are significantly different from real protocol implementations written in programming languages. Recently, some researchers have started investigating techniques that bring automated formal proofs closer to real implementations. This paper surveys these attempts, focusing on approaches that target the application code that implements protocol logic, rather than the libraries that implement cryptography. According to these approaches, libraries are assumed to correctly implement some models. The aim is to derive formal proofs that, under this assumption, give assurance about the application code that implements the protocol logic. The two main approaches of model extraction and code generation are presented, along with the main techniques adopted for each approac
An Introduction to Mechanized Reasoning
Mechanized reasoning uses computers to verify proofs and to help discover new
theorems. Computer scientists have applied mechanized reasoning to economic
problems but -- to date -- this work has not yet been properly presented in
economics journals. We introduce mechanized reasoning to economists in three
ways. First, we introduce mechanized reasoning in general, describing both the
techniques and their successful applications. Second, we explain how mechanized
reasoning has been applied to economic problems, concentrating on the two
domains that have attracted the most attention: social choice theory and
auction theory. Finally, we present a detailed example of mechanized reasoning
in practice by means of a proof of Vickrey's familiar theorem on second-price
auctions
Tableaux Modulo Theories Using Superdeduction
We propose a method that allows us to develop tableaux modulo theories using
the principles of superdeduction, among which the theory is used to enrich the
deduction system with new deduction rules. This method is presented in the
framework of the Zenon automated theorem prover, and is applied to the set
theory of the B method. This allows us to provide another prover to Atelier B,
which can be used to verify B proof rules in particular. We also propose some
benchmarks, in which this prover is able to automatically verify a part of the
rules coming from the database maintained by Siemens IC-MOL. Finally, we
describe another extension of Zenon with superdeduction, which is able to deal
with any first order theory, and provide a benchmark coming from the TPTP
library, which contains a large set of first order problems.Comment: arXiv admin note: substantial text overlap with arXiv:1501.0117
Automated Reasoning over Deontic Action Logics with Finite Vocabularies
In this paper we investigate further the tableaux system for a deontic action
logic we presented in previous work. This tableaux system uses atoms (of a
given boolean algebra of action terms) as labels of formulae, this allows us to
embrace parallel execution of actions and action complement, two action
operators that may present difficulties in their treatment. One of the
restrictions of this logic is that it uses vocabularies with a finite number of
actions. In this article we prove that this restriction does not affect the
coherence of the deduction system; in other words, we prove that the system is
complete with respect to language extension. We also study the computational
complexity of this extended deductive framework and we prove that the
complexity of this system is in PSPACE, which is an improvement with respect to
related systems.Comment: In Proceedings LAFM 2013, arXiv:1401.056
Applying Formal Methods to Networking: Theory, Techniques and Applications
Despite its great importance, modern network infrastructure is remarkable for
the lack of rigor in its engineering. The Internet which began as a research
experiment was never designed to handle the users and applications it hosts
today. The lack of formalization of the Internet architecture meant limited
abstractions and modularity, especially for the control and management planes,
thus requiring for every new need a new protocol built from scratch. This led
to an unwieldy ossified Internet architecture resistant to any attempts at
formal verification, and an Internet culture where expediency and pragmatism
are favored over formal correctness. Fortunately, recent work in the space of
clean slate Internet design---especially, the software defined networking (SDN)
paradigm---offers the Internet community another chance to develop the right
kind of architecture and abstractions. This has also led to a great resurgence
in interest of applying formal methods to specification, verification, and
synthesis of networking protocols and applications. In this paper, we present a
self-contained tutorial of the formidable amount of work that has been done in
formal methods, and present a survey of its applications to networking.Comment: 30 pages, submitted to IEEE Communications Surveys and Tutorial
Validating specifications of dynamic systems using automated reasoning techniques
In this paper, we propose a new approach to validating formal specifications of observable behavior of discrete dynamic systems. By observable behavior we mean system behavior as observed by users or other systems in the environment of the system. Validation of a formal specification of an informal domain tries to answer the question whether the specification actually describes the intended domain. This differs from the verification problem, which deals with the correspondence between formal objects, e.g. between a formal specification of a system and an implementation of it. We consider formal specifications of object-oriented dynamic systems that are subject to static and dynamic integrity constraints. To validate that such a specification expresses the intended behavior, we propose to use a tool that can answer reachability queries. In a reachability query we ask whether the system can evolve from one state into another without violating the integrity constraints. If the query is answered positively, the system should exhibit an example path between the states; if the answer is negative, the system should explain why this is so. An example path produced by the tool can be used to produce scenarios for presentations of system behavior, but can also be used as a basis for acceptance testing. In this paper, we discuss the use of planning and theoremproving techniques to answer such queries, and illustrate the use of reachability queries in the context of information system development
- …