11,316 research outputs found
A Proof Theoretic View of Constraint Programming
We provide here a proof theoretic account of constraint programming that
attempts to capture the essential ingredients of this programming style. We
exemplify it by presenting proof rules for linear constraints over interval
domains, and illustrate their use by analyzing the constraint propagation
process for the {\tt SEND + MORE = MONEY} puzzle. We also show how this
approach allows one to build new constraint solvers.Comment: 25 page
Operational Semantics of Resolution and Productivity in Horn Clause Logic
This paper presents a study of operational and type-theoretic properties of
different resolution strategies in Horn clause logic. We distinguish four
different kinds of resolution: resolution by unification (SLD-resolution),
resolution by term-matching, the recently introduced structural resolution, and
partial (or lazy) resolution. We express them all uniformly as abstract
reduction systems, which allows us to undertake a thorough comparative analysis
of their properties. To match this small-step semantics, we propose to take
Howard's System H as a type-theoretic semantic counterpart. Using System H, we
interpret Horn formulas as types, and a derivation for a given formula as the
proof term inhabiting the type given by the formula. We prove soundness of
these abstract reduction systems relative to System H, and we show completeness
of SLD-resolution and structural resolution relative to System H. We identify
conditions under which structural resolution is operationally equivalent to
SLD-resolution. We show correspondence between term-matching resolution for
Horn clause programs without existential variables and term rewriting.Comment: Journal Formal Aspect of Computing, 201
A Type-Theoretic Approach to Structural Resolution
Structural resolution (or S-resolution) is a newly proposed alternative to
SLD-resolution that allows a systematic separation of derivations into
term-matching and unification steps. Productive logic programs are those for
which term-matching reduction on any query must terminate. For productive
programs with coinductive meaning, finite term-rewriting reductions can be seen
as measures of observation in an infinite derivation. Ability of handling
corecursion in a productive way is an attractive computational feature of
S-resolution.
In this paper, we make first steps towards a better conceptual understanding
of operational properties of S-resolution as compared to SLD-resolution. To
this aim, we propose a type system for the analysis of both SLD-resolution and
S-resolution.
We formulate S-resolution and SLD-resolution as reduction systems, and show
their soundness relative to the type system. One of the central methods of this
paper is realizability transformation, which makes logic programs productive
and non-overlapping. We show that S-resolution and SLD-resolution are only
equivalent for programs with these two properties.Comment: LOPSTR 201
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
Recursive Definitions of Monadic Functions
Using standard domain-theoretic fixed-points, we present an approach for
defining recursive functions that are formulated in monadic style. The method
works both in the simple option monad and the state-exception monad of
Isabelle/HOL's imperative programming extension, which results in a convenient
definition principle for imperative programs, which were previously hard to
define.
For such monadic functions, the recursion equation can always be derived
without preconditions, even if the function is partial. The construction is
easy to automate, and convenient induction principles can be derived
automatically.Comment: In Proceedings PAR 2010, arXiv:1012.455
- …