520,170 research outputs found
Automating Deductive Verification for Weak-Memory Programs
Writing correct programs for weak memory models such as the C11 memory model
is challenging because of the weak consistency guarantees these models provide.
The first program logics for the verification of such programs have recently
been proposed, but their usage has been limited thus far to manual proofs.
Automating proofs in these logics via first-order solvers is non-trivial, due
to reasoning features such as higher-order assertions, modalities and rich
permission resources. In this paper, we provide the first implementation of a
weak memory program logic using existing deductive verification tools. We
tackle three recent program logics: Relaxed Separation Logic and two forms of
Fenced Separation Logic, and show how these can be encoded using the Viper
verification infrastructure. In doing so, we illustrate several novel encoding
techniques which could be employed for other logics. Our work is implemented,
and has been evaluated on examples from existing papers as well as the Facebook
open-source Folly library.Comment: Extended version of TACAS 2018 publicatio
Normal forms for Answer Sets Programming
Normal forms for logic programs under stable/answer set semantics are
introduced. We argue that these forms can simplify the study of program
properties, mainly consistency. The first normal form, called the {\em kernel}
of the program, is useful for studying existence and number of answer sets. A
kernel program is composed of the atoms which are undefined in the Well-founded
semantics, which are those that directly affect the existence of answer sets.
The body of rules is composed of negative literals only. Thus, the kernel form
tends to be significantly more compact than other formulations. Also, it is
possible to check consistency of kernel programs in terms of colorings of the
Extended Dependency Graph program representation which we previously developed.
The second normal form is called {\em 3-kernel.} A 3-kernel program is composed
of the atoms which are undefined in the Well-founded semantics. Rules in
3-kernel programs have at most two conditions, and each rule either belongs to
a cycle, or defines a connection between cycles. 3-kernel programs may have
positive conditions. The 3-kernel normal form is very useful for the static
analysis of program consistency, i.e., the syntactic characterization of
existence of answer sets. This result can be obtained thanks to a novel
graph-like representation of programs, called Cycle Graph which presented in
the companion article \cite{Cos04b}.Comment: 15 pages, To appear in Theory and Practice of Logic Programming
(TPLP
Typed Norms for Typed Logic Programs
As typed logic programming becomes more mainstream, system building tools like partial deduction systems will need to be mapped from untyped languages to typed ones. It is important, however, when mapping techniques across that the new techniques should exploit the type system as much as possible. in this paper, we show how norms which play a crucial role in termination analysis, can be generated from the prescribed types of a logic program. Interestingly, the types highlight restrictions of earlier norms and suggest how these norms can be extended to obtain some very general and powerful notions of norm which can be used to measure any term in an almost arbitrary way. We see our work on norm derivation as a contribution to the termination analysis of typed logic programs which, in particular, forms an essential part of offline partial deduction systems
Logic-Based Analogical Reasoning and Learning
Analogy-making is at the core of human intelligence and creativity with
applications to such diverse tasks as commonsense reasoning, learning, language
acquisition, and story telling. This paper contributes to the foundations of
artificial general intelligence by developing an abstract algebraic framework
for logic-based analogical reasoning and learning in the setting of logic
programming. The main idea is to define analogy in terms of modularity and to
derive abstract forms of concrete programs from a `known' source domain which
can then be instantiated in an `unknown' target domain to obtain analogous
programs. To this end, we introduce algebraic operations for syntactic program
composition and concatenation and illustrate, by giving numerous examples, that
programs have nice decompositions. Moreover, we show how composition gives rise
to a qualitative notion of syntactic program similarity. We then argue that
reasoning and learning by analogy is the task of solving analogical proportions
between logic programs. Interestingly, our work suggests a close relationship
between modularity, generalization, and analogy which we believe should be
explored further in the future. In a broader sense, this paper is a first step
towards an algebraic and mainly syntactic theory of logic-based analogical
reasoning and learning in knowledge representation and reasoning systems, with
potential applications to fundamental AI-problems like commonsense reasoning
and computational learning and creativity
First steps in synthetic guarded domain theory: step-indexing in the topos of trees
We present the topos S of trees as a model of guarded recursion. We study the
internal dependently-typed higher-order logic of S and show that S models two
modal operators, on predicates and types, which serve as guards in recursive
definitions of terms, predicates, and types. In particular, we show how to
solve recursive type equations involving dependent types. We propose that the
internal logic of S provides the right setting for the synthetic construction
of abstract versions of step-indexed models of programming languages and
program logics. As an example, we show how to construct a model of a
programming language with higher-order store and recursive types entirely
inside the internal logic of S. Moreover, we give an axiomatic categorical
treatment of models of synthetic guarded domain theory and prove that, for any
complete Heyting algebra A with a well-founded basis, the topos of sheaves over
A forms a model of synthetic guarded domain theory, generalizing the results
for S
Proving termination of logic programs with delay declarations
In this paper we propose a method for proving termination of logic programs with delay declarations. The method is based on the notion of recurrent logic program, which is used to prove programs terminating wrt an arbitrary selection rule. Most importantly, we use the notion of bound query (as proposed by M. Bezem) in the definition of cover, a new notion which forms the kernel of our approach. We introduce the class of delay recurrent programs and prove that programs in this class terminate for all local delay selection rules, provided that the delay conditions imply boundedness. The corresponding method can be also used to transform a logic program into a terminating logic program with delay declarations
Leading Through Logic Modeling: Capturing the Complexity
Logic modeling supports project and program development and implementation through specific design, planning, communication, evaluation and learning considerations and are typically used for the purposes of explanation, resolutions and assessment. Logic modeling was used in one teacher training program in the U.S. experiencing substantial leadership change. Leading change requires the facets of both leadership and management. This paper will discuss leading change through strategic management; logic modeling as a way of supporting program development and evaluation; share two forms of logic modeling (Theory of Change and Program) used to put into focus one teacher preparation program; discuss the methodology used in the development of both models employing participation from impacted stakeholders; and share the results as it relates to the logic models developed, how they are currently being used to communicate with stakeholders, and how the models will be used in program evaluation. Finally, the impact of this process will be discussed for future educator preparation programs as they navigate current challenges in pre-service educator preparation, program development, and evaluation
- …