26,967 research outputs found
Nondeterministic Relational Semantics of a while Program
A relational semantics is a mapping of programs to relations. We consider that the input-output semantics of a program is given by a relation on its set of states; in a nondeterministic context, this relation is calculated by considering the worst behavior of the program (demonic relational semantics). In this paper, we concentrate on while loops. Calculating the relational abstraction (semantics) of a loop is difficult, but showing the correctness of any candidate abstraction is much easier. For functional programs, Mills has described a checking method known as the while statement verification rule. A programming theorem for iterative constructs is proposed, proved, demonstrated and applied for an example. This theorem can be considered as a generalization of the while statement verification to nondeterministic loops. 
Divergences on Monads for Relational Program Logics
Several relational program logics have been introduced for integrating
reasoning about relational properties of programs and measurement of
quantitative difference between computational effects. Towards a general
framework for such logics, in this paper, we formalize quantitative difference
between computational effects as divergence on monad, then develop a relational
program logic acRL that supports generic computational effects and divergences
on them. To give a categorical semantics of acRL supporting divergences, we
give a method to obtain graded strong relational liftings from divergences on
monads. We derive two instantiations of acRL for the verification of 1) various
differential privacy of higher-order functional probabilistic programs and 2)
difference of distribution of costs between higher-order functional programs
with probabilistic choice and cost counting operations.Comment: Preprin
Handling Inconsistency in Knowledge Bases
Real-world automated reasoning systems, based on classical logic, face logically inconsistent information, and they must cope with it. It is onerous to develop such systems because classical logic is explosive. Recently, progress has been made towards semantics that deal with logical inconsistency. However, such semantics was never analyzed in the aspect of inconsistency tolerant relational model.
In our research work, we use an inconsistency and incompleteness tolerant relational model called Paraconsistent Relational Model. The paraconsistent relational model is an extension of the ordinary relational model that can store, not only positive information but also negative information. Therefore, a piece of information in the paraconsistent relational model has four truth values: true, false, both, and unknown.
However, the paraconsistent relational model cannot represent disjunctive information (disjunctive tuples). We then introduce an extended paraconsistent relational model called disjunctive paraconsistent relational model. By using both the models, we handle inconsistency - similar to the notion of quasi-classic logic or four-valued logic -- in deductive databases (logic programs with no functional symbols).
In addition to handling inconsistencies in extended databases, we also apply inconsistent tolerant reasoning technique in semantic web knowledge bases. Specifically, we handle inconsistency assosciated with closed predicates in semantic web. We use again the paraconsistent approach to handle inconsistency.
We further extend the same idea to description logic programs (combination of semantic web and logic programs) and introduce dl-relation to represent inconsistency associated with description logic programs
Functional Big-step Semantics
When doing an interactive proof about a piece of software, it is important that the underlying programming language’s semantics does not make the proof unnecessarily difficult or unwieldy. Both smallstep and big-step semantics are commonly used, and the latter is typically given by an inductively defined relation. In this paper, we consider an alternative: using a recursive function akin to an interpreter for the language. The advantages include a better induction theorem, less duplication, accessibility to ordinary functional programmers, and the ease of doing symbolic simulation in proofs via rewriting. We believe that this style of semantics is well suited for compiler verification, including proofs of divergence preservation. We do not claim the invention of this style of semantics: our contribution here is to clarify its value, and to explain how it supports several language features that might appear to require a relational or small-step approach. We illustrate the technique on a simple imperative language with C-like for-loops and a break statement, and compare it to a variety of other approaches. We also provide ML and lambda-calculus based examples to illustrate its generality
Relational Symbolic Execution
Symbolic execution is a classical program analysis technique used to show
that programs satisfy or violate given specifications. In this work we
generalize symbolic execution to support program analysis for relational
specifications in the form of relational properties - these are properties
about two runs of two programs on related inputs, or about two executions of a
single program on related inputs. Relational properties are useful to formalize
notions in security and privacy, and to reason about program optimizations. We
design a relational symbolic execution engine, named RelSym which supports
interactive refutation, as well as proving of relational properties for
programs written in a language with arrays and for-like loops
Kolmogorov Complexity in perspective. Part II: Classification, Information Processing and Duality
We survey diverse approaches to the notion of information: from Shannon
entropy to Kolmogorov complexity. Two of the main applications of Kolmogorov
complexity are presented: randomness and classification. The survey is divided
in two parts published in a same volume. Part II is dedicated to the relation
between logic and information system, within the scope of Kolmogorov
algorithmic information theory. We present a recent application of Kolmogorov
complexity: classification using compression, an idea with provocative
implementation by authors such as Bennett, Vitanyi and Cilibrasi. This stresses
how Kolmogorov complexity, besides being a foundation to randomness, is also
related to classification. Another approach to classification is also
considered: the so-called "Google classification". It uses another original and
attractive idea which is connected to the classification using compression and
to Kolmogorov complexity from a conceptual point of view. We present and unify
these different approaches to classification in terms of Bottom-Up versus
Top-Down operational modes, of which we point the fundamental principles and
the underlying duality. We look at the way these two dual modes are used in
different approaches to information system, particularly the relational model
for database introduced by Codd in the 70's. This allows to point out diverse
forms of a fundamental duality. These operational modes are also reinterpreted
in the context of the comprehension schema of axiomatic set theory ZF. This
leads us to develop how Kolmogorov's complexity is linked to intensionality,
abstraction, classification and information system.Comment: 43 page
A multi-set extended relational algebra: a formal approach to a practical issue
The relational data model is based on sets of tuples, i.e. it does not allow duplicate tuples an a relation. Many database languages and systems do require multi-set semantics though, either because of functional requirements or because of the high costs of duplicate removal in database operations. Several proposals have been presented that discuss multi-set semantics. As these proposals tend to be either rather practical, lacking the formal background, or rather formal, lacking the connection to database practice, the gap between theory and practice has not been spanned yet. This paper proposes a complete extended relational algebra with multi-set semantics, having a clear formal background and a close connection to the standard relational algebra. It includes constructs that extend the algebra to a complete sequential database manipulation language that can either be used as a formal background to other multi-set languages like SQL, or as a database manipulation language on its own. The practical usability of the latter option has been demonstrated in the PRISMA/DB database project, where a variant of the language has been used as the primary database languag
- …