857 research outputs found
Set Unification
The unification problem in algebras capable of describing sets has been
tackled, directly or indirectly, by many researchers and it finds important
applications in various research areas--e.g., deductive databases, theorem
proving, static analysis, rapid software prototyping. The various solutions
proposed are spread across a large literature. In this paper we provide a
uniform presentation of unification of sets, formalizing it at the level of set
theory. We address the problem of deciding existence of solutions at an
abstract level. This provides also the ability to classify different types of
set unification problems. Unification algorithms are uniformly proposed to
solve the unification problem in each of such classes.
The algorithms presented are partly drawn from the literature--and properly
revisited and analyzed--and partly novel proposals. In particular, we present a
new goal-driven algorithm for general ACI1 unification and a new simpler
algorithm for general (Ab)(Cl) unification.Comment: 58 pages, 9 figures, 1 table. To appear in Theory and Practice of
Logic Programming (TPLP
An Automatically Verified Prototype of the Tokeneer ID Station Specification
The Tokeneer project was an initiative set forth by the National Security
Agency (NSA, USA) to be used as a demonstration that developing highly secure
systems can be made by applying rigorous methods in a cost effective manner.
Altran Praxis (UK) was selected by NSA to carry out the development of the
Tokeneer ID Station. The company wrote a Z specification later implemented in
the SPARK Ada programming language, which was verified using the SPARK Examiner
toolset. In this paper, we show that the Z specification can be easily and
naturally encoded in the {log} set constraint language, thus generating a
functional prototype. Furthermore, we show that {log}'s automated proving
capabilities can discharge all the proof obligations concerning state
invariants as well as important security properties. As a consequence, the
prototype can be regarded as correct with respect to the verified properties.
This provides empirical evidence that Z users can use {log} to generate correct
prototypes from their Z specifications. In turn, these prototypes enable or
simplify some verificatio activities discussed in the paper
Combining Type Checking and Set Constraint Solving to Improve Automated Software Verification
In this paper we show how prescritive type checking and constraint solving
can be combined to increase automation during software verification. We do so
by defining a type system and implementing a typechecker for {log} (read
`setlog'), a Constraint Logic Programming (CLP) language and satisfiability
solver based on set theory. Hence, we proceed as follows: a) a type system for
{log} is defined; b) the constraint solver is proved to be safe w.r.t. the type
system; c) the implementation of a concrete typechecker is presented; d) the
integration of type checking and set constraint solving to increase automation
during software verification is discussed; and f) two industrial-strength case
studies are presented where this combination is used with very good results
Declarative Programming with Intensional Sets in Java Using JSetL
Intensional sets are sets given by a property rather than by enumerating
their elements. In previous work, we have proposed a decision procedure for a
first-order logic language which provides Restricted Intensional Sets (RIS),
i.e., a sub-class of intensional sets that are guaranteed to denote
finite---though unbounded---sets. In this paper we show how RIS can be
exploited as a convenient programming tool also in a conventional setting,
namely, the imperative O-O language Java. We do this by considering a Java
library, called JSetL, that integrates the notions of logical variable, (set)
unification and constraints that are typical of constraint logic programming
languages into the Java language. We show how JSetL is naturally extended to
accommodate for RIS and RIS constraints, and how this extension can be
exploited, on the one hand, to support a more declarative style of programming
and, on the other hand, to effectively enhance the expressive power of the
constraint language provided by the library
Oxygen Uptake Efficiency Slope at a Glance: A Fascinating Index Carrying Unsolved Questions
Since 1996, when it was first introduced by Baba et al, oxygen uptake (VO2) efficiency slope (OUES) has represented a controversial index of cardiopulmonary efficiency
Proof Automation in the Theory of Finite Sets and Finite Set Relation Algebra
{log} ('setlog') is a satisfiability solver for formulas of the theory of
finite sets and finite set relation algebra (FSTRA). As such, it can be used as
an automated theorem prover (ATP) for this theory. {log} is able to
automatically prove a number of FSTRA theorems, but not all of them.
Nevertheless, we have observed that many theorems that {log} cannot
automatically prove can be divided into a few subgoals automatically
dischargeable by {log}. The purpose of this work is to present a prototype
interactive theorem prover (ITP), called {log}-ITP, providing evidence that a
proper integration of {log} into world-class ITP's can deliver a great deal of
proof automation concerning FSTRA. An empirical evaluation based on 210
theorems from the TPTP and Coq's SSReflect libraries shows a noticeable
reduction in the size and complexity of the proofs with respect to Coq
Pianeta Cuore 3.0 istruzioni per conoscerlo e mantenerlo sano
Il testo è caratterizzato dall’essenzialità, dalla schematicità e dalla chiarezza e nasce dalle domande più frequenti che i Pazienti e i familiari pongono sulle varie cardiopatie, prefazione all'edizione del 2010, e sugli aspetti diagnostico-terapeutici in Cardiologia. Indugia maggiormente sulla prevenzione cardiovascolare e le cardiopatie coronariche perché, attraverso la prevenzione è possibile ridurre i nuovi casi di malattia e le recidive di malattia, massimizzando i risultati delle procedure e tecnologie terapeutiche avanzate delle quali oggi disponiamo. Include un utilissimo glossario che illustra il significato delle parole più ricorrenti nel gergo cardiologico la cui comprensione non sempre è immediata
Automated Reasoning with Restricted Intensional Sets
Intensional sets, i.e., sets given by a property rather than by enumerating
elements, are widely recognized as a key feature to describe complex problems
(see, e.g., specification languages such as B and Z). Notwithstanding, very few
tools exist supporting high-level automated reasoning on general formulas
involving intensional sets. In this paper we present a decision procedure for a
first-order logic language offering both extensional and (a restricted form of)
intensional sets (RIS). RIS are introduced as first-class citizens of the
language and set-theoretical operators on RIS are dealt with as constraints.
Syntactic restrictions on RIS guarantee that the denoted sets are finite,
though unbounded. The language of RIS, called L_RIS , is parametric with
respect to any first-order theory X providing at least equality and a decision
procedure for X-formulas. In particular, we consider the instance of L_RIS when
X is the theory of hereditarily finite sets and binary relations. We also
present a working implementation of this instance as part of the {log} tool and
we show through a number of examples and two case studies that, although RIS
are a subclass of general intensional sets, they are still sufficiently
expressive as to encode and solve many interesting problems. Finally, an
extensive empirical evaluation provides evidence that the tool can be used in
practice
- …