48 research outputs found
Intensional and Extensional Semantics of Bounded and Unbounded Nondeterminism
We give extensional and intensional characterizations of nondeterministic
functional programs: as structure preserving functions between biorders, and as
nondeterministic sequential algorithms on ordered concrete data structures
which compute them. A fundamental result establishes that the extensional and
intensional representations of non-deterministic programs are equivalent, by
showing how to construct a unique sequential algorithm which computes a given
monotone and stable function, and describing the conditions on sequential
algorithms which correspond to continuity with respect to each order.
We illustrate by defining may and must-testing denotational semantics for a
sequential functional language with bounded and unbounded choice operators. We
prove that these are computationally adequate, despite the non-continuity of
the must-testing semantics of unbounded nondeterminism. In the bounded case, we
prove that our continuous models are fully abstract with respect to may and
must-testing by identifying a simple universal type, which may also form the
basis for models of the untyped lambda-calculus. In the unbounded case we
observe that our model contains computable functions which are not denoted by
terms, by identifying a further "weak continuity" property of the definable
elements, and use this to establish that it is not fully abstract
Decalf: A Directed, Effectful Cost-Aware Logical Framework
We present , a irected, ffectful ost-ware ogical ramework for studying
quantitative aspects of functional programs with effects. Like ,
the language is based on a formal phase distinction between the extension and
the intension of a program, its pure behavior as distinct from its cost
measured by an effectful step-counting primitive. The type theory ensures that
the behavior is unaffected by the cost accounting. Unlike , the
present language takes account of effects, such as probabilistic choice and
mutable state; this extension requires a reformulation of 's
approach to cost accounting: rather than rely on a "separable" notion of cost,
here a cost bound is simply another program. To make this formal, we equip
every type with an intrinsic preorder, relaxing the precise cost accounting
intrinsic to a program to a looser but nevertheless informative estimate. For
example, the cost bound of a probabilistic program is itself a probabilistic
program that specifies the distribution of costs. This approach serves as a
streamlined alternative to the standard method of isolating a recurrence that
bounds the cost in a manner that readily extends to higher-order, effectful
programs.
The development proceeds by first introducing the type system,
which is based on an intrinsic ordering among terms that restricts in the
extensional phase to extensional equality, but in the intensional phase
reflects an approximation of the cost of a program of interest. This
formulation is then applied to a number of illustrative examples, including
pure and effectful sorting algorithms, simple probabilistic programs, and
higher-order functions. Finally, we justify via a model in the
topos of augmented simplicial sets
Retracing some paths in categorical semantics: From process-propositions-as-types to categorified reals and computers
The logical parallelism of propositional connectives and type constructors
extends beyond the static realm of predicates, to the dynamic realm of
processes. Understanding the logical parallelism of process propositions and
dynamic types was one of the central problems of the semantics of computation,
albeit not always clear or explicit. It sprung into clarity through the early
work of Samson Abramsky, where the central ideas of denotational semantics and
process calculus were brought together and analyzed by categorical tools, e.g.
in the structure of interaction categories. While some logical structures borne
of dynamics of computation immediately started to emerge, others had to wait,
be it because the underlying logical principles (mainly those arising from
coinduction) were not yet sufficiently well-understood, or simply because the
research community was more interested in other semantical tasks. Looking back,
it seems that the process logic uncovered by those early semantical efforts
might still be starting to emerge and that the vast field of results that have
been obtained in the meantime might be a valley on a tip of an iceberg.
In the present paper, I try to provide a logical overview of the gamut of
interaction categories and to distinguish those that model computation from
those that capture processes in general. The main coinductive constructions
turn out to be of this latter kind, as illustrated towards the end of the paper
by a compact category of all real numbers as processes, computable and
uncomputable, with polarized bisimulations as morphisms. The addition of the
reals arises as the biproduct, real vector spaces are the enriched
bicompletions, and linear algebra arises from the enriched kan extensions. At
the final step, I sketch a structure that characterizes the computable fragment
of categorical semantics.Comment: 63 pages, 40 figures; cut two words from the title, tried to improve
(without lengthening) Sec.8; rewrote a proof in the Appendi
Evaluating Datalog via Tree Automata and Cycluits
We investigate parameterizations of both database instances and queries that
make query evaluation fixed-parameter tractable in combined complexity. We show
that clique-frontier-guarded Datalog with stratified negation (CFG-Datalog)
enjoys bilinear-time evaluation on structures of bounded treewidth for programs
of bounded rule size. Such programs capture in particular conjunctive queries
with simplicial decompositions of bounded width, guarded negation fragment
queries of bounded CQ-rank, or two-way regular path queries. Our result is
shown by translating to alternating two-way automata, whose semantics is
defined via cyclic provenance circuits (cycluits) that can be tractably
evaluated.Comment: 56 pages, 63 references. Journal version of "Combined Tractability of
Query Evaluation via Tree Automata and Cycluits (Extended Version)" at
arXiv:1612.04203. Up to the stylesheet, page/environment numbering, and
possible minor publisher-induced changes, this is the exact content of the
journal paper that will appear in Theory of Computing Systems. Update wrt
version 1: latest reviewer feedbac
Inductive Definition and Domain Theoretic Properties of Fully Abstract
A construction of fully abstract typed models for PCF and PCF^+ (i.e., PCF +
"parallel conditional function"), respectively, is presented. It is based on
general notions of sequential computational strategies and wittingly consistent
non-deterministic strategies introduced by the author in the seventies.
Although these notions of strategies are old, the definition of the fully
abstract models is new, in that it is given level-by-level in the finite type
hierarchy. To prove full abstraction and non-dcpo domain theoretic properties
of these models, a theory of computational strategies is developed. This is
also an alternative and, in a sense, an analogue to the later game strategy
semantics approaches of Abramsky, Jagadeesan, and Malacaria; Hyland and Ong;
and Nickau. In both cases of PCF and PCF^+ there are definable universal
(surjective) functionals from numerical functions to any given type,
respectively, which also makes each of these models unique up to isomorphism.
Although such models are non-omega-complete and therefore not continuous in the
traditional terminology, they are also proved to be sequentially complete (a
weakened form of omega-completeness), "naturally" continuous (with respect to
existing directed "pointwise", or "natural" lubs) and also "naturally"
omega-algebraic and "naturally" bounded complete -- appropriate generalisation
of the ordinary notions of domain theory to the case of non-dcpos.Comment: 50 page
Towards Constructive Hybrid Semantics
With hybrid systems becoming ever more pervasive, the underlying semantic challenges emerge in their entirety. The need for principled semantic foundations has been recognized previously in the case of discrete computation and discrete data, with subsequent implementations in programming languages and proof assistants. Hybrid systems, contrastingly, do not directly fit into the classical semantic paradigms due to the presence of quite specific "non-programmable" features, such as Zeno behaviour and the inherent indispensable reliance on a notion of continuous time. Here, we analyze the phenomenon of hybrid semantics from a constructive viewpoint. In doing so, we propose a monad-based semantics, generic over a given ordered monoid representing the time domain, hence abstracting from the monoid of constructive reals. We implement our construction as a higher inductive-inductive type in the recent cubical extension of the Agda proof assistant, significantly using state-of-the-art advances of homotopy type theory. We show that classically, i.e. under the axiom of choice, our construction admits a charaterization in terms of directed sequence completion
Conformance Testing with Labelled Transition Systems: Implementation Relations and Test Generation
This paper studies testing based on labelled transition systems, presenting two test generation algorithms with their corresponding implementation relations. The first algorithm assumes that implementations communicate with their environment via symmetric, synchronous interactions. It is based on the theory of testing equivalence and preorder, as is most of the testing theory for labelled transition systems, and it is found in the literature in some slightly different variations. The second algorithm is based on the assumption that implementations communicate with their environment via inputs and outputs. Such implementations are formalized by restricting the class of labelled transition systems to those systems that can always accept input actions. For these implementations a testing theory is developed, analogous to the theory of testing equivalence and preorder. It consists of implementation relations formalizing the notion of conformance of these implementations with respect to labelled transition system specifications, test cases and test suites, test execution, the notion of passing a test suite, and the test generation algorithm, which is proved to produce sound test suites for one of the implementation relations
Datalog Unchained
International audienceThis is the companion paper of a talk in the Gems of PODS series, that reviews the development, starting at PODS 1988, of a family of Datalog-like languages with procedural, forward chaining semantics, providing an alternative to the classical declarative, model-theoretic semantics. These languages also provide a unified formalism that can express important classes of queries including fixpoint, while, and all computable queries. They can also incorporate in a natural fashion updates and nondeterminism. Datalog variants with forward chaining semantics have been adopted in a variety of settings, including active databases, production systems, distributed data exchange, and data-driven reactive systems